]> git.sesse.net Git - nageru/blobdiff - mainwindow.cpp
Fix a race during startup.
[nageru] / mainwindow.cpp
index 0eda02d3a5c82bcdc8d8763971ccf225faa393aa..37b3af11659c700a1d3cf674d20999024157e1c1 100644 (file)
@@ -251,7 +251,6 @@ MainWindow::MainWindow()
        }
        midi_mapper.refresh_highlights();
        midi_mapper.refresh_lights();
-       midi_mapper.start_thread();
 }
 
 void MainWindow::resizeEvent(QResizeEvent* event)
@@ -366,6 +365,7 @@ void MainWindow::mixer_created(Mixer *mixer)
 
        midi_mapper.refresh_highlights();
        midi_mapper.refresh_lights();
+       midi_mapper.start_thread();
 
        struct sigaction act;
        memset(&act, 0, sizeof(act));
@@ -529,13 +529,6 @@ void MainWindow::setup_audio_expanded_view()
                                global_audio_mixer->reset_peak(bus_index);
                                midi_mapper.refresh_lights();
                        });
-
-               // Set up the compression attenuation meter.
-               VUMeter *reduction_meter = ui_audio_expanded_view->reduction_meter;
-               reduction_meter->set_min_level(0.0f);
-               reduction_meter->set_max_level(10.0f);
-               reduction_meter->set_ref_level(0.0f);
-               reduction_meter->set_flip(true);
        }
 
        update_cutoff_labels(global_audio_mixer->get_locut_cutoff());
@@ -817,7 +810,7 @@ void MainWindow::audio_level_callback(float level_lufs, float peak_db, vector<Au
                                        level.current_level_dbfs[0], level.current_level_dbfs[1]);
                                view->peak_meter->set_peak(
                                        level.peak_level_dbfs[0], level.peak_level_dbfs[1]);
-                               view->reduction_meter->set_level(level.compressor_attenuation_db);
+                               view->reduction_meter->set_reduction_db(level.compressor_attenuation_db);
                                view->gainstaging_knob->blockSignals(true);
                                view->gainstaging_knob->setValue(lrintf(level.gain_staging_db * 10.0f));
                                view->gainstaging_knob->blockSignals(false);
@@ -1297,6 +1290,9 @@ void MainWindow::set_white_balance(int channel_number, int x, int y)
 void MainWindow::audio_state_changed()
 {
        post_to_main_thread([this]{
+               if (global_audio_mixer->get_mapping_mode() == AudioMixer::MappingMode::SIMPLE) {
+                       return;
+               }
                InputMapping mapping = global_audio_mixer->get_input_mapping();
                for (unsigned bus_index = 0; bus_index < mapping.buses.size(); ++bus_index) {
                        const InputMapping::Bus &bus = mapping.buses[bus_index];