ref: 0480c925192df4f60416f3676ff4a295e2bc9e27
parent: 5aa5e1fed5f7245a942bbfee43935d58a990deb5
author: Simon Howard <fraggle@gmail.com>
date: Thu Jun 14 17:45:50 EDT 2007
Add configuration file variable to change the sound sample rate (snd_samplerate) Subversion-branch: /trunk/chocolate-doom Subversion-revision: 906
--- a/setup/configfile.c
+++ b/setup/configfile.c
@@ -258,6 +258,7 @@
{"novert", &novert, DEFAULT_INT, 0, 0},
{"mouse_acceleration", &mouse_acceleration, DEFAULT_FLOAT, 0, 0},
{"mouse_threshold", &mouse_threshold, DEFAULT_INT, 0, 0},
+ {"snd_samplerate", &snd_samplerate, DEFAULT_INT, 0, 0},
{"show_endoom", &show_endoom, DEFAULT_INT, 0, 0},
{"vanilla_savegame_limit", &vanilla_savegame_limit, DEFAULT_INT, 0, 0},
{"vanilla_demo_limit", &vanilla_demo_limit, DEFAULT_INT, 0, 0},
--- a/setup/sound.c
+++ b/setup/sound.c
@@ -72,6 +72,8 @@
int snd_musicdevice = DEFAULT_MUSIC_DEVICE;
int musicVolume = 15;
+int snd_samplerate = 22050;
+
static int snd_sfxmode;
static int snd_musicenabled;
--- a/setup/sound.h
+++ b/setup/sound.h
@@ -29,6 +29,8 @@
extern int snd_musicdevice;
extern int musicVolume;
+extern int snd_samplerate;
+
void ConfigSound(void);
#endif /* #ifndef SETUP_SOUND_H */
--- a/src/i_sound.c
+++ b/src/i_sound.c
@@ -67,6 +67,8 @@
static Uint16 mixer_format;
static int mixer_channels;
+int snd_samplerate = MIX_DEFAULT_FREQUENCY;
+
// When a sound stops, check if it is still playing. If it is not,
// we can mark the sound data as CACHE to be freed back for other
// means.
@@ -570,7 +572,7 @@
return;
}
- if (Mix_OpenAudio(22050, AUDIO_S16SYS, 2, 1024) < 0)
+ if (Mix_OpenAudio(snd_samplerate, AUDIO_S16SYS, 2, 1024) < 0)
{
fprintf(stderr, "Error initialising SDL_mixer: %s\n", Mix_GetError());
return;
--- a/src/m_misc.c
+++ b/src/m_misc.c
@@ -284,6 +284,7 @@
extern int snd_musicdevice;
extern int snd_sfxdevice;
+extern int snd_samplerate;
// dos specific options: these are unused but should be maintained
// so that the config file can be shared between chocolate
@@ -406,6 +407,7 @@
{"novert", &novert, DEFAULT_INT, 0, 0},
{"mouse_acceleration", &mouse_acceleration, DEFAULT_FLOAT, 0, 0},
{"mouse_threshold", &mouse_threshold, DEFAULT_INT, 0, 0},
+ {"snd_samplerate", &snd_samplerate, DEFAULT_INT, 0, 0},
{"show_endoom", &show_endoom, DEFAULT_INT, 0, 0},
{"vanilla_savegame_limit", &vanilla_savegame_limit, DEFAULT_INT, 0, 0},
{"vanilla_demo_limit", &vanilla_demo_limit, DEFAULT_INT, 0, 0},