// file: $isip_ifc/class/sp/SignalDetector/sigd_01.cc
// version: $Id: sigd_01.cc 10210 2005-08-12 20:24:51Z stanley $
//

// isip include files
//
#include "SignalDetector.h"

// method: debug
//
// arguments:
//  const unichar* msg: (input) message to print
//
// return: a boolean value indicating status
//
boolean SignalDetector::debug(const unichar* msg_a) const {
  
  
  // declare local variables
  //
  String output;
  String value;
  String empty_str;
  
  // output an information message
  //
  output.debugStr(name(), msg_a, L":");
  Console::put(output);
  Console::increaseIndention();
  
  // print the number of channels info
  //
  value.assign(num_channels_d);
  output.debugStr(name(), msg_a, L"num_channels_d", value);
  Console::put(output);
  
  // print the sampling frequency
  //
  value.assign(sample_frequency_d);
  output.debugStr(name(), msg_a, L"sample_frequency_d", value);
  Console::put(output);
  
  // print the number of bytes info
  //
  value.assign(sample_num_bytes_d);
  output.debugStr(name(), msg_a, L"sample_num_bytes_d", value);
  Console::put(output);
  
  // print the number of the channel to be processed
  //
  value.assign(channel_to_be_processed_d);
  output.debugStr(name(), msg_a, L"channel_to_be_processed_d", value);
  Console::put(output);
  
  // print the frame duration
  //
  value.assign(frame_duration_d);
  output.debugStr(name(), msg_a, L"frame_duration_d", value);
  Console::put(output);
  
  // print the window duration
  //
  value.assign(window_duration_d);
  output.debugStr(name(), msg_a, L"widow_duration_d", value);
  Console::put(output);
  
  // print the number of frames processed per channel
  //
  output.debugStr(name(), msg_a, L"num_frame_d");
  Console::put(output);
  num_frame_d.debug(msg_a);
  
  // print the energy buffer
  //
  output.debugStr(name(), msg_a, L"energy buffer");
  Console::put(output);
  egy_d.debug(msg_a);
  
  if (algorithm_d == ENERGY_ZC) {
    
    // print the zero crossing buffer
    //
    output.debugStr(name(), msg_a, L"zerocrossing buffer");
    Console::put(output);
    zc_d.debug(msg_a);
  }
  
  // decrease indention
  //
  Console::decreaseIndention();
  
  // exit gracefully
  //
  return true;
}
