9#ifndef UI_TRACKPROPERTIESWIDGET_H
10#define UI_TRACKPROPERTIESWIDGET_H
12#include <QtCore/QVariant>
13#include <QtWidgets/QApplication>
14#include <QtWidgets/QComboBox>
15#include <QtWidgets/QGridLayout>
16#include <QtWidgets/QLabel>
17#include <QtWidgets/QProgressBar>
18#include <QtWidgets/QSpacerItem>
19#include <QtWidgets/QVBoxLayout>
20#include <QtWidgets/QWidget>
21#include "widgets/doublesliderspinner.h"
25class Ui_TrackPropertiesWidget
28 QVBoxLayout *verticalLayout;
30 QGridLayout *duckGridLayout;
31 QLabel *blendModeLabel;
32 QComboBox *blendModeCombo;
33 QLabel *duckingHeadingLabel;
34 QLabel *duckingTipLabel;
35 QLabel *duckThresholdLabel;
36 DoubleSliderSpinner *duckThresholdSpinBox;
37 QLabel *duckAttenuationLabel;
38 DoubleSliderSpinner *duckAttenuationSpinBox;
39 QLabel *duckFadeOutLabel;
40 DoubleSliderSpinner *duckFadeOutSpinBox;
41 QLabel *duckFadeInLabel;
42 DoubleSliderSpinner *duckFadeInSpinBox;
43 QLabel *duckStatusLabel;
44 QProgressBar *duckStatusValueLabel;
45 QSpacerItem *verticalSpacer;
47 void setupUi(QWidget *TrackPropertiesWidget)
49 if (TrackPropertiesWidget->objectName().isEmpty())
50 TrackPropertiesWidget->setObjectName(
"TrackPropertiesWidget");
51 TrackPropertiesWidget->resize(400, 300);
52#if QT_CONFIG(whatsthis)
53 TrackPropertiesWidget->setWhatsThis(QString::fromUtf8(
"https://forum.shotcut.org/t/about-the-timeline/12952/1"));
55 verticalLayout =
new QVBoxLayout(TrackPropertiesWidget);
56 verticalLayout->setObjectName(
"verticalLayout");
57 nameLabel =
new QLabel(TrackPropertiesWidget);
58 nameLabel->setObjectName(
"nameLabel");
61 nameLabel->setFont(font);
62 nameLabel->setAlignment(Qt::AlignmentFlag::AlignCenter);
64 verticalLayout->addWidget(nameLabel);
66 duckGridLayout =
new QGridLayout();
67 duckGridLayout->setObjectName(
"duckGridLayout");
68 blendModeLabel =
new QLabel(TrackPropertiesWidget);
69 blendModeLabel->setObjectName(
"blendModeLabel");
70 blendModeLabel->setAlignment(Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter);
72 duckGridLayout->addWidget(blendModeLabel, 0, 0, 1, 1);
74 blendModeCombo =
new QComboBox(TrackPropertiesWidget);
75 blendModeCombo->setObjectName(
"blendModeCombo");
76 blendModeCombo->setMaxVisibleItems(20);
78 duckGridLayout->addWidget(blendModeCombo, 0, 1, 1, 1);
80 duckingHeadingLabel =
new QLabel(TrackPropertiesWidget);
81 duckingHeadingLabel->setObjectName(
"duckingHeadingLabel");
82 duckingHeadingLabel->setFont(font);
84 duckGridLayout->addWidget(duckingHeadingLabel, 1, 0, 1, 2);
86 duckingTipLabel =
new QLabel(TrackPropertiesWidget);
87 duckingTipLabel->setObjectName(
"duckingTipLabel");
88 duckingTipLabel->setWordWrap(
true);
90 duckGridLayout->addWidget(duckingTipLabel, 2, 0, 1, 2);
92 duckThresholdLabel =
new QLabel(TrackPropertiesWidget);
93 duckThresholdLabel->setObjectName(
"duckThresholdLabel");
94 duckThresholdLabel->setAlignment(Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter);
96 duckGridLayout->addWidget(duckThresholdLabel, 3, 0, 1, 1);
98 duckThresholdSpinBox =
new DoubleSliderSpinner(TrackPropertiesWidget);
99 duckThresholdSpinBox->setObjectName(
"duckThresholdSpinBox");
100 duckThresholdSpinBox->setDecimals(1);
101 duckThresholdSpinBox->setMinimum(-70.000000000000000);
102 duckThresholdSpinBox->setMaximum(0.000000000000000);
103 duckThresholdSpinBox->setSingleStep(1.000000000000000);
104 duckThresholdSpinBox->setValue(0.000000000000000);
105 duckThresholdSpinBox->setDefaultValue(0.000000000000000);
106 duckThresholdSpinBox->setShowResetButton(
true);
108 duckGridLayout->addWidget(duckThresholdSpinBox, 3, 1, 1, 1);
110 duckAttenuationLabel =
new QLabel(TrackPropertiesWidget);
111 duckAttenuationLabel->setObjectName(
"duckAttenuationLabel");
112 duckAttenuationLabel->setAlignment(Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter);
114 duckGridLayout->addWidget(duckAttenuationLabel, 4, 0, 1, 1);
116 duckAttenuationSpinBox =
new DoubleSliderSpinner(TrackPropertiesWidget);
117 duckAttenuationSpinBox->setObjectName(
"duckAttenuationSpinBox");
118 duckAttenuationSpinBox->setDecimals(1);
119 duckAttenuationSpinBox->setMinimum(-70.000000000000000);
120 duckAttenuationSpinBox->setMaximum(0.000000000000000);
121 duckAttenuationSpinBox->setSingleStep(1.000000000000000);
122 duckAttenuationSpinBox->setValue(-12.000000000000000);
123 duckAttenuationSpinBox->setDefaultValue(-12.000000000000000);
124 duckAttenuationSpinBox->setShowResetButton(
true);
126 duckGridLayout->addWidget(duckAttenuationSpinBox, 4, 1, 1, 1);
128 duckFadeOutLabel =
new QLabel(TrackPropertiesWidget);
129 duckFadeOutLabel->setObjectName(
"duckFadeOutLabel");
130 duckFadeOutLabel->setAlignment(Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter);
132 duckGridLayout->addWidget(duckFadeOutLabel, 5, 0, 1, 1);
134 duckFadeOutSpinBox =
new DoubleSliderSpinner(TrackPropertiesWidget);
135 duckFadeOutSpinBox->setObjectName(
"duckFadeOutSpinBox");
136 duckFadeOutSpinBox->setDecimals(0);
137 duckFadeOutSpinBox->setMinimum(0.000000000000000);
138 duckFadeOutSpinBox->setMaximum(5000.000000000000000);
139 duckFadeOutSpinBox->setSingleStep(10.000000000000000);
140 duckFadeOutSpinBox->setValue(250.000000000000000);
141 duckFadeOutSpinBox->setDefaultValue(250.000000000000000);
142 duckFadeOutSpinBox->setShowResetButton(
true);
144 duckGridLayout->addWidget(duckFadeOutSpinBox, 5, 1, 1, 1);
146 duckFadeInLabel =
new QLabel(TrackPropertiesWidget);
147 duckFadeInLabel->setObjectName(
"duckFadeInLabel");
148 duckFadeInLabel->setAlignment(Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter);
150 duckGridLayout->addWidget(duckFadeInLabel, 6, 0, 1, 1);
152 duckFadeInSpinBox =
new DoubleSliderSpinner(TrackPropertiesWidget);
153 duckFadeInSpinBox->setObjectName(
"duckFadeInSpinBox");
154 duckFadeInSpinBox->setDecimals(0);
155 duckFadeInSpinBox->setMinimum(0.000000000000000);
156 duckFadeInSpinBox->setMaximum(5000.000000000000000);
157 duckFadeInSpinBox->setSingleStep(10.000000000000000);
158 duckFadeInSpinBox->setValue(1500.000000000000000);
159 duckFadeInSpinBox->setDefaultValue(1500.000000000000000);
160 duckFadeInSpinBox->setShowResetButton(
true);
162 duckGridLayout->addWidget(duckFadeInSpinBox, 6, 1, 1, 1);
164 duckStatusLabel =
new QLabel(TrackPropertiesWidget);
165 duckStatusLabel->setObjectName(
"duckStatusLabel");
166 duckStatusLabel->setAlignment(Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter);
168 duckGridLayout->addWidget(duckStatusLabel, 7, 0, 1, 1);
170 duckStatusValueLabel =
new QProgressBar(TrackPropertiesWidget);
171 duckStatusValueLabel->setObjectName(
"duckStatusValueLabel");
172 duckStatusValueLabel->setMinimum(0);
173 duckStatusValueLabel->setMaximum(700);
174 duckStatusValueLabel->setValue(0);
175 duckStatusValueLabel->setTextVisible(
true);
176 duckStatusValueLabel->setAlignment(Qt::AlignCenter);
178 duckGridLayout->addWidget(duckStatusValueLabel, 7, 1, 1, 1);
181 verticalLayout->addLayout(duckGridLayout);
183 verticalSpacer =
new QSpacerItem(20, 232, QSizePolicy::Policy::Minimum, QSizePolicy::Policy::Expanding);
185 verticalLayout->addItem(verticalSpacer);
188 retranslateUi(TrackPropertiesWidget);
190 QMetaObject::connectSlotsByName(TrackPropertiesWidget);
193 void retranslateUi(QWidget *TrackPropertiesWidget)
195 TrackPropertiesWidget->setWindowTitle(QCoreApplication::translate(
"TrackPropertiesWidget",
"Form",
nullptr));
196 nameLabel->setText(QString());
197 blendModeLabel->setText(QCoreApplication::translate(
"TrackPropertiesWidget",
"Blend mode",
nullptr));
198 duckingHeadingLabel->setText(QCoreApplication::translate(
"TrackPropertiesWidget",
"Automatic Ducking",
nullptr));
199 duckingTipLabel->setText(QCoreApplication::translate(
"TrackPropertiesWidget",
"Reduce audio volume based on the tracks above this one.",
nullptr));
200#if QT_CONFIG(tooltip)
201 duckThresholdLabel->setToolTip(QCoreApplication::translate(
"TrackPropertiesWidget",
"When the level of tracks above this one rises above this threshold, ducking is applied to this track. Off at 0 dB.",
nullptr));
203 duckThresholdLabel->setText(QCoreApplication::translate(
"TrackPropertiesWidget",
"Threshold",
nullptr));
204#if QT_CONFIG(tooltip)
205 duckThresholdSpinBox->setToolTip(QCoreApplication::translate(
"TrackPropertiesWidget",
"When the level of tracks above this one rises above this threshold, ducking is applied to this track. Off at 0 dB.",
nullptr));
207 duckThresholdSpinBox->setSuffix(QCoreApplication::translate(
"TrackPropertiesWidget",
" dB",
nullptr));
208 duckThresholdSpinBox->setSpecialValueText(QCoreApplication::translate(
"TrackPropertiesWidget",
"Off",
nullptr));
209#if QT_CONFIG(tooltip)
210 duckAttenuationLabel->setToolTip(QCoreApplication::translate(
"TrackPropertiesWidget",
"Maximum gain reduction applied to this track while ducking is active.",
nullptr));
212 duckAttenuationLabel->setText(QCoreApplication::translate(
"TrackPropertiesWidget",
"Max Reduction",
nullptr));
213#if QT_CONFIG(tooltip)
214 duckAttenuationSpinBox->setToolTip(QCoreApplication::translate(
"TrackPropertiesWidget",
"Maximum gain reduction applied to this track while ducking is active.",
nullptr));
216 duckAttenuationSpinBox->setSuffix(QCoreApplication::translate(
"TrackPropertiesWidget",
" dB",
nullptr));
217#if QT_CONFIG(tooltip)
218 duckFadeOutLabel->setToolTip(QCoreApplication::translate(
"TrackPropertiesWidget",
"How quickly gain reduction is applied after the threshold is exceeded.",
nullptr));
220 duckFadeOutLabel->setText(QCoreApplication::translate(
"TrackPropertiesWidget",
"Fade out",
nullptr));
221#if QT_CONFIG(tooltip)
222 duckFadeOutSpinBox->setToolTip(QCoreApplication::translate(
"TrackPropertiesWidget",
"How quickly gain reduction is applied after the threshold is exceeded.",
nullptr));
224 duckFadeOutSpinBox->setSuffix(QCoreApplication::translate(
"TrackPropertiesWidget",
" ms",
nullptr));
225#if QT_CONFIG(tooltip)
226 duckFadeInLabel->setToolTip(QCoreApplication::translate(
"TrackPropertiesWidget",
"How quickly gain reduction is released after the level of tracks above this one falls below the threshold.",
nullptr));
228 duckFadeInLabel->setText(QCoreApplication::translate(
"TrackPropertiesWidget",
"Fade in",
nullptr));
229#if QT_CONFIG(tooltip)
230 duckFadeInSpinBox->setToolTip(QCoreApplication::translate(
"TrackPropertiesWidget",
"How quickly gain reduction is released after the level of tracks above this one falls below the threshold.",
nullptr));
232 duckFadeInSpinBox->setSuffix(QCoreApplication::translate(
"TrackPropertiesWidget",
" ms",
nullptr));
233#if QT_CONFIG(tooltip)
234 duckStatusLabel->setToolTip(QCoreApplication::translate(
"TrackPropertiesWidget",
"Current gain reduction being applied to this track.",
nullptr));
236 duckStatusLabel->setText(QCoreApplication::translate(
"TrackPropertiesWidget",
"Gain Reduction",
nullptr));
237#if QT_CONFIG(tooltip)
238 duckStatusValueLabel->setToolTip(QCoreApplication::translate(
"TrackPropertiesWidget",
"Current gain reduction being applied to this track. Higher values mean stronger ducking.",
nullptr));
240 duckStatusValueLabel->setFormat(QCoreApplication::translate(
"TrackPropertiesWidget",
"0.0 dB",
nullptr));
246 class TrackPropertiesWidget:
public Ui_TrackPropertiesWidget {};