// file: $isip/class/sp/AudioFrontEnd/afnd_01.cc
// version: $Id: afnd_01.cc 8523 2002-08-05 21:54:40Z gao $
//

// isip include files
//
#include <Console.h>
#include <FrontEndBase.h>
#include "AudioFrontEnd.h"
 
// method: debug
//
// arguments:
//  const unichar* msg: (input) message to print
//
// return: a boolean value indicating status
//
boolean AudioFrontEnd::debug(const unichar* msg_a) const {

  // declare local variables
  //
  String output;
  String value;
  String algo_type;
  String empty_str;

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

  buf_d.debug(L"buf_d");
  
  value.assign(FrontEndBase::DATA_TYPE_MAP.getName(input_data_type_d));
  output.debugStr(name(), msg_a, L"input_data_type", value);
  Console::put(output);

  value.assign(AlgorithmBase::DMODE_MAP.getName(data_mode_d));
  output.debugStr(name(), msg_a, L"data_mode_d", value);
  Console::put(output);

  audio_input_d.debug(L"audio_input_d");
  feature_input_d.debug(L"feature_input_d");
  component_list_d.debug(L"component_list_d");
  recipe_d.debug(L"recipe_d");
  coef_components_d.debug(L"recipe_d");  
  coef_name_d.debug(L"coef_name_d");

  value.assign(start_time_d);
  output.debugStr(name(), msg_a, L"start_time_d", value);
  Console::put(output);

  value.assign(end_time_d);
  output.debugStr(name(), msg_a, L"end_time_d", value);
  Console::put(output);

  value.assign(context_window_d);
  output.debugStr(name(), msg_a, L"context_window_d", value);
  Console::put(output);

  value.assign(partial_process_d);
  output.debugStr(name(), msg_a, L"partial_process_d", value);
  Console::put(output);

  value.assign((long)channel_index_d);
  output.debugStr(name(), msg_a, L"channel_index_d", value);
  Console::put(output);
  
  value.assign((float)frame_duration_d);
  output.debugStr(name(), msg_a, L"frame_duration_d", value);
  Console::put(output);

  value.assign((float)sample_frequency_d);
  output.debugStr(name(), msg_a, L"sample_frequency_d", value);
  Console::put(output);

  value.assign((float)signal_duration_d);
  output.debugStr(name(), msg_a, L"signal_duration_d", value);
  Console::put(output);

  value.assign((float)number_of_features_d);
  output.debugStr(name(), msg_a, L"number_of_features_d", value);
  Console::put(output);
  
  value.assign((long)num_channels_d);
  output.debugStr(name(), msg_a, L"num_channels_d", value);
  Console::put(output);
  
  value.assign(input_flag_d);
  output.debugStr(name(), msg_a, L"input_flag_d", value);
  Console::put(output);

  value.assign(id_d);
  output.debugStr(name(), msg_a, L"id_d", value);
  Console::put(output);

  // debug the inherited class
  //
  FrontEndBase::debug(msg_a);

  // decrease indention
  //
  Console::decreaseIndention();

  // exit gracefully
  //
  return true;
}






