X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=nageru%2Fmainwindow.cpp;h=20f8e50dbc6ec189310b20e6b7337d19b826062d;hb=c9f1a2b33586116b14b2da572eaecad1f7e6825b;hp=c369f28993452aea9d610834b32b0c8c4eb19a73;hpb=1bb1c66b1548cbad52cc107b40f24a330edca2e1;p=nageru diff --git a/nageru/mainwindow.cpp b/nageru/mainwindow.cpp index c369f28..20f8e50 100644 --- a/nageru/mainwindow.cpp +++ b/nageru/mainwindow.cpp @@ -1182,6 +1182,19 @@ void MainWindow::set_treble(unsigned bus_idx, float value) set_relative_value_if_exists(bus_idx, &Ui::AudioExpandedView::treble_knob, value); } +void MainWindow::set_eq_absolute(unsigned bus_idx, EQBand eq_band, float value_db) +{ + if (eq_band == EQ_BAND_TREBLE) { + set_db_value_if_exists(bus_idx, &Ui::AudioExpandedView::treble_knob, value_db); + } else if (eq_band == EQ_BAND_MID) { + set_db_value_if_exists(bus_idx, &Ui::AudioExpandedView::mid_knob, value_db); + } else if (eq_band == EQ_BAND_BASS) { + set_db_value_if_exists(bus_idx, &Ui::AudioExpandedView::bass_knob, value_db); + } else { + assert(false); + } +} + void MainWindow::set_mid(unsigned bus_idx, float value) { set_relative_value_if_exists(bus_idx, &Ui::AudioExpandedView::mid_knob, value); @@ -1433,6 +1446,18 @@ void MainWindow::set_relative_value_if_exists(unsigned bus_idx, T *(Ui_AudioExpa } } +void MainWindow::set_db_value_if_exists(unsigned bus_idx, QDial *(Ui_AudioExpandedView::*control), float value_db) +{ + post_to_main_thread([this, bus_idx, control, value_db]{ + if (global_audio_mixer != nullptr && + global_audio_mixer->get_mapping_mode() == AudioMixer::MappingMode::MULTICHANNEL && + bus_idx < audio_expanded_views.size()) { + int value = lrintf(value_db * 10.0f); + (audio_expanded_views[bus_idx]->*control)->setValue(value); + } + }); +} + template void MainWindow::click_button_if_exists(unsigned bus_idx, T *(Ui_AudioExpandedView::*control)) {