Add Debian source format file
[wdq2wav.git] / wdq2wav.h
index 688ddc68e269c428965d9d517d80fb479ee01534..fceee293df2b9819095020e7dad1be57d33971c5 100644 (file)
--- a/wdq2wav.h
+++ b/wdq2wav.h
 #include <math.h>
 #include <sys/types.h>
 #include <sys/stat.h>
-#ifdef WIN32
+#ifdef _WIN32
 #include <io.h>
 #include <getopt.h>
 #else
 #include <unistd.h>
 #endif
 
-#ifdef LINUX
+#ifdef __linux__
 #include <endian.h>
 #if __BYTE_ORDER == __BIG_ENDIAN
 #define WORDS_BIG_ENDIAN 1
@@ -72,7 +72,8 @@ public:
   bool m_valid;
   std::string m_error;
   int m_fd;
-  int m_format;
+  bool m_bLegacy_format;
+  bool m_bHires;
   int m_nMaxChannels;
   int m_nChannels;
   unsigned long int m_nSamples;
@@ -84,9 +85,12 @@ public:
   unsigned int m_time_acq_start;
   unsigned int m_time_acq_stop;
   double m_time_between_channel_samples;
+
+  bool any_packed_channels();
+  bool is_channel_packed(int iChannel);
 };
 
-class WindaqChannel 
+class WindaqChannel
 {
 public:
   WindaqFile& r_wdq;
@@ -100,16 +104,18 @@ public:
   signed short int m_max_raw_data;
   double m_max_scaled_data;
   double m_min_scaled_data;
+  double m_raw_mean;
 
   WindaqChannel (WindaqFile& wdq, const int channel);
   ~WindaqChannel ();
+  double raw2measured(signed short int raw) const { return (raw * m_slope) + m_intercept; }
 
  private:
   bool read_channel_data();
 };
 
 
-class WavFile 
+class WavFile
 {
  public:
   bool m_valid;
@@ -131,7 +137,7 @@ class WavFile
   bool WriteFile ();
 
   bool Play();
-  
+
  private:
   bool fill_header();
 };
@@ -140,5 +146,5 @@ template<class T>
 inline T nearest (double x)
 {
   return (x > 0 ?
-         static_cast<T>(x+0.5) : static_cast<T>(x-0.5));
+          static_cast<T>(x+0.5) : static_cast<T>(x-0.5));
 }