diff options
-rw-r--r-- | Alc/ALc.c | 22 | ||||
-rw-r--r-- | alsoftrc.sample | 8 |
2 files changed, 22 insertions, 8 deletions
@@ -583,10 +583,24 @@ static void alc_initconfig(void) #endif ConfigValueInt(NULL, "rt-prio", &RTPrioLevel); - if(ConfigValueInt(NULL, "resampler", &n)) - { - if(n < RESAMPLER_MAX && n > RESAMPLER_MIN) - DefaultResampler = n; + if(ConfigValueStr(NULL, "resampler", &str)) + { + if(strcasecmp(str, "point") == 0 || strcasecmp(str, "none") == 0) + DefaultResampler = POINT_RESAMPLER; + else if(strcasecmp(str, "linear") == 0) + DefaultResampler = LINEAR_RESAMPLER; + else if(strcasecmp(str, "cubic") == 0) + DefaultResampler = CUBIC_RESAMPLER; + else + { + char *end; + + n = strtol(str, &end, 0); + if(*end == '\0' && n < RESAMPLER_MAX && n > RESAMPLER_MIN) + DefaultResampler = n; + else + WARN("Invalid resampler: %s\n", str); + } } if(!TrapALCError) diff --git a/alsoftrc.sample b/alsoftrc.sample index abaa628c..e153212b 100644 --- a/alsoftrc.sample +++ b/alsoftrc.sample @@ -61,11 +61,11 @@ ## resampler: # Selects the resampler used when mixing sources. Valid values are: -# 0 - None (nearest sample, no interpolation) -# 1 - Linear (extrapolates samples using a linear slope between samples) -# 2 - Cubic (extrapolates samples using a Catmull-Rom spline) +# point - nearest sample, no interpolation +# linear - extrapolates samples using a linear slope between samples +# cubic - extrapolates samples using a Catmull-Rom spline # Specifying other values will result in using the default (linear). -#resampler = 1 +#resampler = linear ## rt-prio: # Sets real-time priority for the mixing thread. Not all drivers may use this |