+void MainWindow::simple_audio_mode_triggered()
+{
+ if (global_audio_mixer->get_mapping_mode() == AudioMixer::MappingMode::SIMPLE) {
+ return;
+ }
+ unsigned card_index = global_audio_mixer->get_simple_input();
+ if (card_index == numeric_limits<unsigned>::max()) {
+ QMessageBox::StandardButton reply =
+ QMessageBox::question(this,
+ "Mapping too complex",
+ "The current audio mapping is too complicated to be representable in simple mode, "
+ "and will be discarded if you proceed. Really go to simple audio mode?",
+ QMessageBox::Yes | QMessageBox::No);
+ if (reply == QMessageBox::No) {
+ ui->simple_audio_mode->setChecked(false);
+ ui->multichannel_audio_mode->setChecked(true);
+ return;
+ }
+ card_index = 0;
+ }
+ global_audio_mixer->set_simple_input(/*card_index=*/card_index);
+ reset_audio_mapping_ui();
+}
+
+void MainWindow::multichannel_audio_mode_triggered()
+{
+ if (global_audio_mixer->get_mapping_mode() == AudioMixer::MappingMode::MULTICHANNEL) {
+ return;
+ }
+
+ // Take the generated input mapping from the simple input,
+ // and set it as a normal multichannel mapping, which causes
+ // the mode to go to multichannel.
+ global_audio_mixer->set_input_mapping(global_audio_mixer->get_input_mapping());
+ reset_audio_mapping_ui();
+}
+