// file: $isip/class/mmedia/FeatureSelect/feats_01.cc
// version: $Id: feats_01.cc 9403 2004-02-23 23:35:46Z parihar $
//

// isip include files
//
#include "FeatureSelect.h"
#include <Console.h>

// method: debug
//
// arguments:
//  const unichar* msg: (input) message to print
//
// return: a boolean value indicating status
//
boolean FeatureSelect::debug(const unichar* msg_a) const {

  // declare local variables
  //
  String output;

  // output an information message
  //
  output.debugStr(name(), msg_a, L":");
  Console::put(output);
  Console::increaseIndention();

  // display the algorithm choice
  //
  output.debugStr(name(), msg_a, L"algorithm_d",
		  ALGO_MAP((long)algorithm_d));
  Console::put(output);

  // display the implementation name
  //
  output.debugStr(name(), msg_a, L"implementation_d",
                  IMPL_MAP.getName((long)implementation_d));
  Console::put(output);

  // display the variables relating to input
  //  
  String value;
  value.assign(dim_d);
  output.debugStr(name(), msg_a, L"dim_d", value);
  Console::put(output);

  value.assign(FeatureFile::FILE_TYPE_MAP.getName(input_type_d));
  output.debugStr(name(), msg_a, L"input_type", value);
  Console::put(output);
  
  value.assign(FeatureFile::FILE_FORMAT_MAP.getName(input_format_d));
  output.debugStr(name(), msg_a, L"input_format", value);
  Console::put(output);
  
  // display the variables relating to output
  //
  value.assign(FeatureFile::FILE_TYPE_MAP.getName(output_type_d));
  output.debugStr(name(), msg_a, L"output_type", value);
  Console::put(output);
  
  value.assign(FeatureFile::FILE_FORMAT_MAP.getName(output_format_d));
  output.debugStr(name(), msg_a, L"output_format", value);
  Console::put(output);
  
  value.assign(output_directory_d);
  output.debugStr(name(), msg_a, L"output_directory", value);
  Console::put(output);
  
  value.assign(output_extension_d);
  output.debugStr(name(), msg_a, L"output_extension", value);
  Console::put(output);
  
  value.assign(output_preserve_d);
  output.debugStr(name(), msg_a, L"output_preserve", value);
  Console::put(output);
  
  value.assign(output_suffix_d);
  output.debugStr(name(), msg_a, L"output_suffix", value);
  Console::put(output);
  
  value.assign(audiodb_file_d);
  output.debugStr(name(), msg_a, L"audiodb_file_d", value);
  Console::put(output);

  audiodb_d.debug(L"audiodb_d");
  ratio_class_d.debug(L"ratio_class_d");
  ratio_similar_d.debug(L"ratio_similar_d");
  
  // decrease indention
  //
  Console::decreaseIndention();

  // exit gracefully
  //
  return true;
}
