]> git.sesse.net Git - nageru/commitdiff
Start an audio strip, and rework some of the layout stuff, as it was getting painfull...
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Sat, 7 Nov 2015 23:29:55 +0000 (00:29 +0100)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Sat, 7 Nov 2015 23:29:55 +0000 (00:29 +0100)
main.cpp
mainwindow.cpp
ui_mainwindow.ui

index 53ba77d1441b1b5db1f705a7a4d6d941ab961d5f..927f6c1ec4b668df4b20c1f06f05d618f8b1cb78 100644 (file)
--- 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.
index 97f9b2cd6ea653c627ae9ba5b92ea5d8a914210b..ffaf6ba54dc41da5c448dfd2265147e868df41a8 100644 (file)
@@ -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<int>(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<int>(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<string> transition_names)
index ad5fb9e244f10c3b843d87fac364de00c7edbf7a..9a7030be9c709aaa5d592e3edca17cb38fde4686 100644 (file)
@@ -13,7 +13,7 @@
   <property name="windowTitle">
    <string>Nageru</string>
   </property>
-  <widget class="QWidget" name="centralWidget">
+  <widget class="QWidget" name="central_widget">
    <property name="enabled">
     <bool>true</bool>
    </property>
    </property>
    <layout class="QGridLayout" name="gridLayout">
     <item row="0" column="0">
-     <layout class="QVBoxLayout" name="vertical_layout" stretch="0,0,0">
+     <layout class="QVBoxLayout" name="vertical_layout" stretch="0,0,0,0">
       <item>
        <layout class="QHBoxLayout" name="me_displays" stretch="0,0,0,0,0">
         <item>
-         <layout class="QVBoxLayout" name="verticalLayout_3">
+         <layout class="QVBoxLayout" name="preview_vertical_layout">
           <property name="leftMargin">
            <number>0</number>
           </property>
@@ -43,9 +43,6 @@
             </property>
            </widget>
           </item>
-          <item>
-           <layout class="QHBoxLayout" name="horizontalLayout_3"/>
-          </item>
           <item>
            <widget class="QLabel" name="label_preview">
             <property name="text">
         </item>
        </layout>
       </item>
+      <item>
+       <layout class="QGridLayout" name="audiostrip">
+        <property name="bottomMargin">
+         <number>0</number>
+        </property>
+        <item row="1" column="1">
+         <widget class="QDial" name="gainstaging_knob">
+          <property name="minimumSize">
+           <size>
+            <width>64</width>
+            <height>64</height>
+           </size>
+          </property>
+          <property name="maximumSize">
+           <size>
+            <width>65536</width>
+            <height>64</height>
+           </size>
+          </property>
+          <property name="minimum">
+           <number>-300</number>
+          </property>
+          <property name="maximum">
+           <number>300</number>
+          </property>
+          <property name="notchTarget">
+           <double>60.000000000000000</double>
+          </property>
+          <property name="notchesVisible">
+           <bool>true</bool>
+          </property>
+         </widget>
+        </item>
+        <item row="2" column="1">
+         <widget class="QLabel" name="gainstaging_db_display">
+          <property name="text">
+           <string>-0.0 dB</string>
+          </property>
+          <property name="alignment">
+           <set>Qt::AlignCenter</set>
+          </property>
+         </widget>
+        </item>
+        <item row="0" column="1">
+         <widget class="QLabel" name="gainstaging_label">
+          <property name="text">
+           <string>Gain staging</string>
+          </property>
+          <property name="alignment">
+           <set>Qt::AlignCenter</set>
+          </property>
+         </widget>
+        </item>
+        <item row="1" column="2">
+         <spacer name="horizontalSpacer_2">
+          <property name="orientation">
+           <enum>Qt::Horizontal</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>40</width>
+            <height>20</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+        <item row="3" column="1">
+         <widget class="QCheckBox" name="gainstaging_auto_checkbox">
+          <property name="text">
+           <string>Auto</string>
+          </property>
+         </widget>
+        </item>
+        <item row="1" column="0">
+         <widget class="QDial" name="dial_2">
+          <property name="sizePolicy">
+           <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+           </sizepolicy>
+          </property>
+          <property name="minimumSize">
+           <size>
+            <width>64</width>
+            <height>64</height>
+           </size>
+          </property>
+          <property name="maximumSize">
+           <size>
+            <width>65536</width>
+            <height>64</height>
+           </size>
+          </property>
+          <property name="maximum">
+           <number>60</number>
+          </property>
+          <property name="value">
+           <number>29</number>
+          </property>
+         </widget>
+        </item>
+        <item row="0" column="0">
+         <widget class="QLabel" name="label_3">
+          <property name="text">
+           <string>Lo-cut (24dB/oct)</string>
+          </property>
+         </widget>
+        </item>
+        <item row="2" column="0">
+         <widget class="QLabel" name="label_4">
+          <property name="text">
+           <string>150 Hz</string>
+          </property>
+          <property name="alignment">
+           <set>Qt::AlignCenter</set>
+          </property>
+         </widget>
+        </item>
+        <item row="3" column="0">
+         <widget class="QComboBox" name="comboBox">
+          <property name="currentText">
+           <string/>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </item>
       <item>
        <spacer name="verticalSpacer">
         <property name="orientation">