X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Flibgame%2Fsound.h;h=586f0fe5ff814f386b426838c6f451190abf0d20;hp=a018ec91d23e0798a3b032ade7b1395e6ad8b5b2;hb=abe44529b439ad39b4d8dbf19cbd67c9b9844279;hpb=28f0f8708f4b4f8c4f39f1b23bc5fc7e0fed7579 diff --git a/src/libgame/sound.h b/src/libgame/sound.h index a018ec91..586f0fe5 100644 --- a/src/libgame/sound.h +++ b/src/libgame/sound.h @@ -1,26 +1,20 @@ -/*********************************************************** -* Artsoft Retro-Game Library * -*----------------------------------------------------------* -* (c) 1994-2002 Artsoft Entertainment * -* Holger Schemel * -* Detmolder Strasse 189 * -* 33604 Bielefeld * -* Germany * -* e-mail: info@artsoft.org * -*----------------------------------------------------------* -* sound.h * -***********************************************************/ +// ============================================================================ +// Artsoft Retro-Game Library +// ---------------------------------------------------------------------------- +// (c) 1995-2014 by Artsoft Entertainment +// Holger Schemel +// info@artsoft.org +// http://www.artsoft.org/ +// ---------------------------------------------------------------------------- +// sound.h +// ============================================================================ #ifndef SOUND_H #define SOUND_H -#include "platform.h" +#include "system.h" -#if defined(PLATFORM_UNIX) && !defined(TARGET_SDL) -#define AUDIO_UNIX_NATIVE -#endif - #if defined(PLATFORM_LINUX) || defined(PLATFORM_FREEBSD) || defined(VOXWARE) #define AUDIO_LINUX_IOCTL #endif @@ -37,6 +31,7 @@ #define AUDIO_FRAGMENT_SIZE_1024 1024 #define AUDIO_FRAGMENT_SIZE_2048 2048 #define AUDIO_FRAGMENT_SIZE_4096 4096 +#define AUDIO_FRAGMENT_SIZE_32768 32768 #define AUDIO_NUM_CHANNELS_MONO 1 #define AUDIO_NUM_CHANNELS_STEREO 2 @@ -53,8 +48,10 @@ #define DEFAULT_AUDIO_SAMPLE_RATE AUDIO_SAMPLE_RATE_22050 #endif -#if defined(PLATFORM_WIN32) -#define DEFAULT_AUDIO_FRAGMENT_SIZE AUDIO_FRAGMENT_SIZE_2048 +#if defined(PLATFORM_HPUX) +#define DEFAULT_AUDIO_FRAGMENT_SIZE AUDIO_FRAGMENT_SIZE_32768 +#elif defined(PLATFORM_WIN32) +#define DEFAULT_AUDIO_FRAGMENT_SIZE AUDIO_FRAGMENT_SIZE_1024 #else #define DEFAULT_AUDIO_FRAGMENT_SIZE AUDIO_FRAGMENT_SIZE_512 #endif @@ -99,11 +96,13 @@ SND_CTRL_RELOAD_MUSIC)) #define ALL_SOUNDS(x) ((x).state & SND_CTRL_ALL_SOUNDS) +#define MAP_NOCONF_MUSIC(x) (-((x) + 1)) +#define UNMAP_NOCONF_MUSIC(x) MAP_NOCONF_MUSIC(x) + + #define SOUND_MIN_VOLUME 0 #if defined(TARGET_SDL) #define SOUND_MAX_VOLUME SDL_MIX_MAXVOLUME -#elif defined(TARGET_ALLEGRO) -#define SOUND_MAX_VOLUME 255 #else #define SOUND_MAX_VOLUME 128 #endif @@ -113,9 +112,6 @@ #define SOUND_MAX_LEFT2RIGHT 255 #define SOUND_MIDDLE (SOUND_MAX_LEFT2RIGHT / 2) -/* value for undefined sound effect filename */ -#define SND_FILE_UNDEFINED UNDEFINED_FILENAME - /* general sound functions */ void UnixOpenAudio(void); @@ -135,13 +131,26 @@ void PlaySoundExt(int, int, int, int); void FadeMusic(void); void FadeSound(int); void FadeSounds(void); +void FadeSoundsAndMusic(void); void StopMusic(void); void StopSound(int); void StopSounds(void); void StopSoundExt(int, int); -void InitSoundList(struct ArtworkConfigInfo *, int); -void InitReloadSounds(char *); -void InitReloadMusic(char *); + +int getSoundListSize(); +int getMusicListSize(); +struct FileInfo *getSoundListEntry(int); +struct FileInfo *getMusicListEntry(int); +int getSoundListPropertyMappingSize(); +int getMusicListPropertyMappingSize(); +struct PropertyMapping *getSoundListPropertyMapping(); +struct PropertyMapping *getMusicListPropertyMapping(); +void InitSoundList(struct ConfigInfo *, int, struct ConfigTypeInfo *, + char **, char **, char **, char **, char **); +void InitMusicList(struct ConfigInfo *, int, struct ConfigTypeInfo *, + char **, char **, char **, char **, char **); +void InitReloadCustomSounds(char *); +void InitReloadCustomMusic(char *); void FreeAllSounds(void); void FreeAllMusic(void);