From 3358950c0f7f715be5c626b2b43b17c7265e124d Mon Sep 17 00:00:00 2001 From: "Steinar H. Gunderson" Date: Sun, 8 Nov 2015 00:29:55 +0100 Subject: [PATCH] Start an audio strip, and rework some of the layout stuff, as it was getting painfully broken. --- main.cpp | 2 +- mainwindow.cpp | 29 ++++++---- ui_mainwindow.ui | 136 ++++++++++++++++++++++++++++++++++++++++++++--- 3 files changed, 149 insertions(+), 18 deletions(-) diff --git a/main.cpp b/main.cpp index 53ba77d..927f6c1 100644 --- a/main.cpp +++ b/main.cpp @@ -40,7 +40,7 @@ int main(int argc, char *argv[]) global_share_widget = new QGLWidget(); MainWindow mainWindow; - mainWindow.resize(QSize(1500, 685)); + mainWindow.resize(QSize(1500, 800)); mainWindow.show(); app.installEventFilter(&mainWindow); // For white balance color picking. diff --git a/mainwindow.cpp b/mainwindow.cpp index 97f9b2c..ffaf6ba 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -107,37 +107,44 @@ void MainWindow::mixer_created(Mixer *mixer) void MainWindow::relayout() { - int width = size().width(); - int height = size().height(); + int width = ui->vertical_layout->geometry().width(); + int height = ui->vertical_layout->geometry().height(); + + double remaining_height = height; // Allocate the height; the most important part is to keep the main displays // at 16:9 if at all possible. double me_width = ui->me_preview->width(); - double me_height = me_width * 9.0 / 16.0 + ui->label_preview->height(); + double me_height = me_width * 9.0 / 16.0 + ui->label_preview->height() + ui->preview_vertical_layout->spacing(); // TODO: Scale the widths when we need to do this. if (me_height / double(height) > 0.8) { me_height = height * 0.8; } + remaining_height -= me_height + ui->vertical_layout->spacing(); + + double audiostrip_height = ui->audiostrip->geometry().height(); + remaining_height -= audiostrip_height + ui->vertical_layout->spacing(); // The previews will be constrained by the remaining height, and the width. - // FIXME: spacing? - double preview_label_height = previews[0]->label->height(); - double preview_height = std::min(height - me_height - preview_label_height, (width / double(previews.size())) * 9.0 / 16.0); + double preview_label_height = previews[0]->title_bar->geometry().height() + ui->preview_displays->spacing(); // Wrong spacing? + double preview_height = std::min(remaining_height - preview_label_height, (width / double(previews.size())) * 9.0 / 16.0); + remaining_height -= preview_height + preview_label_height + ui->vertical_layout->spacing(); ui->vertical_layout->setStretch(0, lrintf(me_height)); - ui->vertical_layout->setStretch(1, std::max(1, lrintf(height - me_height - preview_height))); - ui->vertical_layout->setStretch(2, lrintf(preview_height + preview_label_height)); + ui->vertical_layout->setStretch(1, 0); // Don't stretch the audiostrip. + ui->vertical_layout->setStretch(2, std::max(1, remaining_height)); // Spacer. + ui->vertical_layout->setStretch(3, lrintf(preview_height + preview_label_height)); // Set the widths for the previews. - double preview_width = preview_height * 16.0 / 9.0; // FIXME: spacing? + double preview_width = preview_height * 16.0 / 9.0; for (unsigned i = 0; i < previews.size(); ++i) { ui->preview_displays->setStretch(i, lrintf(preview_width)); } - // The spacer. - ui->preview_displays->setStretch(previews.size(), lrintf(width - previews.size() * preview_width)); + // The preview horizontal spacer. + ui->preview_displays->setStretch(previews.size(), lrintf(width - (previews.size() + ui->preview_displays->spacing()) * preview_width)); } void MainWindow::set_transition_names(vector transition_names) diff --git a/ui_mainwindow.ui b/ui_mainwindow.ui index ad5fb9e..9a7030b 100644 --- a/ui_mainwindow.ui +++ b/ui_mainwindow.ui @@ -13,7 +13,7 @@ Nageru - + true @@ -25,11 +25,11 @@ - + - + 0 @@ -43,9 +43,6 @@ - - - @@ -383,6 +380,133 @@ + + + + 0 + + + + + + 64 + 64 + + + + + 65536 + 64 + + + + -300 + + + 300 + + + 60.000000000000000 + + + true + + + + + + + -0.0 dB + + + Qt::AlignCenter + + + + + + + Gain staging + + + Qt::AlignCenter + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Auto + + + + + + + + 0 + 0 + + + + + 64 + 64 + + + + + 65536 + 64 + + + + 60 + + + 29 + + + + + + + Lo-cut (24dB/oct) + + + + + + + 150 Hz + + + Qt::AlignCenter + + + + + + + + + + + + -- 2.39.2