diff options
-rw-r--r-- | Alc/ALc.c | 6 | ||||
-rw-r--r-- | Alc/alcConfig.c | 9 | ||||
-rw-r--r-- | Alc/alsa.c | 8 | ||||
-rw-r--r-- | OpenAL32/Include/alMain.h | 1 |
4 files changed, 12 insertions, 12 deletions
@@ -302,11 +302,7 @@ static void alc_init(void) BackendList[i].Probe(CAPTURE_DEVICE_PROBE); } - str = GetConfigValue(NULL, "stereodup", "false"); - DuplicateStereo = (strcasecmp(str, "true") == 0 || - strcasecmp(str, "yes") == 0 || - strcasecmp(str, "on") == 0 || - atoi(str) != 0); + DuplicateStereo = GetConfigValueBool(NULL, "stereodup", 0); str = GetConfigValue(NULL, "excludefx", ""); if(str[0]) diff --git a/Alc/alcConfig.c b/Alc/alcConfig.c index b6e46139..de42f154 100644 --- a/Alc/alcConfig.c +++ b/Alc/alcConfig.c @@ -313,3 +313,12 @@ float GetConfigValueFloat(const char *blockName, const char *keyName, float def) return (float)strtod(val, NULL); #endif } + +int GetConfigValueBool(const char *blockName, const char *keyName, float def) +{ + const char *val = GetConfigValue(blockName, keyName, ""); + + if(!val[0]) return !!def; + return (strcasecmp(val, "true") == 0 || strcasecmp(val, "yes") == 0 || + strcasecmp(val, "on") == 0 || atoi(val) != 0); +} @@ -417,7 +417,6 @@ static ALCboolean alsa_start_context(ALCdevice *device, ALCcontext *context) snd_pcm_access_t access; unsigned int periods; unsigned int rate; - const char *str; int allowmmap; char *err; int i; @@ -440,16 +439,11 @@ static ALCboolean alsa_start_context(ALCdevice *device, ALCcontext *context) AL_PRINT("Unknown format?! %x\n", device->Format); } + allowmmap = GetConfigValueBool("alsa", "mmap", 1); periods = GetConfigValueInt("alsa", "periods", 0); bufferSizeInFrames = device->BufferSize; rate = device->Frequency; - str = GetConfigValue("alsa", "mmap", "true"); - allowmmap = (strcasecmp(str, "true") == 0 || - strcasecmp(str, "yes") == 0 || - strcasecmp(str, "on") == 0 || - atoi(str) != 0); - err = NULL; psnd_pcm_hw_params_malloc(&p); diff --git a/OpenAL32/Include/alMain.h b/OpenAL32/Include/alMain.h index cc48aee4..3205e467 100644 --- a/OpenAL32/Include/alMain.h +++ b/OpenAL32/Include/alMain.h @@ -327,6 +327,7 @@ void FreeALConfig(void); const char *GetConfigValue(const char *blockName, const char *keyName, const char *def); int GetConfigValueInt(const char *blockName, const char *keyName, int def); float GetConfigValueFloat(const char *blockName, const char *keyName, float def); +int GetConfigValueBool(const char *blockName, const char *keyName, float def); ALCboolean ALCAPIENTRY alcMakeCurrent(ALCcontext *context); ALCcontext* ALCAPIENTRY alcGetThreadContext(void); |