rnd-20001130-1-src
[rocksndiamonds.git] / src / sound.h
index 811a7bb9c9ee620c99786eb56dbd8c0990de3b8e..16fe71de0a131a36018842ece036583355d5d0f0 100644 (file)
 #ifndef SOUND_H
 #define SOUND_H
 
-#include <math.h>
-#include "main.h"
-
-#ifdef linux
-#include <linux/soundcard.h>
-#ifndef VOXWARE
-#define VOXWARE
-#endif
+#include "platform.h"
 
-#if 0
-/* where is the right declaration for 'ioctl'? */
-extern void ioctl(long, long, void *);
-#else
 #include <sys/ioctl.h>
-#endif
-
-#endif
-
-#ifdef __FreeBSD__
-#include <machine/soundcard.h>
-#endif
+#include <math.h>
 
 #define SND_BLOCKSIZE 4096
 
-#ifdef _HPUX_SOURCE
+#if defined(PLATFORM_LINUX)
+#include <linux/soundcard.h>
+#elif defined(PLATFORM_FREEBSD)
+#include <machine/soundcard.h>
+#elif defined(PLATFORM_HPUX)
 #include <sys/audio.h>
 #undef  SND_BLOCKSIZE
 #define SND_BLOCKSIZE 32768
-#define HPUX_AUDIO
-#endif /* _HPUX_SOURCE */
+#endif
+
+#include "main.h"
+
+#if defined(PLATFORM_LINUX) || defined(PLATFORM_FREEBSD) || defined(VOXWARE)
+#define AUDIO_STREAMING_DSP
+#endif
 
 #if !defined(PLATFORM_MSDOS)
 #define MAX_SOUNDS_PLAYING     16
@@ -90,22 +82,14 @@ extern void ioctl(long, long, void *);
 #define SND_PATH       "./sounds"
 #endif
 
-#define DEV_AUDIO      "/dev/audio"
-#define DEV_DSP                "/dev/dsp"
-
-#ifdef VOXWARE
-#define SOUND_DEVICE           DEV_DSP
-#else
-#define SOUND_DEVICE   DEV_AUDIO
-#endif
-
-#define SOUND_OFF      0
-#define        SOUND_AVAILABLE 1
+#define DEVICENAME_DSP         "/dev/dsp"
+#define DEVICENAME_AUDIO       "/dev/audio"
+#define DEVICENAME_AUDIOCTL    "/dev/audioCtl"
 
-#ifdef NO_SOUNDS
-#define SOUND_STATUS   SOUND_OFF
+#if defined(AUDIO_STREAMING_DSP)
+#define AUDIO_DEVICE           DEVICENAME_DSP
 #else
-#define SOUND_STATUS   SOUND_AVAILABLE
+#define AUDIO_DEVICE   DEVICENAME_AUDIO
 #endif
 
 struct SoundHeader_SUN
@@ -161,9 +145,8 @@ struct SoundControl
 };
 
 /* general sound functions */
-int OpenAudio(char *);
-int CheckAudio(char *);
-boolean UnixInitAudio(void);
+void UnixOpenAudio(struct AudioSystemInfo *);
+void UnixCloseAudio(struct AudioSystemInfo *);
 
 /* sound server functions */ 
 void SoundServer(void);