}
midi_mapper.refresh_highlights();
midi_mapper.refresh_lights();
+ if (global_flags.fullscreen) {
+ QMainWindow::showFullScreen();
+ }
}
void MainWindow::resizeEvent(QResizeEvent* event)
ui_audio_expanded_view->bus_desc_label->setFullText(
QString::fromStdString(get_bus_desc_label(mapping.buses[bus_index])));
audio_expanded_views[bus_index] = ui_audio_expanded_view;
+ update_stereo_knob_and_label(bus_index, lrintf(100.0f * global_audio_mixer->get_stereo_width(bus_index)));
update_eq_label(bus_index, EQ_BAND_TREBLE, global_audio_mixer->get_eq(bus_index, EQ_BAND_TREBLE));
update_eq_label(bus_index, EQ_BAND_MID, global_audio_mixer->get_eq(bus_index, EQ_BAND_MID));
update_eq_label(bus_index, EQ_BAND_BASS, global_audio_mixer->get_eq(bus_index, EQ_BAND_BASS));
midi_mapper.refresh_lights();
});
+ connect(ui_audio_expanded_view->stereo_width_knob, &QDial::valueChanged,
+ bind(&MainWindow::stereo_width_knob_changed, this, bus_index, _1));
+
connect(ui_audio_expanded_view->treble_knob, &QDial::valueChanged,
bind(&MainWindow::eq_knob_changed, this, bus_index, EQ_BAND_TREBLE, _1));
connect(ui_audio_expanded_view->mid_knob, &QDial::valueChanged,
});
}
+void MainWindow::stereo_width_knob_changed(unsigned bus_index, int value)
+{
+ float stereo_width = value * 0.01f;
+ global_audio_mixer->set_stereo_width(bus_index, stereo_width);
+
+ update_stereo_label(bus_index, value);
+}
+
void MainWindow::eq_knob_changed(unsigned bus_index, EQBand band, int value)
{
float gain_db = value * 0.1f;
update_eq_label(bus_index, band, gain_db);
}
+void MainWindow::update_stereo_knob_and_label(unsigned bus_index, int stereo_width_percent)
+{
+ Ui::AudioExpandedView *view = audio_expanded_views[bus_index];
+
+ if (global_audio_mixer->is_mono(bus_index)) {
+ view->stereo_width_knob->setEnabled(false);
+ view->stereo_width_label->setEnabled(false);
+ } else {
+ view->stereo_width_knob->setEnabled(true);
+ view->stereo_width_label->setEnabled(true);
+ }
+ view->stereo_width_knob->setValue(stereo_width_percent);
+ update_stereo_label(bus_index, stereo_width_percent);
+}
+
+void MainWindow::update_stereo_label(unsigned bus_index, int stereo_width_percent)
+{
+ Ui::AudioExpandedView *view = audio_expanded_views[bus_index];
+
+ if (global_audio_mixer->is_mono(bus_index)) {
+ view->stereo_width_label->setText("Mono");
+ } else {
+ char buf[256];
+ snprintf(buf, sizeof(buf), "Stereo: %d%%", stereo_width_percent);
+ view->stereo_width_label->setText(buf);
+ }
+}
+
void MainWindow::update_eq_label(unsigned bus_index, EQBand band, float gain_db)
{
Ui::AudioExpandedView *view = audio_expanded_views[bus_index];
set_peak_label(ui->peak_display, peak_db);
// NOTE: Will be invisible when using multitrack audio.
- ui->gainstaging_knob->blockSignals(true);
- ui->gainstaging_knob->setValue(lrintf(bus_levels[0].gain_staging_db * 10.0f));
- ui->gainstaging_knob->blockSignals(false);
- ui->gainstaging_db_display->setText(
- QString::fromStdString(format_db(bus_levels[0].gain_staging_db, DB_WITH_SIGN)));
+ if (!bus_levels.empty()) {
+ ui->gainstaging_knob->blockSignals(true);
+ ui->gainstaging_knob->setValue(lrintf(bus_levels[0].gain_staging_db * 10.0f));
+ ui->gainstaging_knob->blockSignals(false);
+ ui->gainstaging_db_display->setText(
+ QString::fromStdString(format_db(bus_levels[0].gain_staging_db, DB_WITH_SIGN)));
+ }
ui->makeup_gain_knob->blockSignals(true);
ui->makeup_gain_knob->setValue(lrintf(final_makeup_gain_db * 10.0f));
set_relative_value(ui->makeup_gain_knob, value);
}
+void MainWindow::set_stereo_width(unsigned bus_idx, float value)
+{
+ set_relative_value_if_exists(bus_idx, &Ui::AudioExpandedView::stereo_width_knob, value);
+}
+
void MainWindow::set_treble(unsigned bus_idx, float value)
{
set_relative_value_if_exists(bus_idx, &Ui::AudioExpandedView::treble_knob, value);
});
}
+void MainWindow::highlight_stereo_width(unsigned bus_idx, bool highlight)
+{
+ highlight_control_if_exists(bus_idx, &Ui::AudioExpandedView::stereo_width_knob, highlight);
+}
+
void MainWindow::highlight_treble(unsigned bus_idx, bool highlight)
{
highlight_control_if_exists(bus_idx, &Ui::AudioExpandedView::treble_knob, highlight);