r8652: identify packed files
[wdq2wav.git] / wdq2wav.h
index 79201361dfa04cc8f7efad8c5d881b98341e41fd..aa7c43ae1be9bf5c4b904c2b6e2372036fdd0d56 100644 (file)
--- a/wdq2wav.h
+++ b/wdq2wav.h
@@ -8,7 +8,7 @@
 **
 **  Copyright (c) 2003 Kevin Rosenberg
 **
-**  $Id: wdq2wav.h,v 1.14 2003/02/25 18:15:52 kevin Exp $
+**  $Id$
 **
 **  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
@@ -32,6 +32,7 @@
 #include <sstream>
 #include <ctime>
 #include <fcntl.h>
+#include <math.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #ifdef WIN32
@@ -71,6 +72,9 @@ public:
   bool m_valid;
   std::string m_error;
   int m_fd;
+  bool m_bLegacy_format;
+  bool m_bHires;
+  int m_nMaxChannels;
   int m_nChannels;
   unsigned long int m_nSamples;
   double m_sample_rate;
@@ -80,6 +84,10 @@ public:
   unsigned int m_nData_bytes;
   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 
@@ -132,6 +140,7 @@ class WavFile
   bool fill_header();
 };
 
+template<class T>
 inline T nearest (double x)
 {
   return (x > 0 ?