9#ifndef UI_TRANSCODEDIALOG_H
10#define UI_TRANSCODEDIALOG_H
12#include <QtCore/QVariant>
13#include <QtWidgets/QAbstractButton>
14#include <QtWidgets/QApplication>
15#include <QtWidgets/QCheckBox>
16#include <QtWidgets/QComboBox>
17#include <QtWidgets/QDialog>
18#include <QtWidgets/QDialogButtonBox>
19#include <QtWidgets/QFrame>
20#include <QtWidgets/QGridLayout>
21#include <QtWidgets/QHBoxLayout>
22#include <QtWidgets/QLabel>
23#include <QtWidgets/QSlider>
24#include <QtWidgets/QVBoxLayout>
25#include <QtWidgets/QWidget>
26#include "widgets/frameratewidget.h"
30class Ui_TranscodeDialog
33 QVBoxLayout *verticalLayout;
35 QHBoxLayout *horizontalLayout;
39 QSlider *horizontalSlider;
40 QHBoxLayout *horizontalLayout_2;
46 QWidget *advancedWidget;
47 QVBoxLayout *verticalLayout_2;
48 QGridLayout *gridLayout;
49 FrameRateWidget *fpsWidget;
50 QCheckBox *convert709CheckBox;
51 QCheckBox *subclipCheckBox;
52 QCheckBox *advancedCheckBox;
53 QComboBox *frcComboBox;
55 QCheckBox *fpsCheckBox;
56 QLabel *sampleRateLabel;
58 QCheckBox *deinterlaceCheckBox;
60 QComboBox *sampleRateComboBox;
61 QDialogButtonBox *buttonBox;
63 void setupUi(QDialog *TranscodeDialog)
65 if (TranscodeDialog->objectName().isEmpty())
66 TranscodeDialog->setObjectName(
"TranscodeDialog");
67 TranscodeDialog->setWindowModality(Qt::WindowModality::WindowModal);
68 TranscodeDialog->resize(492, 575);
69#if QT_CONFIG(whatsthis)
70 TranscodeDialog->setWhatsThis(QString::fromUtf8(
"https://forum.shotcut.org/t/convert-to-edit-friendly-dialog/47720"));
72 verticalLayout =
new QVBoxLayout(TranscodeDialog);
73 verticalLayout->setObjectName(
"verticalLayout");
74 verticalLayout->setSizeConstraint(QLayout::SizeConstraint::SetFixedSize);
75 messageLabel =
new QLabel(TranscodeDialog);
76 messageLabel->setObjectName(
"messageLabel");
77 messageLabel->setText(QString::fromUtf8(
"messageLabel"));
78 messageLabel->setAlignment(Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignTop);
79 messageLabel->setWordWrap(
true);
81 verticalLayout->addWidget(messageLabel);
83 horizontalLayout =
new QHBoxLayout();
84 horizontalLayout->setObjectName(
"horizontalLayout");
85 label =
new QLabel(TranscodeDialog);
86 label->setObjectName(
"label");
87 label->setAlignment(Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignVCenter);
89 horizontalLayout->addWidget(label);
91 label_2 =
new QLabel(TranscodeDialog);
92 label_2->setObjectName(
"label_2");
93 label_2->setAlignment(Qt::AlignmentFlag::AlignCenter);
95 horizontalLayout->addWidget(label_2);
97 label_3 =
new QLabel(TranscodeDialog);
98 label_3->setObjectName(
"label_3");
99 label_3->setAlignment(Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter);
101 horizontalLayout->addWidget(label_3);
104 verticalLayout->addLayout(horizontalLayout);
106 horizontalSlider =
new QSlider(TranscodeDialog);
107 horizontalSlider->setObjectName(
"horizontalSlider");
108 horizontalSlider->setMaximum(2);
109 horizontalSlider->setPageStep(1);
110 horizontalSlider->setValue(0);
111 horizontalSlider->setSliderPosition(0);
112 horizontalSlider->setOrientation(Qt::Orientation::Horizontal);
113 horizontalSlider->setTickPosition(QSlider::TickPosition::TicksBothSides);
115 verticalLayout->addWidget(horizontalSlider);
117 horizontalLayout_2 =
new QHBoxLayout();
118 horizontalLayout_2->setObjectName(
"horizontalLayout_2");
119 label_4 =
new QLabel(TranscodeDialog);
120 label_4->setObjectName(
"label_4");
121 label_4->setAlignment(Qt::AlignmentFlag::AlignLeading|Qt::AlignmentFlag::AlignLeft|Qt::AlignmentFlag::AlignVCenter);
123 horizontalLayout_2->addWidget(label_4);
125 label_5 =
new QLabel(TranscodeDialog);
126 label_5->setObjectName(
"label_5");
127 label_5->setAlignment(Qt::AlignmentFlag::AlignCenter);
129 horizontalLayout_2->addWidget(label_5);
131 label_6 =
new QLabel(TranscodeDialog);
132 label_6->setObjectName(
"label_6");
133 label_6->setAlignment(Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter);
135 horizontalLayout_2->addWidget(label_6);
138 verticalLayout->addLayout(horizontalLayout_2);
140 formatLabel =
new QLabel(TranscodeDialog);
141 formatLabel->setObjectName(
"formatLabel");
142 formatLabel->setText(QString::fromUtf8(
"formatLabel"));
143 formatLabel->setAlignment(Qt::AlignmentFlag::AlignCenter);
145 verticalLayout->addWidget(formatLabel);
147 checkBox =
new QCheckBox(TranscodeDialog);
148 checkBox->setObjectName(
"checkBox");
150 verticalLayout->addWidget(checkBox);
152 advancedWidget =
new QWidget(TranscodeDialog);
153 advancedWidget->setObjectName(
"advancedWidget");
154 verticalLayout_2 =
new QVBoxLayout(advancedWidget);
155 verticalLayout_2->setObjectName(
"verticalLayout_2");
156 gridLayout =
new QGridLayout();
157 gridLayout->setObjectName(
"gridLayout");
158 fpsWidget =
new FrameRateWidget(advancedWidget);
159 fpsWidget->setObjectName(
"fpsWidget");
161 gridLayout->addWidget(fpsWidget, 4, 1, 1, 1);
163 convert709CheckBox =
new QCheckBox(advancedWidget);
164 convert709CheckBox->setObjectName(
"convert709CheckBox");
166 gridLayout->addWidget(convert709CheckBox, 6, 1, 1, 1);
168 subclipCheckBox =
new QCheckBox(advancedWidget);
169 subclipCheckBox->setObjectName(
"subclipCheckBox");
171 gridLayout->addWidget(subclipCheckBox, 1, 1, 1, 1);
173 advancedCheckBox =
new QCheckBox(advancedWidget);
174 advancedCheckBox->setObjectName(
"advancedCheckBox");
176 gridLayout->addWidget(advancedCheckBox, 9, 1, 1, 1);
178 frcComboBox =
new QComboBox(advancedWidget);
179 frcComboBox->setObjectName(
"frcComboBox");
181 gridLayout->addWidget(frcComboBox, 5, 1, 1, 1);
183 line =
new QFrame(advancedWidget);
184 line->setObjectName(
"line");
185 line->setFrameShape(QFrame::Shape::HLine);
186 line->setFrameShadow(QFrame::Shadow::Sunken);
188 gridLayout->addWidget(line, 0, 0, 1, 2);
190 fpsCheckBox =
new QCheckBox(advancedWidget);
191 fpsCheckBox->setObjectName(
"fpsCheckBox");
193 gridLayout->addWidget(fpsCheckBox, 3, 1, 1, 1);
195 sampleRateLabel =
new QLabel(advancedWidget);
196 sampleRateLabel->setObjectName(
"sampleRateLabel");
197 sampleRateLabel->setEnabled(
true);
198 sampleRateLabel->setAlignment(Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter);
200 gridLayout->addWidget(sampleRateLabel, 7, 0, 1, 1);
202 fpsLabel =
new QLabel(advancedWidget);
203 fpsLabel->setObjectName(
"fpsLabel");
204 fpsLabel->setAlignment(Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter);
206 gridLayout->addWidget(fpsLabel, 4, 0, 1, 1);
208 deinterlaceCheckBox =
new QCheckBox(advancedWidget);
209 deinterlaceCheckBox->setObjectName(
"deinterlaceCheckBox");
211 gridLayout->addWidget(deinterlaceCheckBox, 2, 1, 1, 1);
213 frcLabel =
new QLabel(advancedWidget);
214 frcLabel->setObjectName(
"frcLabel");
215 frcLabel->setAlignment(Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter);
217 gridLayout->addWidget(frcLabel, 5, 0, 1, 1);
219 sampleRateComboBox =
new QComboBox(advancedWidget);
220 sampleRateComboBox->addItem(QString());
221 sampleRateComboBox->addItem(QString());
222 sampleRateComboBox->addItem(QString());
223 sampleRateComboBox->setObjectName(
"sampleRateComboBox");
224 sampleRateComboBox->setEnabled(
true);
226 gridLayout->addWidget(sampleRateComboBox, 7, 1, 1, 1);
228 gridLayout->setColumnStretch(1, 1);
230 verticalLayout_2->addLayout(gridLayout);
233 verticalLayout->addWidget(advancedWidget);
235 buttonBox =
new QDialogButtonBox(TranscodeDialog);
236 buttonBox->setObjectName(
"buttonBox");
237 buttonBox->setOrientation(Qt::Orientation::Horizontal);
238 buttonBox->setStandardButtons(QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Ok);
240 verticalLayout->addWidget(buttonBox);
243 retranslateUi(TranscodeDialog);
244 QObject::connect(buttonBox, &QDialogButtonBox::accepted, TranscodeDialog, qOverload<>(&QDialog::accept));
245 QObject::connect(buttonBox, &QDialogButtonBox::rejected, TranscodeDialog, qOverload<>(&QDialog::reject));
247 QMetaObject::connectSlotsByName(TranscodeDialog);
250 void retranslateUi(QDialog *TranscodeDialog)
252 label->setText(QCoreApplication::translate(
"TranscodeDialog",
"good",
nullptr));
253 label_2->setText(QCoreApplication::translate(
"TranscodeDialog",
"better",
nullptr));
254 label_3->setText(QCoreApplication::translate(
"TranscodeDialog",
"best",
nullptr));
255 label_4->setText(QCoreApplication::translate(
"TranscodeDialog",
"medium",
nullptr));
256 label_5->setText(QCoreApplication::translate(
"TranscodeDialog",
"BIG",
nullptr));
257 label_6->setText(QCoreApplication::translate(
"TranscodeDialog",
"<span style=\" font-weight:700; color:#ff0000;\">HUGE</span>",
nullptr));
258 checkBox->setText(QCoreApplication::translate(
"TranscodeDialog",
"Do not show this anymore.",
"Convert to edit-friendly format dialog"));
259#if QT_CONFIG(tooltip)
260 fpsWidget->setToolTip(QCoreApplication::translate(
"TranscodeDialog",
"Override the frame rate to a specific value.",
nullptr));
262#if QT_CONFIG(tooltip)
263 convert709CheckBox->setToolTip(QCoreApplication::translate(
"TranscodeDialog",
"This is useful when the source video is HDR (High Dynamic Range), which requires tone-mapping to the old, standard range.",
nullptr));
265 convert709CheckBox->setText(QCoreApplication::translate(
"TranscodeDialog",
"Convert to BT.709 colorspace",
nullptr));
266#if QT_CONFIG(tooltip)
267 subclipCheckBox->setToolTip(QCoreApplication::translate(
"TranscodeDialog",
"This option converts only the trimmed portion of the source\n"
268"clip plus a little instead of the entire clip. When this option is\n"
269"used not all of the matching source clips are replaced, instead\n"
270"only the currently selected one.",
nullptr));
272 subclipCheckBox->setText(QCoreApplication::translate(
"TranscodeDialog",
"Use sub-clip",
nullptr));
273#if QT_CONFIG(tooltip)
274 advancedCheckBox->setToolTip(QCoreApplication::translate(
"TranscodeDialog",
"Enable this to keep the Advanced section open for the next time this dialog appears.",
nullptr));
276 advancedCheckBox->setText(QCoreApplication::translate(
"TranscodeDialog",
"Keep Advanced open",
nullptr));
277#if QT_CONFIG(tooltip)
278 frcComboBox->setToolTip(QCoreApplication::translate(
"TranscodeDialog",
"Frame rate conversion method\n"
280"Duplicate: Duplicate frames.\n"
281"Blend: Blend frames.\n"
282"Motion Compensation: Interpolate new frames using motion compensation. This method is very slow and may result in artifacts.",
nullptr));
284#if QT_CONFIG(tooltip)
285 fpsCheckBox->setToolTip(QCoreApplication::translate(
"TranscodeDialog",
"Change the frame rate from its source.",
nullptr));
287 fpsCheckBox->setText(QCoreApplication::translate(
"TranscodeDialog",
"Override frame rate",
nullptr));
288 sampleRateLabel->setText(QCoreApplication::translate(
"TranscodeDialog",
"Sample rate",
nullptr));
289 fpsLabel->setText(QCoreApplication::translate(
"TranscodeDialog",
"Frames/sec",
nullptr));
290#if QT_CONFIG(tooltip)
291 deinterlaceCheckBox->setToolTip(QCoreApplication::translate(
"TranscodeDialog",
"If the source is interlaced, each interlaced field will be converted to a progressive frame resulting in double frame rate.",
nullptr));
293 deinterlaceCheckBox->setText(QCoreApplication::translate(
"TranscodeDialog",
"Deinterlace",
nullptr));
294 frcLabel->setText(QCoreApplication::translate(
"TranscodeDialog",
"Frame rate conversion",
nullptr));
295 sampleRateComboBox->setItemText(0, QCoreApplication::translate(
"TranscodeDialog",
"Same as original",
nullptr));
296 sampleRateComboBox->setItemText(1, QCoreApplication::translate(
"TranscodeDialog",
"44100",
nullptr));
297 sampleRateComboBox->setItemText(2, QCoreApplication::translate(
"TranscodeDialog",
"48000",
nullptr));
299 sampleRateComboBox->setCurrentText(QCoreApplication::translate(
"TranscodeDialog",
"Same as original",
nullptr));
300 (void)TranscodeDialog;
306 class TranscodeDialog:
public Ui_TranscodeDialog {};