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)
<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>
</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">