18#ifndef AVFORMATPRODUCERWIDGET_H
19#define AVFORMATPRODUCERWIDGET_H
21#include "abstractproducerwidget.h"
23#include "dialogs/transcodedialog.h"
29class AvformatProducerWidget;
31class QFileSystemWatcher;
33class AvformatProducerWidget :
public QWidget,
public AbstractProducerWidget
38 explicit AvformatProducerWidget(QWidget *parent = 0);
39 ~AvformatProducerWidget();
42 Mlt::Producer *newProducer(Mlt::Profile &);
43 void setProducer(Mlt::Producer *);
46 void updateDuration();
48 void offerConvert(QString message,
bool set709Convert =
false,
bool setSubClip =
false);
51 void producerChanged(Mlt::Producer *);
52 void producerReopened(
bool play);
54 void showInFiles(QString);
57 void keyPressEvent(QKeyEvent *event);
61 void onProducerChanged(Mlt::Producer *);
63 void on_videoTrackComboBox_activated(
int index);
65 void on_audioTrackComboBox_activated(
int index);
67 void on_scanComboBox_activated(
int index);
69 void on_fieldOrderComboBox_activated(
int index);
71 void on_aspectNumSpinBox_valueChanged(
int);
73 void on_aspectDenSpinBox_valueChanged(
int);
75 void on_durationSpinBox_editingFinished();
77 void on_speedSpinBox_editingFinished();
79 void on_timelineDurationText_editingFinished();
81 void on_pitchCheckBox_stateChanged(
int state);
83 void on_syncSlider_valueChanged(
int value);
85 void on_actionOpenFolder_triggered();
87 void on_menuButton_clicked();
89 void on_actionCopyFullFilePath_triggered();
91 void on_notesTextEdit_textChanged();
93 void on_actionFFmpegInfo_triggered();
95 void on_actionFFmpegIntegrityCheck_triggered();
97 void on_actionFFmpegConvert_triggered();
99 void on_reverseButton_clicked();
101 void on_actionExtractSubclip_triggered();
103 void on_actionExtractSubtitles_triggered();
105 void on_actionSetFileDate_triggered();
107 void on_rangeComboBox_activated(
int index);
109 void on_filenameLabel_editingFinished();
111 void on_convertButton_clicked();
113 void on_actionDisableProxy_triggered(
bool checked);
115 void on_actionMakeProxy_triggered();
117 void on_actionDeleteProxy_triggered();
119 void on_actionCopyHashCode_triggered();
121 void on_proxyButton_clicked();
123 void on_actionReset_triggered();
125 void on_actionSetEquirectangular_triggered();
127 void on_actionFFmpegVideoQuality_triggered();
129 void on_rotationComboBox_activated(
int index);
131 void on_actionExportGPX_triggered();
133 void on_lutButton_clicked();
135 void on_lutPasteButton_clicked();
137 void on_lutCopyButton_clicked();
139 void on_lutClearButton_clicked();
141 void on_speedComboBox_textActivated(
const QString &arg1);
144 Ui::AvformatProducerWidget *ui;
145 int m_defaultDuration;
146 bool m_recalcDuration;
148 std::unique_ptr<QFileSystemWatcher> m_watcher;
150 void reopen(Mlt::Producer *p);
151 void recreateProducer(
bool getFrame =
false);
152 bool revertToOriginalResource();
153 void setSyncVisibility();
155 void onOpenOtherAdd();
156 void onOpenOtherRemove();
160 void reloadProducerValues();
161 void on_actionBitrateViewer_triggered();
162 void on_actionShowInFiles_triggered();
163 void on_openWithButton_clicked();
164 void on_reloadButton_clicked();
167class ProbeTask :
public QObject,
public QRunnable
172 explicit ProbeTask(Mlt::Producer *producer);
176 void probeFinished();
179 Mlt::Producer m_producer;