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_pitchCheckBox_stateChanged(
int state);
81 void on_syncSlider_valueChanged(
int value);
83 void on_actionOpenFolder_triggered();
85 void on_menuButton_clicked();
87 void on_actionCopyFullFilePath_triggered();
89 void on_notesTextEdit_textChanged();
91 void on_actionFFmpegInfo_triggered();
93 void on_actionFFmpegIntegrityCheck_triggered();
95 void on_actionFFmpegConvert_triggered();
97 void on_reverseButton_clicked();
99 void on_actionExtractSubclip_triggered();
101 void on_actionExtractSubtitles_triggered();
103 void on_actionSetFileDate_triggered();
105 void on_rangeComboBox_activated(
int index);
107 void on_filenameLabel_editingFinished();
109 void on_convertButton_clicked();
111 void on_actionDisableProxy_triggered(
bool checked);
113 void on_actionMakeProxy_triggered();
115 void on_actionDeleteProxy_triggered();
117 void on_actionCopyHashCode_triggered();
119 void on_proxyButton_clicked();
121 void on_actionReset_triggered();
123 void on_actionSetEquirectangular_triggered();
125 void on_actionFFmpegVideoQuality_triggered();
127 void on_rotationComboBox_activated(
int index);
129 void on_actionExportGPX_triggered();
131 void on_speedComboBox_textActivated(
const QString &arg1);
134 Ui::AvformatProducerWidget *ui;
135 int m_defaultDuration;
136 bool m_recalcDuration;
138 std::unique_ptr<QFileSystemWatcher> m_watcher;
140 void reopen(Mlt::Producer *p);
141 void recreateProducer(
bool getFrame =
false);
142 bool revertToOriginalResource();
143 void setSyncVisibility();
145 void onOpenOtherAdd();
146 void onOpenOtherRemove();
150 void reloadProducerValues();
151 void on_actionBitrateViewer_triggered();
152 void on_actionShowInFiles_triggered();
153 void on_openWithButton_clicked();
154 void on_reloadButton_clicked();
157class ProbeTask :
public QObject,
public QRunnable
162 explicit ProbeTask(Mlt::Producer *producer);
166 void probeFinished();
169 Mlt::Producer m_producer;