[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Traverso-commit] traverso/src core/ReadSource.cpp traverso/Inter...
From: |
Remon Sijrier |
Subject: |
[Traverso-commit] traverso/src core/ReadSource.cpp traverso/Inter... |
Date: |
Mon, 15 Oct 2007 10:00:15 +0000 |
CVSROOT: /sources/traverso
Module name: traverso
Changes by: Remon Sijrier <r_sijrier> 07/10/15 10:00:14
Modified files:
src/core : ReadSource.cpp
src/traverso : Interface.cpp Interface.h traverso.pro
Added files:
src/traverso/dialogs: ExportDialog.cpp ExportDialog.h
src/traverso/ui: ExportDialog.ui
Log message:
* Split export to harddisk part from ExportWidget and move to newly
created ExportDialog
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/ReadSource.cpp?cvsroot=traverso&r1=1.74&r2=1.75
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/dialogs/ExportDialog.cpp?cvsroot=traverso&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/dialogs/ExportDialog.h?cvsroot=traverso&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/Interface.cpp?cvsroot=traverso&r1=1.101&r2=1.102
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/Interface.h?cvsroot=traverso&r1=1.43&r2=1.44
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/traverso.pro?cvsroot=traverso&r1=1.74&r2=1.75
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/ui/ExportDialog.ui?cvsroot=traverso&rev=1.1
Patches:
Index: core/ReadSource.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/ReadSource.cpp,v
retrieving revision 1.74
retrieving revision 1.75
diff -u -b -r1.74 -r1.75
--- core/ReadSource.cpp 13 Oct 2007 21:47:01 -0000 1.74
+++ core/ReadSource.cpp 15 Oct 2007 10:00:12 -0000 1.75
@@ -643,7 +643,6 @@
set_output_rate(m_diskio->get_output_rate());
prepare_rt_buffers();
if (m_audioReader) {
- printf("setting resample decode buffer\n");
m_audioReader->set_resample_decode_buffer(m_diskio->get_resample_decode_buffer());
}
Index: traverso/Interface.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/Interface.cpp,v
retrieving revision 1.101
retrieving revision 1.102
diff -u -b -r1.101 -r1.102
--- traverso/Interface.cpp 10 Oct 2007 16:41:57 -0000 1.101
+++ traverso/Interface.cpp 15 Oct 2007 10:00:13 -0000 1.102
@@ -33,6 +33,7 @@
#include <QMessageBox>
#include <QDesktopServices>
#include <QTextStream>
+#include <QStackedWidget>
#include "Interface.h"
#include "BusMonitor.h"
@@ -41,7 +42,6 @@
#include "FadeCurve.h"
#include "Config.h"
#include "Plugin.h"
-#include "ExportWidget.h"
#include "CorrelationMeterWidget.h"
#include "SpectralMeterWidget.h"
@@ -65,6 +65,7 @@
#include "dialogs/InsertSilenceDialog.h"
#include "dialogs/RestoreProjectBackupDialog.h"
#include "dialogs/ProjectConverterDialog.h"
+#include "dialogs/ExportDialog.h"
// Always put me below _all_ includes, this is needed
// in case we run with memory leak detection enabled!
@@ -166,7 +167,7 @@
// Some default values.
currentSongWidget = 0;
- exportWidget = 0;
+ m_exportDialog = 0;
m_settingsdialog = 0;
m_projectManagerDialog = 0;
m_openProjectDialog = 0;
@@ -353,12 +354,12 @@
Command * Interface::show_export_widget( )
{
- if (! exportWidget) {
- exportWidget = new ExportWidget(this);
+ if (! m_exportDialog) {
+ m_exportDialog = new ExportDialog(this);
}
- if (exportWidget->isHidden()) {
- exportWidget->set_was_closed();
- exportWidget->show();
+ if (m_exportDialog->isHidden()) {
+// m_exportDialog->set_was_closed();
+ m_exportDialog->show();
}
return (Command*) 0;
}
Index: traverso/Interface.h
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/Interface.h,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -b -r1.43 -r1.44
--- traverso/Interface.h 10 Oct 2007 16:41:58 -0000 1.43
+++ traverso/Interface.h 15 Oct 2007 10:00:13 -0000 1.44
@@ -36,7 +36,7 @@
class Command;
class QLabel;
-class ExportWidget;
+class ExportDialog;
class QStackedWidget;
class QHBoxLayout;
class QVBoxLayout;
@@ -100,7 +100,7 @@
SongWidget* currentSongWidget;
QList<ViewPort* > currentProjectViewPortList;
QHash<QString, QMenu*> m_contextMenus;
- ExportWidget* exportWidget;
+ ExportDialog* m_exportDialog;
QUndoView* historyWidget;
QDockWidget* historyDW;
QDockWidget* busMonitorDW;
Index: traverso/traverso.pro
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/traverso.pro,v
retrieving revision 1.74
retrieving revision 1.75
diff -u -b -r1.74 -r1.75
--- traverso/traverso.pro 11 Oct 2007 13:01:55 -0000 1.74
+++ traverso/traverso.pro 15 Oct 2007 10:00:13 -0000 1.75
@@ -55,7 +55,8 @@
widgets/ResourcesWidget.h \
dialogs/AudioClipEditDialog.h \
dialogs/RestoreProjectBackupDialog.h \
- dialogs/ProjectConverterDialog.h
+ dialogs/ProjectConverterDialog.h \
+ dialogs/ExportDialog.h
SOURCES += \
Traverso.cpp \
BusMonitor.cpp \
@@ -86,7 +87,8 @@
widgets/ResourcesWidget.cpp \
dialogs/AudioClipEditDialog.cpp \
dialogs/RestoreProjectBackupDialog.cpp \
- dialogs/ProjectConverterDialog.cpp
+ dialogs/ProjectConverterDialog.cpp \
+ dialogs/ExportDialog.cpp
FORMS += ui/ExportWidget.ui \
ui/AudioSourcesManagerWidget.ui \
ui/SpectralMeterConfigWidget.ui \
@@ -112,7 +114,8 @@
ui/InsertSilenceDialog.ui \
ui/AudioClipEditWidget.ui \
ui/RestoreProjectBackupDialog.ui \
- ui/ProjectConverterDialog.ui
+ ui/ProjectConverterDialog.ui \
+ ui/ExportDialog.ui
INCLUDEPATH += ../core \
../commands \
Index: traverso/dialogs/ExportDialog.cpp
===================================================================
RCS file: traverso/dialogs/ExportDialog.cpp
diff -N traverso/dialogs/ExportDialog.cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ traverso/dialogs/ExportDialog.cpp 15 Oct 2007 10:00:13 -0000 1.1
@@ -0,0 +1,486 @@
+/**
+ Copyright (C) 2005-2007 Remon Sijrier
+
+ This file is part of Traverso
+
+ Traverso is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+
+*/
+
+#include "ExportDialog.h"
+#include "ui_ExportDialog.h"
+
+#include "libtraversocore.h"
+
+#include <QFileDialog>
+#include <QByteArray>
+#include <QMessageBox>
+#include <QDebug>
+
+#include "Export.h"
+#include "Config.h"
+#include <AudioDevice.h>
+
+
+RELAYTOOL_WAVPACK
+RELAYTOOL_FLAC
+RELAYTOOL_MP3LAME
+RELAYTOOL_VORBISENC
+
+// Always put me below _all_ includes, this is needed
+// in case we run with memory leak detection enabled!
+#include "Debugger.h"
+
+
+
+ExportDialog::ExportDialog( QWidget * parent )
+ : QDialog(parent)
+ , m_exportSpec(0)
+{
+ setupUi(this);
+
+ abortButton->hide();
+ QIcon icon =
QApplication::style()->standardIcon(QStyle::SP_DirClosedIcon);
+ fileSelectButton->setIcon(icon);
+
+ set_project(pm().get_project());
+
+ //bitdepthComboBox->addItem("8", 8);
+ bitdepthComboBox->addItem("16", 16);
+ bitdepthComboBox->addItem("24", 24);
+ bitdepthComboBox->addItem("32", 32);
+ bitdepthComboBox->addItem("32 (float)", 1);
+
+ channelComboBox->addItem("Mono", 1);
+ channelComboBox->addItem("Stereo", 2);
+
+ sampleRateComboBox->addItem("8.000 Hz", 8000);
+ sampleRateComboBox->addItem("11.025 Hz", 11025);
+ sampleRateComboBox->addItem("22.050 Hz", 22050);
+ sampleRateComboBox->addItem("44.100 Hz", 44100);
+ sampleRateComboBox->addItem("48.000 Hz", 48000);
+ sampleRateComboBox->addItem("88.200 Hz", 88200);
+ sampleRateComboBox->addItem("96.000 Hz", 96000);
+
+ audioTypeComboBox->addItem("WAV", "wav");
+ audioTypeComboBox->addItem("AIFF", "aiff");
+ if (libFLAC_is_present) {
+ audioTypeComboBox->addItem("FLAC", "flac");
+ }
+ if (libwavpack_is_present) {
+ audioTypeComboBox->addItem("WAVPACK", "wavpack");
+ }
+ if (libmp3lame_is_present) {
+ audioTypeComboBox->addItem("MP3", "mp3");
+ }
+ if (libvorbisenc_is_present) {
+ audioTypeComboBox->addItem("OGG", "ogg");
+ }
+
+ bitdepthComboBox->setCurrentIndex(bitdepthComboBox->findData(16));
+ channelComboBox->setCurrentIndex(channelComboBox->findData(2));
+
+ int rateIndex =
sampleRateComboBox->findData(audiodevice().get_sample_rate());
+ if (rateIndex == -1) {
+ rateIndex = 0;
+ }
+ sampleRateComboBox->setCurrentIndex(rateIndex);
+ resampleQualityComboBox->setCurrentIndex(1);
+
+ connect(closeButton, SIGNAL(clicked()), this, SLOT(hide()));
+ connect(&pm(), SIGNAL(projectLoaded(Project*)), this,
SLOT(set_project(Project*)));
+ connect(audioTypeComboBox, SIGNAL(currentIndexChanged(int)), this,
SLOT(audio_type_changed(int)));
+
+
+ // Mp3 Options Setup
+ mp3MethodComboBox->addItem("Constant Bitrate", "cbr");
+ mp3MethodComboBox->addItem("Average Bitrate", "abr");
+ mp3MethodComboBox->addItem("Variable Bitrate", "vbr-new");
+
+ mp3MinBitrateComboBox->addItem("32 - recommended", "32");
+ mp3MinBitrateComboBox->addItem("64", "64");
+ mp3MinBitrateComboBox->addItem("96", "96");
+ mp3MinBitrateComboBox->addItem("128", "128");
+ mp3MinBitrateComboBox->addItem("160", "160");
+ mp3MinBitrateComboBox->addItem("192", "192");
+ mp3MinBitrateComboBox->addItem("256", "256");
+ mp3MinBitrateComboBox->addItem("320", "320");
+
+ mp3MaxBitrateComboBox->addItem("32", "32");
+ mp3MaxBitrateComboBox->addItem("64", "64");
+ mp3MaxBitrateComboBox->addItem("96", "96");
+ mp3MaxBitrateComboBox->addItem("128", "128");
+ mp3MaxBitrateComboBox->addItem("160", "160");
+ mp3MaxBitrateComboBox->addItem("192", "192");
+ mp3MaxBitrateComboBox->addItem("256", "256");
+ mp3MaxBitrateComboBox->addItem("320", "320");
+
+
mp3MethodComboBox->setCurrentIndex(mp3MethodComboBox->findData("vbr-new"));
+
mp3MinBitrateComboBox->setCurrentIndex(mp3MinBitrateComboBox->findData("32"));
+
mp3MaxBitrateComboBox->setCurrentIndex(mp3MaxBitrateComboBox->findData("192"));
+
+ mp3OptionsGroupBox->hide();
+ connect(mp3MethodComboBox, SIGNAL(currentIndexChanged(int)), this,
SLOT(mp3_method_changed(int)));
+
+
+ // Ogg Options Setup
+ oggMethodComboBox->addItem("Constant Bitrate", "manual");
+ oggMethodComboBox->addItem("Variable Bitrate", "vbr");
+
+ oggBitrateComboBox->addItem("45", "45");
+ oggBitrateComboBox->addItem("64", "64");
+ oggBitrateComboBox->addItem("96", "96");
+ oggBitrateComboBox->addItem("112", "112");
+ oggBitrateComboBox->addItem("128", "128");
+ oggBitrateComboBox->addItem("160", "160");
+ oggBitrateComboBox->addItem("192", "192");
+ oggBitrateComboBox->addItem("224", "224");
+ oggBitrateComboBox->addItem("256", "256");
+ oggBitrateComboBox->addItem("320", "320");
+ oggBitrateComboBox->addItem("400", "400");
+
+ oggMethodComboBox->setCurrentIndex(oggMethodComboBox->findData("vbr"));
+
oggBitrateComboBox->setCurrentIndex(oggBitrateComboBox->findData("160"));
+ ogg_method_changed(oggMethodComboBox->findData("vbr"));
+
+ oggOptionsGroupBox->hide();
+ connect(oggMethodComboBox, SIGNAL(currentIndexChanged(int)), this,
SLOT(ogg_method_changed(int)));
+
+
+ // WavPack option
+ wacpackGroupBox->hide();
+ wavpackCompressionComboBox->addItem("Very high", "very_high");
+ wavpackCompressionComboBox->addItem("High", "high");
+ wavpackCompressionComboBox->addItem("Fast", "fast");
+
+ audio_type_changed(0);
+
+ setMaximumSize(400, 250);
+}
+
+ExportDialog::~ ExportDialog( )
+{}
+
+
+bool ExportDialog::is_safe_to_export()
+{
+ PENTER;
+ if (m_project->is_recording()) {
+ info().warning(tr("Export during recording is not supported!"));
+ return false;
+ }
+
+ QDir exportDir;
+ QString dirName = exportDirName->text();
+
+ if (!dirName.isEmpty() && !exportDir.exists(dirName)) {
+ if (!exportDir.mkpath(dirName)) {
+ info().warning(tr("Unable to create export directory!
Please check permissions for this directory: %1").arg(dirName));
+ return false;
+ }
+ }
+
+ return true;
+}
+
+
+void ExportDialog::audio_type_changed(int index)
+{
+ QString newType = audioTypeComboBox->itemData(index).toString();
+
+ if (newType == "mp3") {
+// extraEncodingGroupBox->show();
+ mp3OptionsGroupBox->show();
+ oggOptionsGroupBox->hide();
+ wacpackGroupBox->hide();
+ }
+ else if (newType == "ogg") {
+// extraEncodingGroupBox->show();
+ oggOptionsGroupBox->show();
+ mp3OptionsGroupBox->hide();
+ wacpackGroupBox->hide();
+ }
+ else if (newType == "wavpack") {
+// extraEncodingGroupBox->show();
+ wacpackGroupBox->show();
+ mp3OptionsGroupBox->hide();
+ oggOptionsGroupBox->hide();
+ }
+ else {
+// extraEncodingGroupBox->hide();
+ mp3OptionsGroupBox->hide();
+ wacpackGroupBox->hide();
+ oggOptionsGroupBox->hide();
+ }
+
+ if (newType == "mp3" || newType == "ogg" || newType == "flac") {
+
bitdepthComboBox->setCurrentIndex(bitdepthComboBox->findData(16));
+ bitdepthComboBox->setDisabled(true);
+ }
+ else {
+ bitdepthComboBox->setEnabled(true);
+ }
+}
+
+
+void ExportDialog::mp3_method_changed(int index)
+{
+ QString method = mp3MethodComboBox->itemData(index).toString();
+
+ if (method == "cbr") {
+ mp3MinBitrateComboBox->hide();
+ mp3MinBitrateLabel->hide();
+ mp3MaxBitrateLabel->setText(tr("Bitrate"));
+ }
+ else if (method == "abr") {
+ mp3MinBitrateComboBox->hide();
+ mp3MinBitrateLabel->hide();
+ mp3MaxBitrateLabel->setText(tr("Average Bitrate"));
+ }
+ else {
+// VBR new or VBR old
+ mp3MinBitrateComboBox->show();
+ mp3MinBitrateLabel->show();
+ mp3MaxBitrateLabel->setText(tr("Maximum Bitrate"));
+ }
+}
+
+
+void ExportDialog::ogg_method_changed(int index)
+{
+ QString method = oggMethodComboBox->itemData(index).toString();
+
+ if (method == "manual") {
+ oggBitrateComboBox->show();
+ oggBitrateLabel->show();
+ oggQualitySlider->hide();
+ oggQualityLabel->hide();
+ }
+ else {
+ // VBR
+ oggQualitySlider->show();
+ oggQualityLabel->show();
+ oggBitrateComboBox->hide();
+ oggBitrateLabel->hide();
+ }
+}
+
+
+void ExportDialog::on_startButton_clicked( )
+{
+ if (!is_safe_to_export()) {
+ return;
+ }
+
+ // clear extraformats, it might be different now from previous runs!
+ m_exportSpec->extraFormat.clear();
+
+
+ QString audioType =
audioTypeComboBox->itemData(audioTypeComboBox->currentIndex()).toString();
+ if (audioType == "wav") {
+ m_exportSpec->writerType = "sndfile";
+ m_exportSpec->extraFormat["filetype"] = "wav";
+ }
+ else if (audioType == "aiff") {
+ m_exportSpec->writerType = "sndfile";
+ m_exportSpec->extraFormat["filetype"] = "aiff";
+ }
+ else if (audioType == "flac") {
+ m_exportSpec->writerType = "flac";
+ }
+ else if (audioType == "wavpack") {
+ m_exportSpec->writerType = "wavpack";
+ m_exportSpec->extraFormat["quality"] =
wavpackCompressionComboBox->itemData(wavpackCompressionComboBox->currentIndex()).toString();
+ m_exportSpec->extraFormat["skip_wvx"] =
wavpackUseAlmostLosslessCheckBox->isChecked() ? "true" : "false";
+ }
+ else if (audioType == "mp3") {
+ m_exportSpec->writerType = "lame";
+ m_exportSpec->extraFormat["method"] =
mp3MethodComboBox->itemData(mp3MethodComboBox->currentIndex()).toString();
+ m_exportSpec->extraFormat["minBitrate"] =
mp3MinBitrateComboBox->itemData(mp3MinBitrateComboBox->currentIndex()).toString();
+ m_exportSpec->extraFormat["maxBitrate"] =
mp3MaxBitrateComboBox->itemData(mp3MaxBitrateComboBox->currentIndex()).toString();
+ m_exportSpec->extraFormat["quality"] =
QString::number(mp3QualitySlider->value());
+ }
+ else if (audioType == "ogg") {
+ m_exportSpec->writerType = "vorbis";
+ m_exportSpec->extraFormat["mode"] =
oggMethodComboBox->itemData(oggMethodComboBox->currentIndex()).toString();
+ if (m_exportSpec->extraFormat["mode"] == "manual") {
+ m_exportSpec->extraFormat["bitrateNominal"] =
oggBitrateComboBox->itemData(oggBitrateComboBox->currentIndex()).toString();
+ m_exportSpec->extraFormat["bitrateUpper"] =
oggBitrateComboBox->itemData(oggBitrateComboBox->currentIndex()).toString();
+ }
+ else {
+ m_exportSpec->extraFormat["vbrQuality"] =
QString::number(oggQualitySlider->value());
+ }
+ }
+
+ m_exportSpec->data_width =
bitdepthComboBox->itemData(bitdepthComboBox->currentIndex()).toInt();
+ m_exportSpec->channels =
channelComboBox->itemData(channelComboBox->currentIndex()).toInt();
+ m_exportSpec->sample_rate =
sampleRateComboBox->itemData(sampleRateComboBox->currentIndex()).toInt();
+ m_exportSpec->src_quality = resampleQualityComboBox->currentIndex();
+
+ //TODO Make a ComboBox for this one too!
+ m_exportSpec->dither_type = GDitherTri;
+
+
+ if (allSongsButton->isChecked()) {
+ m_exportSpec->allSongs = true;
+ } else {
+ m_exportSpec->allSongs = false;
+ }
+
+ m_exportSpec->exportdir = exportDirName->text();
+ if (m_exportSpec->exportdir.size() > 1 &&
(m_exportSpec->exportdir.at(m_exportSpec->exportdir.size()-1).decomposition()
!= "/")) {
+ m_exportSpec->exportdir = m_exportSpec->exportdir.append("/");
+ }
+ QString name = m_exportSpec->exportdir;
+ QFileInfo fi(m_exportSpec->name);
+ name += fi.completeBaseName() + ".toc";
+ m_exportSpec->tocFileName = name;
+
+ m_exportSpec->normalize = normalizeCheckBox->isChecked();
+ m_exportSpec->isRecording = false;
+ m_project->export_project(m_exportSpec);
+
+ startButton->hide();
+ closeButton->hide();
+ abortButton->show();
+}
+
+
+void ExportDialog::on_closeButton_clicked()
+{
+ hide();
+}
+
+
+void ExportDialog::on_abortButton_clicked( )
+{
+ m_exportSpec->stop = true;
+ m_exportSpec->breakout = true;
+}
+
+
+void ExportDialog::on_fileSelectButton_clicked( )
+{
+ if (!m_project) {
+ info().information(tr("No project loaded, to export a project,
load it first!"));
+ return;
+ }
+
+ QString dirName = QFileDialog::getExistingDirectory(this,
tr("Choose/create an export directory"), m_exportSpec->exportdir);
+
+ if (!dirName.isEmpty()) {
+ exportDirName->setText(dirName);
+ }
+}
+
+
+void ExportDialog::update_song_progress( int progress )
+{
+ songProgressBar->setValue(progress);
+}
+
+void ExportDialog::update_overall_progress( int progress )
+{
+// overalProgressBar->setValue(progress);
+}
+
+void ExportDialog::render_finished( )
+{
+ songProgressBar->setValue(0);
+// overalProgressBar->setValue(0);
+ startButton->show();
+ closeButton->show();
+ abortButton->hide();
+
+// on_closeButton_clicked();
+}
+
+void ExportDialog::set_exporting_song( Song * song )
+{
+ QString name = tr("Progress of Sheet ") +
+ QString::number(m_project->get_song_index(song->get_id())) + ":
" +
+ song->get_title();
+
+ currentProcessingSongName->setText(name);
+}
+
+void ExportDialog::set_project(Project * project)
+{
+ m_project = project;
+ if (! m_project) {
+ info().information(tr("No project loaded, to export a project,
load it first!"));
+ setEnabled(false);
+ if (m_exportSpec) {
+ delete m_exportSpec;
+ m_exportSpec = 0;
+ }
+ } else {
+ setEnabled(true);
+ if (m_exportSpec) {
+ delete m_exportSpec;
+ m_exportSpec = 0;
+ }
+ m_exportSpec = new ExportSpecification;
+ m_exportSpec->exportdir = m_project->get_root_dir() +
"/Export/";
+ m_exportSpec->renderfinished = false;
+ exportDirName->setText(m_exportSpec->exportdir);
+
+ connect(m_project, SIGNAL(songExportProgressChanged(int)),
this, SLOT(update_song_progress(int)));
+ connect(m_project, SIGNAL(overallExportProgressChanged(int)),
this, SLOT(update_overall_progress(int)));
+ connect(m_project, SIGNAL(exportFinished()), this,
SLOT(render_finished()));
+ connect(m_project, SIGNAL(exportStartedForSong(Song*)), this,
SLOT (set_exporting_song(Song*)));
+ }
+}
+
+
+
+void ExportDialog::closeEvent(QCloseEvent * event)
+{
+/* if (m_writingState != NO_STATE || !buttonBox->isEnabled()) {
+ event->setAccepted(false);
+ return;
+ }*/
+ QDialog::closeEvent(event);
+}
+
+void ExportDialog::reject()
+{
+/* if (m_writingState == NO_STATE && buttonBox->isEnabled()) {
+ hide();
+ }*/
+}
+
+void ExportDialog::disable_ui_interaction()
+{
+/* closeButton->setEnabled(false);
+ exportWidget->setEnabled(false);
+ optionsGroupBox->setEnabled(false);
+ burnGroupBox->setEnabled(false);
+ startButton->hide();
+ abortButton->show();*/
+}
+
+void ExportDialog::enable_ui_interaction()
+{
+/* m_writingState = NO_STATE;
+ exportWidget->setEnabled(true);
+ optionsGroupBox->setEnabled(true);
+ burnGroupBox->setDisabled(cdDiskExportOnlyCheckBox->isChecked());
+ closeButton->setEnabled(true);
+ startButton->show();
+ abortButton->hide();
+ abortButton->setEnabled(true);
+ progressBar->setValue(0);*/
+}
Index: traverso/dialogs/ExportDialog.h
===================================================================
RCS file: traverso/dialogs/ExportDialog.h
diff -N traverso/dialogs/ExportDialog.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ traverso/dialogs/ExportDialog.h 15 Oct 2007 10:00:13 -0000 1.1
@@ -0,0 +1,80 @@
+/*
+ Copyright (C) 2005-2007 Remon Sijrier
+
+ This file is part of Traverso
+
+ Traverso is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+
+*/
+
+#ifndef EXPORT_DIALOG_H
+#define EXPORT_DIALOG_H
+
+#include "ui_ExportDialog.h"
+
+#include <QDialog>
+
+class Project;
+class Song;
+struct ExportSpecification;
+
+class ExportDialog : public QDialog, protected Ui::ExportDialog
+{
+ Q_OBJECT
+
+public:
+ ExportDialog(QWidget* parent = 0);
+ ~ExportDialog();
+
+ void set_was_closed();
+
+protected:
+ void closeEvent(QCloseEvent* event);
+
+private:
+ Project* m_project;
+ ExportSpecification* m_exportSpec;
+
+ bool is_safe_to_export();
+ void disable_ui_interaction();
+ void enable_ui_interaction();
+
+ int m_lastSheetExported;
+ bool m_wasClosed;
+ int m_copyNumber;
+
+private slots:
+ void set_project(Project* project);
+ void update_song_progress(int progress);
+ void update_overall_progress(int progress);
+ void render_finished();
+ void set_exporting_song(Song* song);
+
+ void on_fileSelectButton_clicked();
+ void on_startButton_clicked();
+ void on_abortButton_clicked();
+ void on_closeButton_clicked();
+
+ void audio_type_changed(int index);
+ void mp3_method_changed(int index);
+ void ogg_method_changed(int index);
+ void reject();
+};
+
+#endif
+
+//eof
+
+
Index: traverso/ui/ExportDialog.ui
===================================================================
RCS file: traverso/ui/ExportDialog.ui
diff -N traverso/ui/ExportDialog.ui
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ traverso/ui/ExportDialog.ui 15 Oct 2007 10:00:13 -0000 1.1
@@ -0,0 +1,922 @@
+<ui version="4.0" >
+ <class>ExportDialog</class>
+ <widget class="QDialog" name="ExportDialog" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>946</width>
+ <height>642</height>
+ </rect>
+ </property>
+ <property name="sizePolicy" >
+ <sizepolicy>
+ <hsizetype>4</hsizetype>
+ <vsizetype>4</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>1</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="windowTitle" >
+ <string>Export</string>
+ </property>
+ <layout class="QVBoxLayout" >
+ <property name="margin" >
+ <number>9</number>
+ </property>
+ <property name="spacing" >
+ <number>9</number>
+ </property>
+ <item>
+ <widget class="QGroupBox" name="generalOptionsGroupBox" >
+ <property name="sizePolicy" >
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>4</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="maximumSize" >
+ <size>
+ <width>16777215</width>
+ <height>350</height>
+ </size>
+ </property>
+ <property name="title" >
+ <string>General Options</string>
+ </property>
+ <layout class="QVBoxLayout" >
+ <property name="margin" >
+ <number>9</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QRadioButton" name="currentSongButton" >
+ <property name="text" >
+ <string>Render current Sheet</string>
+ </property>
+ <property name="checked" >
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QRadioButton" name="allSongsButton" >
+ <property name="text" >
+ <string>Render whole Project</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer>
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" >
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="label" >
+ <property name="text" >
+ <string>Export directory</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="exportDirName" >
+ <property name="sizePolicy" >
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>5</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="fileSelectButton" >
+ <property name="text" >
+ <string/>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="exportSpecificationsGroupBox" >
+ <property name="sizePolicy" >
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>4</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title" >
+ <string>Format Options</string>
+ </property>
+ <layout class="QVBoxLayout" >
+ <property name="margin" >
+ <number>9</number>
+ </property>
+ <property name="spacing" >
+ <number>9</number>
+ </property>
+ <item>
+ <widget class="QGroupBox" name="groupBox_2" >
+ <property name="title" >
+ <string>Encoding</string>
+ </property>
+ <layout class="QVBoxLayout" >
+ <property name="margin" >
+ <number>9</number>
+ </property>
+ <property name="spacing" >
+ <number>12</number>
+ </property>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <property name="spacing" >
+ <number>18</number>
+ </property>
+ <item>
+ <layout class="QVBoxLayout" >
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="label_2" >
+ <property name="text" >
+ <string>Encoding</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_4" >
+ <property name="text" >
+ <string>Channels</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QVBoxLayout" >
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QComboBox" name="audioTypeComboBox" >
+ <property name="sizePolicy" >
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>4</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="channelComboBox" />
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QVBoxLayout" >
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QCheckBox" name="normalizeCheckBox" >
+ <property name="sizePolicy" >
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text" >
+ <string>Normalize Audio</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="label_3" >
+ <property name="sizePolicy" >
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text" >
+ <string>Bitdepth</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="bitdepthComboBox" />
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <spacer>
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" >
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QGroupBox" name="wacpackGroupBox" >
+ <property name="sizePolicy" >
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>4</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title" >
+ <string>WavPack options</string>
+ </property>
+ <layout class="QVBoxLayout" >
+ <property name="margin" >
+ <number>9</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="label_17" >
+ <property name="text" >
+ <string>Compression type</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="wavpackCompressionComboBox" />
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QCheckBox"
name="wavpackUseAlmostLosslessCheckBox" >
+ <property name="text" >
+ <string>Use almost lossless compression</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="oggOptionsGroupBox" >
+ <property name="sizePolicy" >
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>4</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title" >
+ <string>Ogg Options</string>
+ </property>
+ <layout class="QGridLayout" >
+ <property name="margin" >
+ <number>9</number>
+ </property>
+ <property name="spacing" >
+ <number>9</number>
+ </property>
+ <item row="2" column="0" >
+ <widget class="QLabel" name="oggBitrateLabel" >
+ <property name="sizePolicy" >
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>4</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text" >
+ <string>Bitrate</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1" >
+ <widget class="QComboBox" name="oggBitrateComboBox" >
+ <property name="sizePolicy" >
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>5</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1" >
+ <widget class="QSlider" name="oggQualitySlider" >
+ <property name="layoutDirection" >
+ <enum>Qt::LeftToRight</enum>
+ </property>
+ <property name="autoFillBackground" >
+ <bool>false</bool>
+ </property>
+ <property name="minimum" >
+ <number>0</number>
+ </property>
+ <property name="maximum" >
+ <number>10</number>
+ </property>
+ <property name="pageStep" >
+ <number>1</number>
+ </property>
+ <property name="value" >
+ <number>7</number>
+ </property>
+ <property name="tracking" >
+ <bool>true</bool>
+ </property>
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="invertedAppearance" >
+ <bool>false</bool>
+ </property>
+ <property name="invertedControls" >
+ <bool>false</bool>
+ </property>
+ <property name="tickPosition" >
+ <enum>QSlider::TicksAbove</enum>
+ </property>
+ <property name="tickInterval" >
+ <number>1</number>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1" >
+ <widget class="QComboBox" name="oggMethodComboBox" >
+ <property name="sizePolicy" >
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>5</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" >
+ <widget class="QLabel" name="oggQualityLabel" >
+ <property name="sizePolicy" >
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>4</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text" >
+ <string>Quality (Smallest <-> Best)</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0" >
+ <widget class="QLabel" name="label_18" >
+ <property name="sizePolicy" >
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>4</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text" >
+ <string>Encoding Method</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="mp3OptionsGroupBox" >
+ <property name="sizePolicy" >
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>4</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title" >
+ <string>MP3 Options</string>
+ </property>
+ <layout class="QGridLayout" >
+ <property name="margin" >
+ <number>9</number>
+ </property>
+ <property name="spacing" >
+ <number>9</number>
+ </property>
+ <item row="0" column="0" >
+ <widget class="QLabel" name="label_15" >
+ <property name="sizePolicy" >
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>4</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text" >
+ <string>Encoding Method</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0" >
+ <widget class="QLabel" name="mp3MaxBitrateLabel" >
+ <property name="sizePolicy" >
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>4</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text" >
+ <string>Maximum Bitrate</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" >
+ <widget class="QLabel" name="mp3MinBitrateLabel" >
+ <property name="sizePolicy" >
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>4</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text" >
+ <string>Minimum Bitrate</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" >
+ <widget class="QLabel" name="label_16" >
+ <property name="sizePolicy" >
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>4</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text" >
+ <string>Quality (Fastest <-> Best)</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1" >
+ <widget class="QComboBox" name="mp3MaxBitrateComboBox" >
+ <property name="sizePolicy" >
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>5</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1" >
+ <widget class="QComboBox" name="mp3MinBitrateComboBox" >
+ <property name="sizePolicy" >
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>5</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1" >
+ <widget class="QComboBox" name="mp3MethodComboBox" >
+ <property name="sizePolicy" >
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>5</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1" >
+ <widget class="QSlider" name="mp3QualitySlider" >
+ <property name="layoutDirection" >
+ <enum>Qt::LeftToRight</enum>
+ </property>
+ <property name="autoFillBackground" >
+ <bool>false</bool>
+ </property>
+ <property name="minimum" >
+ <number>1</number>
+ </property>
+ <property name="maximum" >
+ <number>9</number>
+ </property>
+ <property name="pageStep" >
+ <number>1</number>
+ </property>
+ <property name="value" >
+ <number>3</number>
+ </property>
+ <property name="tracking" >
+ <bool>true</bool>
+ </property>
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="invertedAppearance" >
+ <bool>true</bool>
+ </property>
+ <property name="invertedControls" >
+ <bool>false</bool>
+ </property>
+ <property name="tickPosition" >
+ <enum>QSlider::TicksAbove</enum>
+ </property>
+ <property name="tickInterval" >
+ <number>1</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="groupBox" >
+ <property name="sizePolicy" >
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title" >
+ <string>Sample Rate</string>
+ </property>
+ <layout class="QHBoxLayout" >
+ <property name="margin" >
+ <number>9</number>
+ </property>
+ <property name="spacing" >
+ <number>12</number>
+ </property>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <property name="spacing" >
+ <number>18</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="label_7" >
+ <property name="sizePolicy" >
+ <sizepolicy>
+ <hsizetype>4</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text" >
+ <string>Sample Rate</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="sampleRateComboBox" >
+ <property name="sizePolicy" >
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_8" >
+ <property name="sizePolicy" >
+ <sizepolicy>
+ <hsizetype>4</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text" >
+ <string>Conversion quality</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="resampleQualityComboBox" >
+ <property name="sizePolicy" >
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <item>
+ <property name="text" >
+ <string>Best</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>High</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>Medium</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>Fast</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item>
+ <spacer>
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" >
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="ExportStateGroupBox" >
+ <property name="sizePolicy" >
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>4</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title" >
+ <string>Export status</string>
+ </property>
+ <layout class="QVBoxLayout" >
+ <property name="margin" >
+ <number>9</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="currentProcessingSongName" >
+ <property name="text" >
+ <string>-</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer>
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" >
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QProgressBar" name="songProgressBar" >
+ <property name="value" >
+ <number>0</number>
+ </property>
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <spacer>
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" >
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="abortButton" >
+ <property name="minimumSize" >
+ <size>
+ <width>200</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="text" >
+ <string>Abort Export</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="startButton" >
+ <property name="minimumSize" >
+ <size>
+ <width>140</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="text" >
+ <string>Start Export</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="closeButton" >
+ <property name="text" >
+ <string>Close</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Traverso-commit] traverso/src core/ReadSource.cpp traverso/Inter...,
Remon Sijrier <=