Olive
exportdialog.h
Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef EXPORTDIALOG_H
22 #define EXPORTDIALOG_H
23 
24 #include <QDialog>
25 #include <QComboBox>
26 #include <QSpinBox>
27 #include <QDoubleSpinBox>
28 #include <QLabel>
29 #include <QProgressBar>
30 #include <QGroupBox>
31 
32 #include "project/sequence.h"
33 
34 #include "io/exportthread.h"
35 
36 class ExportDialog : public QDialog
37 {
38  Q_OBJECT
39 public:
40  explicit ExportDialog(QWidget *parent = 0);
41  ~ExportDialog();
42  QString export_error;
43 
44 private slots:
45  void format_changed(int index);
46  void export_action();
47  void update_progress_bar(int value, qint64 remaining_ms);
48  void cancel_render();
50  void vcodec_changed(int index);
51  void comp_type_changed(int index);
53 
54 private:
55  QVector<QString> format_strings;
56  void setup_ui();
57 
59  void prep_ui_for_render(bool r);
60  bool cancelled;
61 
62  void add_codec_to_combobox(QComboBox* box, enum AVCodecID codec);
63 
65 
66  QComboBox* rangeCombobox;
67  QSpinBox* widthSpinbox;
68  QDoubleSpinBox* videobitrateSpinbox;
70  QDoubleSpinBox* framerateSpinbox;
71  QComboBox* vcodecCombobox;
72  QComboBox* acodecCombobox;
75  QProgressBar* progressBar;
76  QComboBox* formatCombobox;
77  QSpinBox* heightSpinbox;
78  QPushButton* export_button;
79  QPushButton* cancel_button;
80  QPushButton* renderCancel;
81  QGroupBox* videoGroupbox;
82  QGroupBox* audioGroupbox;
84 };
85 
86 #endif // EXPORTDIALOG_H
QProgressBar * progressBar
Definition: exportdialog.h:75
void setup_ui()
Definition: exportdialog.cpp:628
QPushButton * export_button
Definition: exportdialog.h:78
QGroupBox * audioGroupbox
Definition: exportdialog.h:82
Definition: exportthread.h:71
void open_advanced_video_dialog()
Definition: exportdialog.cpp:623
QComboBox * acodecCombobox
Definition: exportdialog.h:72
void add_codec_to_combobox(QComboBox *box, enum AVCodecID codec)
Definition: exportdialog.cpp:119
bool cancelled
Definition: exportdialog.h:60
VideoCodecParams vcodec_params
Definition: exportdialog.h:64
void render_thread_finished()
Definition: exportdialog.cpp:327
ExportThread * et
Definition: exportdialog.h:58
QGroupBox * videoGroupbox
Definition: exportdialog.h:81
QVector< QString > format_strings
Definition: exportdialog.h:55
Definition: exportthread.h:67
~ExportDialog()
Definition: exportdialog.cpp:116
QComboBox * rangeCombobox
Definition: exportdialog.h:66
void vcodec_changed(int index)
Definition: exportdialog.cpp:568
QDoubleSpinBox * framerateSpinbox
Definition: exportdialog.h:70
QSpinBox * samplingRateSpinbox
Definition: exportdialog.h:73
QComboBox * compressionTypeCombobox
Definition: exportdialog.h:83
QString export_error
Definition: exportdialog.h:42
QSpinBox * heightSpinbox
Definition: exportdialog.h:77
QSpinBox * audiobitrateSpinbox
Definition: exportdialog.h:74
void cancel_render()
Definition: exportdialog.cpp:562
void comp_type_changed(int index)
Definition: exportdialog.cpp:600
Definition: exportdialog.h:36
QComboBox * vcodecCombobox
Definition: exportdialog.h:71
void update_progress_bar(int value, qint64 remaining_ms)
Definition: exportdialog.cpp:552
QDoubleSpinBox * videobitrateSpinbox
Definition: exportdialog.h:68
QLabel * videoBitrateLabel
Definition: exportdialog.h:69
QPushButton * renderCancel
Definition: exportdialog.h:80
void prep_ui_for_render(bool r)
Definition: exportdialog.cpp:344
void format_changed(int index)
Definition: exportdialog.cpp:133
ExportDialog(QWidget *parent=0)
Definition: exportdialog.cpp:70
QSpinBox * widthSpinbox
Definition: exportdialog.h:67
QPushButton * cancel_button
Definition: exportdialog.h:79
void export_action()
Definition: exportdialog.cpp:350
QComboBox * formatCombobox
Definition: exportdialog.h:76