shithub: choc

Download patch

ref: 0480c925192df4f60416f3676ff4a295e2bc9e27
parent: 5aa5e1fed5f7245a942bbfee43935d58a990deb5
author: Simon Howard <[email protected]>
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},