r3835: *** empty log message ***
[wdq2wav.git] / wdq2wav.h
index e4d261ff51124798d1472fe657104bf056073e65..e2e11f3e192a50dda9287bdfa71238b0c485026b 100644 (file)
--- a/wdq2wav.h
+++ b/wdq2wav.h
@@ -8,7 +8,7 @@
 **
 **  Copyright (c) 2003 Kevin Rosenberg
 **
-**  $Id: wdq2wav.h,v 1.5 2003/01/21 07:37:13 kevin Exp $
+**  $Id: wdq2wav.h,v 1.9 2003/01/21 13:06:17 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 <ctime>
 #include <fcntl.h>
 #include <unistd.h>
-#include <getopt.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+
+#ifdef LINUX
+#include <endian.h>
+#if __BYTE_ORDER == __BIG_ENDIAN
+#define WORDS_BIG_ENDIAN 1
+#endif
+#endif
+
+extern const char* g_szIdStr;
+extern bool g_quiet;
+extern bool g_verbose;
+extern bool g_debug;
+
+#define MAX_INPUT_STR 256
+
+void error_msg (const char *msg);
+void info_msg (const char *msg);
+void info_msg_sans_newline (const char *msg);
+
+bool wdq2wav (const char* wdq_fname, const int channel, const char *wav_fname, bool play);
 
 class WindaqFile
 {
@@ -49,10 +70,10 @@ public:
   unsigned int m_nSamples;
   double m_sample_rate;
   unsigned int m_sr_denom, m_sr_numer;
-  unsigned int m_nHeader_bytes, m_channel_offset, m_nBytes_channel_header;
+  unsigned short int m_nHeader_bytes, m_channel_offset, m_nBytes_channel_header;
   unsigned int m_nData_bytes;
-  unsigned long int m_time_acq_start;
-  unsigned long int m_time_acq_stop;
+  unsigned int m_time_acq_start;
+  unsigned int m_time_acq_stop;
 };
 
 class WindaqChannel 
@@ -90,9 +111,17 @@ class WavFile
   unsigned int m_nBitsPerSample;
   unsigned int m_nBytesPerSample;
   signed short int* m_data;
+  unsigned long int m_nHeaderBytes;
+  unsigned long int m_nDataBytes;
+  unsigned long int m_nFileBytes;
 
   WavFile (WindaqChannel& wdq_channel, const char* fname);
   ~WavFile ();
 
   bool WriteFile ();
+
+  bool Play();
+  
+ private:
+  bool fill_header();
 };