diff options
Diffstat (limited to 'src/engine')
| -rw-r--r-- | src/engine/client/ec_snd.c | 18 | ||||
| -rw-r--r-- | src/engine/e_config_variables.h | 1 |
2 files changed, 17 insertions, 2 deletions
diff --git a/src/engine/client/ec_snd.c b/src/engine/client/ec_snd.c index 89e18cb8..152eac53 100644 --- a/src/engine/client/ec_snd.c +++ b/src/engine/client/ec_snd.c @@ -208,7 +208,6 @@ static void mix(short *final_out, unsigned frames) } } - /* release the lock */ lock_release(sound_lock); @@ -249,9 +248,24 @@ int snd_init() mixing_rate = config.snd_rate; - params.device = Pa_GetDefaultOutputDevice(); + { + int num = Pa_GetDeviceCount(); + int i; + const PaDeviceInfo *info; + + for(i = 0; i < num; i++) + { + info = Pa_GetDeviceInfo(i); + dbg_msg("snd", "device #%d name='%s'", i, info->name); + } + } + + params.device = config.snd_device; + if(params.device == -1) + params.device = Pa_GetDefaultOutputDevice(); if(params.device < 0) return 1; + dbg_msg("snd", "device = %d", params.device); params.channelCount = 2; params.sampleFormat = paInt16; params.suggestedLatency = Pa_GetDeviceInfo(params.device)->defaultLowOutputLatency; diff --git a/src/engine/e_config_variables.h b/src/engine/e_config_variables.h index 51ee7376..1aa6b799 100644 --- a/src/engine/e_config_variables.h +++ b/src/engine/e_config_variables.h @@ -22,6 +22,7 @@ MACRO_CONFIG_INT(b_max_requests, 10, 0, 1000) MACRO_CONFIG_INT(snd_rate, 48000, 0, 0) MACRO_CONFIG_INT(snd_enable, 1, 0, 1) MACRO_CONFIG_INT(snd_volume, 100, 0, 100) +MACRO_CONFIG_INT(snd_device, -1, 0, 0) MACRO_CONFIG_INT(gfx_screen_width, 800, 0, 0) MACRO_CONFIG_INT(gfx_screen_height, 600, 0, 0) |