X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=wdq2wav.h;h=6d37b206fd478d3c3498e92d076c7e6de81b77c4;hb=c96e924d9aaa24d68c93f3e6a4d85bed88a08df1;hp=1b36d5016cdd6b417fa511d5a54d62d0d6a9d7e3;hpb=390c94da79af45e21594c432e835a8b37044eed5;p=wdq2wav.git diff --git a/wdq2wav.h b/wdq2wav.h index 1b36d50..6d37b20 100644 --- a/wdq2wav.h +++ b/wdq2wav.h @@ -8,7 +8,7 @@ ** ** Copyright (c) 2003 Kevin Rosenberg ** -** $Id: wdq2wav.h,v 1.10 2003/02/12 07:24:32 kevin Exp $ +** $Id: wdq2wav.h,v 1.16 2003/02/28 04:21:15 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 @@ -32,6 +32,7 @@ #include #include #include +#include #include #include #ifdef WIN32 @@ -68,13 +69,13 @@ public: ~WindaqFile (); bool ReadHeader(); - std::string m_strFile; bool m_valid; std::string m_error; int m_fd; int m_nChannels; - unsigned int m_nSamples; + unsigned long int m_nSamples; double m_sample_rate; + std::string m_strFile; unsigned int m_sr_denom, m_sr_numer; unsigned short int m_nHeader_bytes, m_channel_offset, m_nBytes_channel_header; unsigned int m_nData_bytes; @@ -85,13 +86,13 @@ public: class WindaqChannel { public: - bool m_valid; - unsigned int m_channel; - std::string m_units; + WindaqFile& r_wdq; + signed short int *m_data; double m_slope; double m_intercept; - signed short int *m_data; - WindaqFile& r_wdq; + unsigned int m_channel; + bool m_valid; + std::string m_units; signed short int m_min_raw_data; signed short int m_max_raw_data; double m_max_scaled_data; @@ -108,18 +109,18 @@ public: class WavFile { public: - std::string m_strFile; - int m_fd; bool m_valid; + signed short int* m_data; unsigned long int m_nSamples; + std::string m_strFile; + int m_fd; double m_rate; unsigned int m_nChannels; 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; + long int m_nDataBytes; + long int m_nFileBytes; WavFile (WindaqChannel& wdq_channel, const char* fname); ~WavFile (); @@ -131,3 +132,10 @@ class WavFile private: bool fill_header(); }; + +template +inline T nearest (double x) +{ + return (x > 0 ? + static_cast(x+0.5) : static_cast(x-0.5)); +}