projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rnd-20001130-1-src
[rocksndiamonds.git]
/
src
/
sound.h
diff --git
a/src/sound.h
b/src/sound.h
index ca97ff0a39f735a7cccb6ce700b8ee949cb20f71..16fe71de0a131a36018842ece036583355d5d0f0 100644
(file)
--- a/
src/sound.h
+++ b/
src/sound.h
@@
-14,39
+14,37
@@
#ifndef SOUND_H
#define SOUND_H
#ifndef SOUND_H
#define SOUND_H
-#include <math.h>
-#include "main.h"
-
-#ifdef linux
-#include <linux/soundcard.h>
-#ifndef VOXWARE
-#define VOXWARE
-#endif
-/* where is the right declaration for 'ioctl'? */
-extern void ioctl(long, long, void *);
-#endif
+#include "platform.h"
-#ifdef __FreeBSD__
-#include <machine/soundcard.h>
-#endif
+#include <sys/ioctl.h>
+#include <math.h>
#define SND_BLOCKSIZE 4096
#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
#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
ndef MSDOS
+#if
!defined(PLATFORM_MSDOS)
#define MAX_SOUNDS_PLAYING 16
#else
#define MAX_SOUNDS_PLAYING 8
#endif
/* some values for PlaySound(), StopSound() and friends */
#define MAX_SOUNDS_PLAYING 16
#else
#define MAX_SOUNDS_PLAYING 8
#endif
/* some values for PlaySound(), StopSound() and friends */
-#if
ndef MSDOS
+#if
!defined(PLATFORM_MSDOS)
#define PSND_SILENCE 0
#define PSND_MAX_VOLUME_BITS 7
#define PSND_MIN_VOLUME 0
#define PSND_SILENCE 0
#define PSND_MAX_VOLUME_BITS 7
#define PSND_MIN_VOLUME 0
@@
-84,22
+82,14
@@
extern void ioctl(long, long, void *);
#define SND_PATH "./sounds"
#endif
#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"
-#if
def NO_SOUNDS
-#define
SOUND_STATUS SOUND_OFF
+#if
defined(AUDIO_STREAMING_DSP)
+#define
AUDIO_DEVICE DEVICENAME_DSP
#else
#else
-#define
SOUND_STATUS SOUND_AVAILABLE
+#define
AUDIO_DEVICE DEVICENAME_AUDIO
#endif
struct SoundHeader_SUN
#endif
struct SoundHeader_SUN
@@
-119,25
+109,19
@@
struct SoundHeader_8SVX
char magic_8SVX[4];
};
char magic_8SVX[4];
};
-struct SoundHeader_WAV
-{
- char magic_RIFF[4];
- unsigned long header_size;
- char magic_WAVE[4];
- char some_stuff[24];
- char magic_DATA[4];
- unsigned long data_size;
-};
-
-struct SoundInfo
+struct SampleInfo
{
char *name;
{
char *name;
- byte *file_ptr;
byte *data_ptr;
byte *data_ptr;
- long file_len, data_len;
-#ifdef MSDOS
+ long data_len;
+
+#if defined(PLATFORM_MSDOS)
SAMPLE *sample_ptr;
#endif
SAMPLE *sample_ptr;
#endif
+
+#if defined(TARGET_SDL)
+ Mix_Chunk *mix_chunk;
+#endif
};
struct SoundControl
};
struct SoundControl
@@
-154,16
+138,21
@@
struct SoundControl
long playingpos;
long data_len;
byte *data_ptr;
long playingpos;
long data_len;
byte *data_ptr;
-#ifdef MSDOS
+
+#if defined(PLATFORM_MSDOS)
int voice;
#endif
};
int voice;
#endif
};
-/* start sound server */
+/* general sound functions */
+void UnixOpenAudio(struct AudioSystemInfo *);
+void UnixCloseAudio(struct AudioSystemInfo *);
+
+/* sound server functions */
void SoundServer(void);
void SoundServer(void);
-/* client functions */
-boolean LoadSound(struct S
ound
Info *);
+/*
sound
client functions */
+boolean LoadSound(struct S
ample
Info *);
void PlaySound(int);
void PlaySoundStereo(int, int);
void PlaySoundLoop(int);
void PlaySound(int);
void PlaySoundStereo(int, int);
void PlaySoundLoop(int);