r4226: *** empty log message ***
[wdq2wav.git] / wdq2wav.cpp
index 510294b9d48406d6ee0f14ba5e8e8c28ef72de9f..87ab17783014e1954b5d84499abf34099d677f25 100644 (file)
@@ -8,7 +8,7 @@
 **
 **  Copyright (c) 2003 Kevin Rosenberg
 **
-**  $Id: wdq2wav.cpp,v 1.25 2003/02/25 18:24:48 kevin Exp $
+**  $Id: wdq2wav.cpp,v 1.27 2003/03/03 21:52:09 kevin Exp $
 **
 **  This program is free software; you can redistribute it and/or modify
 **  it under the terms of the GNU General Public License (version 2) as
 
 #include <wdq2wav.h>
 
-const char* g_szIdStr = "$Id: wdq2wav.cpp,v 1.25 2003/02/25 18:24:48 kevin Exp $";
+const char* g_szIdStr = "$Id: wdq2wav.cpp,v 1.27 2003/03/03 21:52:09 kevin Exp $";
 
 bool g_quiet = false;
 bool g_verbose = false;
 bool g_debug = false;
 bool g_ignore_zero = false;
-bool g_demean = false;
+bool g_dont_demean = false;
 
 
 #ifdef WIN32
@@ -111,8 +111,8 @@ usage (const char* progname)
   std::cout << "OPTIONS\n";
   std::cout << "  -p   Play channel through audio system\n";
   std::cout << "  -q   Supress all messages\n";
-  std::cout << "  -z   Scale output without regard for windaq zero point\n";
-  std::cout << "  -m   Demean the data (subtract the mean value from each sample)\n";
+  std::cout << "  -z   Scale output without preserving zero point\n";
+  std::cout << "  -m   Do not demean the data (don't subtract the mean value from each sample)\n";
   std::cout << "  -v   Verbose mode\n";
   std::cout << "  -d   Debug mode\n";
   std::cout << "  -r   Print program version\n";
@@ -137,7 +137,10 @@ main (int argc, char *argv[])
       g_quiet = true;
       break;
     case 'm':
-      g_demean = true;
+      g_dont_demean = true;
+      break;
+    case 'z':
+      g_ignore_zero = true;
       break;
     case 'v':
       g_verbose = true;
@@ -148,9 +151,6 @@ main (int argc, char *argv[])
     case 'p':
       play = true;
       break;
-    case 'z':
-      g_ignore_zero = true;
-      break;
     case 'h':
       usage (progname);
       return (0);
@@ -508,7 +508,7 @@ WindaqChannel::read_channel_data ()
   m_max_scaled_data = (m_slope * data_max) + m_intercept;
   m_min_scaled_data = (m_slope * data_min) + m_intercept;
 
-  if (g_demean) {
+  if (! g_dont_demean) {
     double dmean = total_data / static_cast<double>(r_wdq.m_nSamples);
     int mean = nearest<int>(dmean);
     std::cout << "Removing mean: " << (dmean * m_slope) + m_intercept <<
@@ -575,8 +575,9 @@ WavFile::WavFile (WindaqChannel& wdq_channel, const char* fname)
       if (g_ignore_zero) {
        value = (value + data_offset) * data_scale;
        value += 0.5 - 32768;
-      } else
+      } else {
        value = value * data_scale;
+      }
       
       signed short int v = static_cast<signed short int>(value);
 #if WORDS_BIG_ENDIAN