9#ifndef UI_TRACKPROPERTIESWIDGET_H
10#define UI_TRACKPROPERTIESWIDGET_H
12#include <QtCore/QVariant>
13#include <QtWidgets/QApplication>
14#include <QtWidgets/QCheckBox>
15#include <QtWidgets/QComboBox>
16#include <QtWidgets/QGridLayout>
17#include <QtWidgets/QLabel>
18#include <QtWidgets/QProgressBar>
19#include <QtWidgets/QSpacerItem>
20#include <QtWidgets/QVBoxLayout>
21#include <QtWidgets/QWidget>
22#include "widgets/doublesliderspinner.h"
26class Ui_TrackPropertiesWidget
29 QVBoxLayout *verticalLayout;
31 QGridLayout *duckGridLayout;
32 QLabel *blendModeLabel;
33 QComboBox *blendModeCombo;
34 QCheckBox *duckEnabledCheckBox;
35 QLabel *duckingTipLabel;
36 QLabel *duckThresholdLabel;
37 DoubleSliderSpinner *duckThresholdSpinBox;
38 QLabel *duckAttenuationLabel;
39 DoubleSliderSpinner *duckAttenuationSpinBox;
40 QLabel *duckFadeOutLabel;
41 DoubleSliderSpinner *duckFadeOutSpinBox;
42 QLabel *duckFadeInLabel;
43 DoubleSliderSpinner *duckFadeInSpinBox;
44 QLabel *duckStatusLabel;
45 QProgressBar *duckStatusValueLabel;
46 QSpacerItem *verticalSpacer;
48 void setupUi(QWidget *TrackPropertiesWidget)
50 if (TrackPropertiesWidget->objectName().isEmpty())
51 TrackPropertiesWidget->setObjectName(
"TrackPropertiesWidget");
52 TrackPropertiesWidget->resize(400, 300);
53#if QT_CONFIG(whatsthis)
54 TrackPropertiesWidget->setWhatsThis(QString::fromUtf8(
"https://forum.shotcut.org/t/about-the-timeline/12952/1"));
56 verticalLayout =
new QVBoxLayout(TrackPropertiesWidget);
57 verticalLayout->setObjectName(
"verticalLayout");
58 nameLabel =
new QLabel(TrackPropertiesWidget);
59 nameLabel->setObjectName(
"nameLabel");
62 nameLabel->setFont(font);
63 nameLabel->setAlignment(Qt::AlignmentFlag::AlignCenter);
65 verticalLayout->addWidget(nameLabel);
67 duckGridLayout =
new QGridLayout();
68 duckGridLayout->setObjectName(
"duckGridLayout");
69 blendModeLabel =
new QLabel(TrackPropertiesWidget);
70 blendModeLabel->setObjectName(
"blendModeLabel");
71 blendModeLabel->setAlignment(Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter);
73 duckGridLayout->addWidget(blendModeLabel, 0, 0, 1, 1);
75 blendModeCombo =
new QComboBox(TrackPropertiesWidget);
76 blendModeCombo->setObjectName(
"blendModeCombo");
77 blendModeCombo->setMaxVisibleItems(20);
79 duckGridLayout->addWidget(blendModeCombo, 0, 1, 1, 1);
81 duckEnabledCheckBox =
new QCheckBox(TrackPropertiesWidget);
82 duckEnabledCheckBox->setObjectName(
"duckEnabledCheckBox");
83 duckEnabledCheckBox->setFont(font);
85 duckGridLayout->addWidget(duckEnabledCheckBox, 1, 0, 1, 2);
87 duckingTipLabel =
new QLabel(TrackPropertiesWidget);
88 duckingTipLabel->setObjectName(
"duckingTipLabel");
89 duckingTipLabel->setWordWrap(
true);
91 duckGridLayout->addWidget(duckingTipLabel, 2, 0, 1, 2);
93 duckThresholdLabel =
new QLabel(TrackPropertiesWidget);
94 duckThresholdLabel->setObjectName(
"duckThresholdLabel");
95 duckThresholdLabel->setAlignment(Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter);
97 duckGridLayout->addWidget(duckThresholdLabel, 3, 0, 1, 1);
99 duckThresholdSpinBox =
new DoubleSliderSpinner(TrackPropertiesWidget);
100 duckThresholdSpinBox->setObjectName(
"duckThresholdSpinBox");
101 duckThresholdSpinBox->setDecimals(1);
102 duckThresholdSpinBox->setMinimum(-70.000000000000000);
103 duckThresholdSpinBox->setMaximum(0.000000000000000);
104 duckThresholdSpinBox->setSingleStep(1.000000000000000);
105 duckThresholdSpinBox->setValue(-12.000000000000000);
106 duckThresholdSpinBox->setDefaultValue(-12.000000000000000);
107 duckThresholdSpinBox->setShowResetButton(
true);
109 duckGridLayout->addWidget(duckThresholdSpinBox, 3, 1, 1, 1);
111 duckAttenuationLabel =
new QLabel(TrackPropertiesWidget);
112 duckAttenuationLabel->setObjectName(
"duckAttenuationLabel");
113 duckAttenuationLabel->setAlignment(Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter);
115 duckGridLayout->addWidget(duckAttenuationLabel, 4, 0, 1, 1);
117 duckAttenuationSpinBox =
new DoubleSliderSpinner(TrackPropertiesWidget);
118 duckAttenuationSpinBox->setObjectName(
"duckAttenuationSpinBox");
119 duckAttenuationSpinBox->setDecimals(1);
120 duckAttenuationSpinBox->setMinimum(-70.000000000000000);
121 duckAttenuationSpinBox->setMaximum(0.000000000000000);
122 duckAttenuationSpinBox->setSingleStep(1.000000000000000);
123 duckAttenuationSpinBox->setValue(-12.000000000000000);
124 duckAttenuationSpinBox->setDefaultValue(-12.000000000000000);
125 duckAttenuationSpinBox->setShowResetButton(
true);
127 duckGridLayout->addWidget(duckAttenuationSpinBox, 4, 1, 1, 1);
129 duckFadeOutLabel =
new QLabel(TrackPropertiesWidget);
130 duckFadeOutLabel->setObjectName(
"duckFadeOutLabel");
131 duckFadeOutLabel->setAlignment(Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter);
133 duckGridLayout->addWidget(duckFadeOutLabel, 5, 0, 1, 1);
135 duckFadeOutSpinBox =
new DoubleSliderSpinner(TrackPropertiesWidget);
136 duckFadeOutSpinBox->setObjectName(
"duckFadeOutSpinBox");
137 duckFadeOutSpinBox->setDecimals(0);
138 duckFadeOutSpinBox->setMinimum(0.000000000000000);
139 duckFadeOutSpinBox->setMaximum(5000.000000000000000);
140 duckFadeOutSpinBox->setSingleStep(10.000000000000000);
141 duckFadeOutSpinBox->setValue(250.000000000000000);
142 duckFadeOutSpinBox->setDefaultValue(250.000000000000000);
143 duckFadeOutSpinBox->setShowResetButton(
true);
145 duckGridLayout->addWidget(duckFadeOutSpinBox, 5, 1, 1, 1);
147 duckFadeInLabel =
new QLabel(TrackPropertiesWidget);
148 duckFadeInLabel->setObjectName(
"duckFadeInLabel");
149 duckFadeInLabel->setAlignment(Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter);
151 duckGridLayout->addWidget(duckFadeInLabel, 6, 0, 1, 1);
153 duckFadeInSpinBox =
new DoubleSliderSpinner(TrackPropertiesWidget);
154 duckFadeInSpinBox->setObjectName(
"duckFadeInSpinBox");
155 duckFadeInSpinBox->setDecimals(0);
156 duckFadeInSpinBox->setMinimum(0.000000000000000);
157 duckFadeInSpinBox->setMaximum(5000.000000000000000);
158 duckFadeInSpinBox->setSingleStep(10.000000000000000);
159 duckFadeInSpinBox->setValue(1500.000000000000000);
160 duckFadeInSpinBox->setDefaultValue(1500.000000000000000);
161 duckFadeInSpinBox->setShowResetButton(
true);
163 duckGridLayout->addWidget(duckFadeInSpinBox, 6, 1, 1, 1);
165 duckStatusLabel =
new QLabel(TrackPropertiesWidget);
166 duckStatusLabel->setObjectName(
"duckStatusLabel");
167 duckStatusLabel->setAlignment(Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter);
169 duckGridLayout->addWidget(duckStatusLabel, 7, 0, 1, 1);
171 duckStatusValueLabel =
new QProgressBar(TrackPropertiesWidget);
172 duckStatusValueLabel->setObjectName(
"duckStatusValueLabel");
173 duckStatusValueLabel->setMinimum(0);
174 duckStatusValueLabel->setMaximum(700);
175 duckStatusValueLabel->setValue(0);
176 duckStatusValueLabel->setTextVisible(
true);
177 duckStatusValueLabel->setAlignment(Qt::AlignCenter);
179 duckGridLayout->addWidget(duckStatusValueLabel, 7, 1, 1, 1);
182 verticalLayout->addLayout(duckGridLayout);
184 verticalSpacer =
new QSpacerItem(20, 232, QSizePolicy::Policy::Minimum, QSizePolicy::Policy::Expanding);
186 verticalLayout->addItem(verticalSpacer);
189 retranslateUi(TrackPropertiesWidget);
191 QMetaObject::connectSlotsByName(TrackPropertiesWidget);
194 void retranslateUi(QWidget *TrackPropertiesWidget)
196 TrackPropertiesWidget->setWindowTitle(QCoreApplication::translate(
"TrackPropertiesWidget",
"Form",
nullptr));
197 nameLabel->setText(QString());
198 blendModeLabel->setText(QCoreApplication::translate(
"TrackPropertiesWidget",
"Blend mode",
nullptr));
199 duckEnabledCheckBox->setText(QCoreApplication::translate(
"TrackPropertiesWidget",
"Automatic Audio Ducking",
nullptr));
200 duckingTipLabel->setText(QCoreApplication::translate(
"TrackPropertiesWidget",
"Reduce audio volume based on the tracks above this one.",
nullptr));
201#if QT_CONFIG(tooltip)
202 duckThresholdLabel->setToolTip(QCoreApplication::translate(
"TrackPropertiesWidget",
"When the level of tracks above this one rises above this threshold, ducking is applied to this track.",
nullptr));
204 duckThresholdLabel->setText(QCoreApplication::translate(
"TrackPropertiesWidget",
"Threshold",
nullptr));
205#if QT_CONFIG(tooltip)
206 duckThresholdSpinBox->setToolTip(QCoreApplication::translate(
"TrackPropertiesWidget",
"When the level of tracks above this one rises above this threshold, ducking is applied to this track.",
nullptr));
208 duckThresholdSpinBox->setSuffix(QCoreApplication::translate(
"TrackPropertiesWidget",
" dB",
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 {};