X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=audio_mixer.cpp;h=c7676b5910f06965c95582fb26ae998a53d64e4b;hb=1caeebce7e0d2b18ae7fb588aaccde7d19117e00;hp=962877ed4647cf986e968e5868b4652608e89c7f;hpb=5cb4274907d32fb8946558988461224196c2be59;p=nageru diff --git a/audio_mixer.cpp b/audio_mixer.cpp index 962877e..c7676b5 100644 --- a/audio_mixer.cpp +++ b/audio_mixer.cpp @@ -181,20 +181,29 @@ AudioMixer::AudioMixer(unsigned num_cards) } set_limiter_enabled(global_flags.limiter_enabled); set_final_makeup_gain_auto(global_flags.final_makeup_gain_auto); - - // Generate a very simple, default input mapping. - InputMapping::Bus input; - input.name = "Main"; - input.device.type = InputSourceType::CAPTURE_CARD; - input.device.index = 0; - input.source_channel[0] = 0; - input.source_channel[1] = 1; + alsa_pool.init(); InputMapping new_input_mapping; - new_input_mapping.buses.push_back(input); - set_input_mapping(new_input_mapping); + if (!global_flags.input_mapping_filename.empty()) { + if (!load_input_mapping_from_file(get_devices(), + global_flags.input_mapping_filename, + &new_input_mapping)) { + fprintf(stderr, "Failed to load input mapping from '%s', exiting.\n", + global_flags.input_mapping_filename.c_str()); + exit(1); + } + } else { + // Generate a very simple, default input mapping. + InputMapping::Bus input; + input.name = "Main"; + input.device.type = InputSourceType::CAPTURE_CARD; + input.device.index = 0; + input.source_channel[0] = 0; + input.source_channel[1] = 1; - alsa_pool.init(); + new_input_mapping.buses.push_back(input); + } + set_input_mapping(new_input_mapping); r128.init(2, OUTPUT_FREQUENCY); r128.integr_start();