many changes, mostly to export
This commit is contained in:
@@ -302,6 +302,16 @@ void ExportDialog::on_pushButton_2_clicked()
|
||||
close();
|
||||
}
|
||||
|
||||
void ExportDialog::render_thread_finished() {
|
||||
prep_ui_for_render(false);
|
||||
}
|
||||
|
||||
void ExportDialog::prep_ui_for_render(bool rendering) {
|
||||
ui->pushButton->setEnabled(!rendering);
|
||||
ui->pushButton_2->setEnabled(!rendering);
|
||||
ui->renderCancel->setEnabled(rendering);
|
||||
}
|
||||
|
||||
void ExportDialog::on_pushButton_clicked()
|
||||
{
|
||||
QString ext;
|
||||
@@ -399,15 +409,20 @@ void ExportDialog::on_pushButton_clicked()
|
||||
}
|
||||
QString filename = QFileDialog::getSaveFileName(this, "Export Media", "", format_strings[ui->formatCombobox->currentIndex()] + " (*." + ext + ")");
|
||||
if (!filename.isEmpty()) {
|
||||
ExportThread* et = new ExportThread();
|
||||
et = new ExportThread();
|
||||
|
||||
et->surface.create();
|
||||
|
||||
connect(et, SIGNAL(finished()), et, SLOT(deleteLater()));
|
||||
connect(et, SIGNAL(finished()), this, SLOT(render_thread_finished()));
|
||||
connect(et, SIGNAL(progress_changed(int)), this, SLOT(update_progress_bar(int)));
|
||||
|
||||
panel_viewer->viewer_widget->enable_paint = false;
|
||||
panel_viewer->viewer_widget->context()->doneCurrent();
|
||||
panel_viewer->viewer_widget->context()->moveToThread(et);
|
||||
panel_viewer->viewer_widget->force_audio = true;
|
||||
|
||||
prep_ui_for_render(true);
|
||||
|
||||
et->filename = filename;
|
||||
et->video_enabled = ui->videoGroupbox->isChecked();
|
||||
@@ -421,6 +436,8 @@ void ExportDialog::on_pushButton_clicked()
|
||||
et->audio_sampling_rate = 48000;
|
||||
et->audio_bitrate = ui->audiobitrateSpinbox->value();
|
||||
|
||||
et->ed = this;
|
||||
|
||||
et->start();
|
||||
}
|
||||
}
|
||||
@@ -435,3 +452,8 @@ void ExportDialog::set_defaults(Sequence* s) {
|
||||
void ExportDialog::update_progress_bar(int value) {
|
||||
ui->progressBar->setValue(value);
|
||||
}
|
||||
|
||||
void ExportDialog::on_renderCancel_clicked()
|
||||
{
|
||||
et->fail = true;
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ class ExportDialog;
|
||||
}
|
||||
|
||||
struct Sequence;
|
||||
class ExportThread;
|
||||
|
||||
class ExportDialog : public QDialog
|
||||
{
|
||||
@@ -27,12 +28,19 @@ private slots:
|
||||
|
||||
void update_progress_bar(int value);
|
||||
|
||||
void on_renderCancel_clicked();
|
||||
|
||||
void render_thread_finished();
|
||||
|
||||
private:
|
||||
Ui::ExportDialog *ui;
|
||||
|
||||
QVector<QString> format_strings;
|
||||
QVector<int> format_vcodecs;
|
||||
QVector<int> format_acodecs;
|
||||
|
||||
ExportThread* et;
|
||||
void prep_ui_for_render(bool rendering);
|
||||
};
|
||||
|
||||
#endif // EXPORTDIALOG_H
|
||||
|
||||
+28
-8
@@ -172,14 +172,34 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QProgressBar" name="progressBar">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>0</number>
|
||||
</property>
|
||||
</widget>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||
<item>
|
||||
<widget class="QProgressBar" name="progressBar">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>0</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="renderCancel">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>16777215</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>x</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
|
||||
Reference in New Issue
Block a user