**
** Copyright (c) 2003 Kevin Rosenberg
**
-** $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
** published by the Free Software Foundation.
** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
******************************************************************************/
+#include <stdlib.h>
#include <wdq2wav.h>
const char* g_szIdStr = "$Id$";
bool read_float8 (int fd, double& f)
{
- unsigned char buf[8];
- if (read (fd, &buf, 8) != 8)
+ unsigned char p[8];
+ if (read (fd, p, 8) != 8)
return false;
#if WORDS_BIG_ENDIAN
unsigned char c;
- c = buf[0]; buf[0] = buf[7]; buf[7] = c;
- c = buf[1]; buf[1] = buf[6]; buf[6] = c;
- c = buf[2]; buf[2] = buf[5]; buf[5] = c;
- c = buf[3]; buf[3] = buf[4]; buf[4] = c;
+ c = p[0]; p[0] = p[7]; p[7] = c;
+ c = p[1]; p[1] = p[6]; p[6] = c;
+ c = p[2]; p[2] = p[5]; p[5] = c;
+ c = p[3]; p[3] = p[4]; p[4] = c;
#endif
- f = *(reinterpret_cast<double*>(buf));
+ double *pd = reinterpret_cast<double*>(&p[0]);
+ f = *pd;
return true;
}
if (m_bLegacy_format)
m_sample_rate = (double) m_sr_numer / (double) (m_sr_denom * m_nChannels);
else
- m_sample_rate = (double) m_nChannels / m_time_between_channel_samples;
+ m_sample_rate = (double) 1 / m_time_between_channel_samples;
lseek (m_fd, 36, SEEK_SET);
if (! read_int4 (m_fd, m_time_acq_start))
return true;
}
-#ifdef WIN32
+#ifdef _WIN32
#include <windows.h>
#include <mmsystem.h>
-#elif defined(LINUX)
+#elif defined(__linux__)
#include <sys/ioctl.h>
#include <sys/soundcard.h>
#endif
bool
WavFile::Play ()
{
-#ifdef WIN32
+#ifdef _WIN32
if (PlaySound ((LPCSTR) m_data, 0, SND_MEMORY | SND_NODEFAULT))
return true;
-#elif defined(LINUX)
+#elif defined(__linux__)
int fd;
if ((fd = open ("/dev/dsp",O_WRONLY)) == -1) {
error_msg ("Error opening /dev/dsp");