[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Traverso-commit] traverso/src/traverso CMakeLists.txt dialogs/Ex...
From: |
Remon Sijrier |
Subject: |
[Traverso-commit] traverso/src/traverso CMakeLists.txt dialogs/Ex... |
Date: |
Thu, 22 May 2008 14:54:24 +0000 |
CVSROOT: /sources/traverso
Module name: traverso
Changes by: Remon Sijrier <r_sijrier> 08/05/22 14:54:24
Modified files:
src/traverso : CMakeLists.txt
src/traverso/dialogs: ExportDialog.cpp ExportDialog.h
src/traverso/ui: ExportDialog.ui
Added files:
src/traverso/ui: ExportFormatOptionsWidget.ui
src/traverso/widgets: ExportFormatOptionsWidget.cpp
ExportFormatOptionsWidget.h
Log message:
* extract format options from export dialog into it's own widget to be
able to re-use for importing files when creating new project
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/CMakeLists.txt?cvsroot=traverso&r1=1.13&r2=1.14
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/dialogs/ExportDialog.cpp?cvsroot=traverso&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/dialogs/ExportDialog.h?cvsroot=traverso&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/ui/ExportDialog.ui?cvsroot=traverso&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/ui/ExportFormatOptionsWidget.ui?cvsroot=traverso&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/widgets/ExportFormatOptionsWidget.cpp?cvsroot=traverso&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/traverso/src/traverso/widgets/ExportFormatOptionsWidget.h?cvsroot=traverso&rev=1.1
Patches:
Index: CMakeLists.txt
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/CMakeLists.txt,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- CMakeLists.txt 13 May 2008 23:24:32 -0000 1.13
+++ CMakeLists.txt 22 May 2008 14:54:23 -0000 1.14
@@ -44,6 +44,7 @@
dialogs/ProjectConverterDialog.cpp
dialogs/ExportDialog.cpp
dialogs/CDWritingDialog.cpp
+widgets/ExportFormatOptionsWidget.cpp
widgets/InfoWidgets.cpp
widgets/MessageWidget.cpp
widgets/MeterWidget.cpp
@@ -55,6 +56,7 @@
SET(TRAVERSO_UI_FILES
ui/AudioSourcesManagerWidget.ui
+ui/ExportFormatOptionsWidget.ui
ui/SpectralMeterConfigWidget.ui
ui/QuickDriverConfigWidget.ui
ui/DriverConfigPage.ui
@@ -103,6 +105,7 @@
dialogs/project/ProjectManagerDialog.h
dialogs/settings/SettingsDialog.h
dialogs/settings/Pages.h
+widgets/ExportFormatOptionsWidget.h
widgets/InfoWidgets.h
widgets/ResourcesWidget.h
widgets/MessageWidget.h
Index: dialogs/ExportDialog.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/dialogs/ExportDialog.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- dialogs/ExportDialog.cpp 25 Feb 2008 22:03:10 -0000 1.10
+++ dialogs/ExportDialog.cpp 22 May 2008 14:54:23 -0000 1.11
@@ -30,15 +30,11 @@
#include <QDebug>
#include "Export.h"
+#include "widgets/ExportFormatOptionsWidget.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"
@@ -51,181 +47,24 @@
{
setupUi(this);
+ QBoxLayout* lay = qobject_cast<QBoxLayout*>(layout());
+ if (lay) {
+ m_formatOptionsWidget = new
ExportFormatOptionsWidget(lay->widget());
+ lay->insertWidget(1, m_formatOptionsWidget);
+ }
+
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);
-
- resampleQualityComboBox->addItem(tr("Best"), 0); // Best
- resampleQualityComboBox->addItem(tr("High"), 1); // Medium
- resampleQualityComboBox->addItem(tr("Medium"), 2); // Fastest
- resampleQualityComboBox->addItem(tr("Fast"), 4); // Linear (Should we
use ZERO_HOLD(3) instead?)
-
- 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 defined MP3_ENCODE_SUPPORT
- if (libmp3lame_is_present) {
- audioTypeComboBox->addItem("MP3", "mp3");
- }
-#endif
- if (libvorbisenc_is_present) {
- audioTypeComboBox->addItem("OGG", "ogg");
- }
-
- channelComboBox->setCurrentIndex(channelComboBox->findData(2));
-
- int rateIndex =
sampleRateComboBox->findData(audiodevice().get_sample_rate());
- sampleRateComboBox->setCurrentIndex(rateIndex >= 0 ? rateIndex : 3);
-
- 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)));
-
- QString option;
- int index;
- bool checked;
-
- // Mp3 Options Setup
- mp3MethodComboBox->addItem("Constant Bitrate", "cbr");
- mp3MethodComboBox->addItem("Average Bitrate", "abr");
- mp3MethodComboBox->addItem("Variable Bitrate", "vbr-new");
-
- mp3MinBitrateComboBox->addItem("32 Kbps - recommended", "32");
- mp3MinBitrateComboBox->addItem("64 Kbps", "64");
- mp3MinBitrateComboBox->addItem("96 Kbps", "96");
- mp3MinBitrateComboBox->addItem("128 Kbps", "128");
- mp3MinBitrateComboBox->addItem("160 Kbps", "160");
- mp3MinBitrateComboBox->addItem("192 Kbps", "192");
- mp3MinBitrateComboBox->addItem("256 Kbps", "256");
- mp3MinBitrateComboBox->addItem("320 Kbps", "320");
-
- mp3MaxBitrateComboBox->addItem("32 Kbps", "32");
- mp3MaxBitrateComboBox->addItem("64 Kbps", "64");
- mp3MaxBitrateComboBox->addItem("96 Kbps", "96");
- mp3MaxBitrateComboBox->addItem("128 Kbps", "128");
- mp3MaxBitrateComboBox->addItem("160 Kbps", "160");
- mp3MaxBitrateComboBox->addItem("192 Kbps", "192");
- mp3MaxBitrateComboBox->addItem("256 Kbps", "256");
- mp3MaxBitrateComboBox->addItem("320 Kbps", "320");
-
- // First set to VBR, so that if we default to something else, it will
trigger mp3_method_changed()
- index = mp3MethodComboBox->findData("vbr-new");
- mp3MethodComboBox->setCurrentIndex(index >=0 ? index : 0);
- connect(mp3MethodComboBox, SIGNAL(currentIndexChanged(int)), this,
SLOT(mp3_method_changed(int)));
-
- option = config().get_property("ExportDialog", "mp3MethodComboBox",
"vbr-new").toString();
- index = mp3MethodComboBox->findData(option);
- mp3MethodComboBox->setCurrentIndex(index >=0 ? index : 0);
- option = config().get_property("ExportDialog", "mp3MinBitrateComboBox",
"32").toString();
- index = mp3MinBitrateComboBox->findData(option);
- mp3MinBitrateComboBox->setCurrentIndex(index >=0 ? index : 0);
- option = config().get_property("ExportDialog", "mp3MaxBitrateComboBox",
"192").toString();
- index = mp3MaxBitrateComboBox->findData(option);
- mp3MaxBitrateComboBox->setCurrentIndex(index >=0 ? index : 0);
-
- mp3OptionsGroupBox->hide();
-
-
- // Ogg Options Setup
- oggMethodComboBox->addItem("Constant Bitrate", "manual");
- oggMethodComboBox->addItem("Variable Bitrate", "vbr");
-
- oggBitrateComboBox->addItem("45 Kbps", "45");
- oggBitrateComboBox->addItem("64 Kbps", "64");
- oggBitrateComboBox->addItem("96 Kbps", "96");
- oggBitrateComboBox->addItem("112 Kbps", "112");
- oggBitrateComboBox->addItem("128 Kbps", "128");
- oggBitrateComboBox->addItem("160 Kbps", "160");
- oggBitrateComboBox->addItem("192 Kbps", "192");
- oggBitrateComboBox->addItem("224 Kbps", "224");
- oggBitrateComboBox->addItem("256 Kbps", "256");
- oggBitrateComboBox->addItem("320 Kbps", "320");
- oggBitrateComboBox->addItem("400 Kbps", "400");
-
- // First set to VBR, so that if we default to something else, it will
trigger ogg_method_changed()
- index = oggMethodComboBox->findData("vbr");
- oggMethodComboBox->setCurrentIndex(index >=0 ? index : 0);
- connect(oggMethodComboBox, SIGNAL(currentIndexChanged(int)), this,
SLOT(ogg_method_changed(int)));
-
- option = config().get_property("ExportDialog", "oggMethodComboBox",
"vbr").toString();
- index = oggMethodComboBox->findData(option);
- oggMethodComboBox->setCurrentIndex(index >=0 ? index : 0);
- ogg_method_changed(index >=0 ? index : 0);
- option = config().get_property("ExportDialog", "oggBitrateComboBox",
"160").toString();
- index = oggBitrateComboBox->findData(option);
- oggBitrateComboBox->setCurrentIndex(index >= 0 ? index : 0);
-
- oggOptionsGroupBox->hide();
-
-
- // WavPack option
- wacpackGroupBox->hide();
- wavpackCompressionComboBox->addItem("Very high", "very_high");
- wavpackCompressionComboBox->addItem("High", "high");
- wavpackCompressionComboBox->addItem("Fast", "fast");
-
- option = config().get_property("ExportDialog",
"wavpackCompressionComboBox", "very_high").toString();
- index = wavpackCompressionComboBox->findData(option);
- wavpackCompressionComboBox->setCurrentIndex(index >= 0 ? index : 0);
- checked = config().get_property("ExportDialog", "skipWVXCheckBox",
"false").toBool();
- skipWVXCheckBox->setChecked(checked);
-
-
- option = config().get_property("ExportDialog", "audioTypeComboBox",
"wav").toString();
- index = audioTypeComboBox->findData(option);
- audioTypeComboBox->setCurrentIndex(index >= 0 ? index : 0);
-
- checked = config().get_property("ExportDialog", "normalizeCheckBox",
"false").toBool();
- normalizeCheckBox->setChecked(checked);
-
- index = config().get_property("ExportDialog",
"resampleQualityComboBox", "1").toInt();
- index = resampleQualityComboBox->findData(index);
- resampleQualityComboBox->setCurrentIndex(index >= 0 ? index : 1);
-
- option = config().get_property("ExportDialog", "bitdepthComboBox",
"16").toString();
- index = bitdepthComboBox->findData(option);
- bitdepthComboBox->setCurrentIndex(index >= 0 ? index : 0);
- setMaximumSize(400, 250);
+ setMaximumSize(400, 450);
}
ExportDialog::~ ExportDialog( )
{
- config().set_property("ExportDialog", "mp3MethodComboBox",
mp3MethodComboBox->itemData(mp3MethodComboBox->currentIndex()).toString());
- config().set_property("ExportDialog", "mp3MinBitrateComboBox",
mp3MinBitrateComboBox->itemData(mp3MinBitrateComboBox->currentIndex()).toString());
- config().set_property("ExportDialog", "mp3MaxBitrateComboBox",
mp3MaxBitrateComboBox->itemData(mp3MaxBitrateComboBox->currentIndex()).toString());
- config().set_property("ExportDialog", "oggMethodComboBox",
oggMethodComboBox->itemData(oggMethodComboBox->currentIndex()).toString());
- config().set_property("ExportDialog", "oggBitrateComboBox",
oggBitrateComboBox->itemData(oggBitrateComboBox->currentIndex()).toString());
- config().set_property("ExportDialog", "wavpackCompressionComboBox",
wavpackCompressionComboBox->itemData(wavpackCompressionComboBox->currentIndex()).toString());
- config().set_property("ExportDialog", "audioTypeComboBox",
audioTypeComboBox->itemData(audioTypeComboBox->currentIndex()).toString());
- config().set_property("ExportDialog", "normalizeCheckBox",
normalizeCheckBox->isChecked());
- config().set_property("ExportDialog", "skipWVXCheckBox",
skipWVXCheckBox->isChecked());
- config().set_property("ExportDialog", "resampleQualityComboBox",
resampleQualityComboBox->itemData(resampleQualityComboBox->currentIndex()).toString());
- config().set_property("ExportDialog", "bitdepthComboBox",
bitdepthComboBox->itemData(bitdepthComboBox->currentIndex()).toString());
}
@@ -251,84 +90,6 @@
}
-void ExportDialog::audio_type_changed(int index)
-{
- QString newType = audioTypeComboBox->itemData(index).toString();
-
- if (newType == "mp3") {
- oggOptionsGroupBox->hide();
- wacpackGroupBox->hide();
- mp3OptionsGroupBox->show();
- }
- else if (newType == "ogg") {
- mp3OptionsGroupBox->hide();
- wacpackGroupBox->hide();
- oggOptionsGroupBox->show();
- }
- else if (newType == "wavpack") {
- mp3OptionsGroupBox->hide();
- oggOptionsGroupBox->hide();
- wacpackGroupBox->show();
- }
- else {
- 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") {
- oggQualitySlider->hide();
- oggQualityLabel->hide();
- oggBitrateComboBox->show();
- oggBitrateLabel->show();
- }
- else {
- // VBR
- oggBitrateComboBox->hide();
- oggBitrateLabel->hide();
- oggQualitySlider->show();
- oggQualityLabel->show();
- }
-}
-
-
void ExportDialog::on_startButton_clicked( )
{
if (!is_safe_to_export()) {
@@ -343,51 +104,7 @@
// 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"] =
skipWVXCheckBox->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->itemData(resampleQualityComboBox->currentIndex()).toInt();
-
- //TODO Make a ComboBox for this one too!
- m_exportSpec->dither_type = GDitherTri;
-
+ m_formatOptionsWidget->get_format_options(m_exportSpec);
if (allSheetsButton->isChecked()) {
m_exportSpec->allSheets = true;
@@ -404,7 +121,6 @@
name += fi.completeBaseName() + ".toc";
m_exportSpec->tocFileName = name;
- m_exportSpec->normalize = normalizeCheckBox->isChecked();
m_exportSpec->isRecording = false;
m_project->export_project(m_exportSpec);
Index: dialogs/ExportDialog.h
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/dialogs/ExportDialog.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- dialogs/ExportDialog.h 21 Jan 2008 16:25:16 -0000 1.3
+++ dialogs/ExportDialog.h 22 May 2008 14:54:23 -0000 1.4
@@ -26,6 +26,7 @@
#include <QDialog>
+class ExportFormatOptionsWidget;
class Project;
class Sheet;
struct ExportSpecification;
@@ -46,6 +47,7 @@
private:
Project* m_project;
ExportSpecification* m_exportSpec;
+ ExportFormatOptionsWidget* m_formatOptionsWidget;
bool is_safe_to_export();
@@ -65,9 +67,6 @@
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();
};
Index: ui/ExportDialog.ui
===================================================================
RCS file: /sources/traverso/traverso/src/traverso/ui/ExportDialog.ui,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- ui/ExportDialog.ui 21 Jan 2008 16:22:17 -0000 1.6
+++ ui/ExportDialog.ui 22 May 2008 14:54:23 -0000 1.7
@@ -5,14 +5,12 @@
<rect>
<x>0</x>
<y>0</y>
- <width>1032</width>
- <height>642</height>
+ <width>453</width>
+ <height>258</height>
</rect>
</property>
<property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>4</hsizetype>
- <vsizetype>4</vsizetype>
+ <sizepolicy vsizetype="Maximum" hsizetype="Maximum" >
<horstretch>0</horstretch>
<verstretch>1</verstretch>
</sizepolicy>
@@ -21,18 +19,25 @@
<string>Export</string>
</property>
<layout class="QVBoxLayout" >
- <property name="margin" >
+ <property name="spacing" >
<number>9</number>
</property>
- <property name="spacing" >
+ <property name="leftMargin" >
+ <number>9</number>
+ </property>
+ <property name="topMargin" >
+ <number>9</number>
+ </property>
+ <property name="rightMargin" >
+ <number>9</number>
+ </property>
+ <property name="bottomMargin" >
<number>9</number>
</property>
<item>
<widget class="QGroupBox" name="generalOptionsGroupBox" >
<property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>4</vsizetype>
+ <sizepolicy vsizetype="Maximum" hsizetype="Preferred" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -47,20 +52,38 @@
<string>General Options</string>
</property>
<layout class="QVBoxLayout" >
- <property name="margin" >
- <number>9</number>
- </property>
<property name="spacing" >
<number>6</number>
</property>
+ <property name="leftMargin" >
+ <number>9</number>
+ </property>
+ <property name="topMargin" >
+ <number>9</number>
+ </property>
+ <property name="rightMargin" >
+ <number>9</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>9</number>
+ </property>
<item>
<layout class="QHBoxLayout" >
- <property name="margin" >
- <number>0</number>
- </property>
<property name="spacing" >
<number>6</number>
</property>
+ <property name="leftMargin" >
+ <number>0</number>
+ </property>
+ <property name="topMargin" >
+ <number>0</number>
+ </property>
+ <property name="rightMargin" >
+ <number>0</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>0</number>
+ </property>
<item>
<widget class="QRadioButton" name="currentSheetButton" >
<property name="text" >
@@ -95,12 +118,21 @@
</item>
<item>
<layout class="QHBoxLayout" >
- <property name="margin" >
- <number>0</number>
- </property>
<property name="spacing" >
<number>6</number>
</property>
+ <property name="leftMargin" >
+ <number>0</number>
+ </property>
+ <property name="topMargin" >
+ <number>0</number>
+ </property>
+ <property name="rightMargin" >
+ <number>0</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>0</number>
+ </property>
<item>
<widget class="QLabel" name="label" >
<property name="text" >
@@ -114,9 +146,7 @@
<item>
<widget class="QLineEdit" name="exportDirName" >
<property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>7</hsizetype>
- <vsizetype>0</vsizetype>
+ <sizepolicy vsizetype="Fixed" hsizetype="Expanding" >
<horstretch>5</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -136,689 +166,48 @@
</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>File Type</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="label_4" >
- <property name="text" >
- <string>Channels</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</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::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</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>0</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" >
+ <widget class="QGroupBox" name="ExportStateGroupBox" >
<property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>4</vsizetype>
+ <sizepolicy vsizetype="Maximum" hsizetype="Preferred" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title" >
- <string>WavPack options (lossless compression)</string>
+ <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="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="skipWVXCheckBox" >
- <property name="toolTip" >
- <string><html><head><meta name="qrichtext"
content="1" /><style type="text/css">
-p, li { white-space: pre-wrap; }
-</style></head><body style=" font-family:'Sans Serif'; font-size:9pt;
font-weight:400; font-style:normal; text-decoration:none;">
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px;
margin-right:0px; -qt-block-indent:0; text-indent:0px;">This option reduces the
storage of some floating-point data files by up to about 10% by eliminating
some information that has virtually no effect on the audio data. </p>
-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px;
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p>
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px;
margin-right:0px; -qt-block-indent:0; text-indent:0px;">While this does
technically make the compression lossy, it retains all the advantages of
floating point data (&gt;600 dB of dynamic range, no clipping, and 25 bits
of resolution). </p>
-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px;
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p>
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px;
margin-right:0px; -qt-block-indent:0; text-indent:0px;">This also affects large
integer compression by limiting the resolution to 24
bits.</p></body></html></string>
- </property>
- <property name="text" >
- <string>Skip WVX for extra compression
(semi-lossless)</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" >
+ <property name="leftMargin" >
<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::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</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::AlignRight|Qt::AlignTrailing</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::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</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" >
+ <property name="topMargin" >
<number>9</number>
</property>
- <property name="spacing" >
+ <property name="rightMargin" >
<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::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</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::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</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::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</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::AlignRight|Qt::AlignTrailing</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" >
+ <property name="bottomMargin" >
<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>
+ <number>6</number>
</property>
- <item>
- <layout class="QHBoxLayout" >
- <property name="margin" >
+ <property name="leftMargin" >
<number>0</number>
</property>
- <property name="spacing" >
- <number>12</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>
- <property name="sizeAdjustPolicy" >
- <enum>QComboBox::AdjustToContents</enum>
- </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>
- </widget>
- </item>
- <item>
- <spacer>
- <property name="orientation" >
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" >
- <size>
- <width>0</width>
- <height>40</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 name="topMargin" >
+ <number>0</number>
</property>
- <item>
- <layout class="QHBoxLayout" >
- <property name="margin" >
+ <property name="rightMargin" >
<number>0</number>
</property>
- <property name="spacing" >
- <number>6</number>
+ <property name="bottomMargin" >
+ <number>0</number>
</property>
<item>
<widget class="QLabel" name="currentProcessingSheetName" >
@@ -857,12 +246,21 @@
</item>
<item>
<layout class="QHBoxLayout" >
- <property name="margin" >
- <number>0</number>
- </property>
<property name="spacing" >
<number>6</number>
</property>
+ <property name="leftMargin" >
+ <number>0</number>
+ </property>
+ <property name="topMargin" >
+ <number>0</number>
+ </property>
+ <property name="rightMargin" >
+ <number>0</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>0</number>
+ </property>
<item>
<spacer>
<property name="orientation" >
Index: ui/ExportFormatOptionsWidget.ui
===================================================================
RCS file: ui/ExportFormatOptionsWidget.ui
diff -N ui/ExportFormatOptionsWidget.ui
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ ui/ExportFormatOptionsWidget.ui 22 May 2008 14:54:24 -0000 1.1
@@ -0,0 +1,773 @@
+<ui version="4.0" >
+ <class>ExportFormatOptionsWidget</class>
+ <widget class="QWidget" name="ExportFormatOptionsWidget" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>866</width>
+ <height>414</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>Export Format Options</string>
+ </property>
+ <layout class="QVBoxLayout" >
+ <property name="leftMargin" >
+ <number>0</number>
+ </property>
+ <property name="topMargin" >
+ <number>0</number>
+ </property>
+ <property name="rightMargin" >
+ <number>0</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QGroupBox" name="exportSpecificationsGroupBox" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title" >
+ <string>Format Options</string>
+ </property>
+ <layout class="QVBoxLayout" >
+ <property name="spacing" >
+ <number>9</number>
+ </property>
+ <property name="leftMargin" >
+ <number>9</number>
+ </property>
+ <property name="topMargin" >
+ <number>9</number>
+ </property>
+ <property name="rightMargin" >
+ <number>9</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>9</number>
+ </property>
+ <item>
+ <widget class="QGroupBox" name="groupBox_2" >
+ <property name="title" >
+ <string>Encoding</string>
+ </property>
+ <layout class="QVBoxLayout" >
+ <property name="spacing" >
+ <number>12</number>
+ </property>
+ <property name="leftMargin" >
+ <number>9</number>
+ </property>
+ <property name="topMargin" >
+ <number>9</number>
+ </property>
+ <property name="rightMargin" >
+ <number>9</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>9</number>
+ </property>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="spacing" >
+ <number>18</number>
+ </property>
+ <property name="leftMargin" >
+ <number>0</number>
+ </property>
+ <property name="topMargin" >
+ <number>0</number>
+ </property>
+ <property name="rightMargin" >
+ <number>0</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>0</number>
+ </property>
+ <item>
+ <layout class="QVBoxLayout" >
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <property name="leftMargin" >
+ <number>0</number>
+ </property>
+ <property name="topMargin" >
+ <number>0</number>
+ </property>
+ <property name="rightMargin" >
+ <number>0</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="label_2" >
+ <property name="text" >
+ <string>File Type</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_4" >
+ <property name="text" >
+ <string>Channels</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QVBoxLayout" >
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <property name="leftMargin" >
+ <number>0</number>
+ </property>
+ <property name="topMargin" >
+ <number>0</number>
+ </property>
+ <property name="rightMargin" >
+ <number>0</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QComboBox" name="audioTypeComboBox" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
+ <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="spacing" >
+ <number>6</number>
+ </property>
+ <property name="leftMargin" >
+ <number>0</number>
+ </property>
+ <property name="topMargin" >
+ <number>0</number>
+ </property>
+ <property name="rightMargin" >
+ <number>0</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QCheckBox" name="normalizeCheckBox" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text" >
+ <string>Normalize Audio</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <property name="leftMargin" >
+ <number>0</number>
+ </property>
+ <property name="topMargin" >
+ <number>0</number>
+ </property>
+ <property name="rightMargin" >
+ <number>0</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="label_3" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text" >
+ <string>Bitdepth</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</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>0</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <property name="leftMargin" >
+ <number>0</number>
+ </property>
+ <property name="topMargin" >
+ <number>0</number>
+ </property>
+ <property name="rightMargin" >
+ <number>0</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QGroupBox" name="wacpackGroupBox" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Maximum" hsizetype="Preferred" >
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title" >
+ <string>WavPack options (lossless compression)</string>
+ </property>
+ <layout class="QVBoxLayout" >
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <property name="leftMargin" >
+ <number>9</number>
+ </property>
+ <property name="topMargin" >
+ <number>9</number>
+ </property>
+ <property name="rightMargin" >
+ <number>9</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>9</number>
+ </property>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <property name="leftMargin" >
+ <number>0</number>
+ </property>
+ <property name="topMargin" >
+ <number>0</number>
+ </property>
+ <property name="rightMargin" >
+ <number>0</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>0</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="skipWVXCheckBox" >
+ <property name="toolTip" >
+ <string><html><head><meta name="qrichtext"
content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'Sans Serif'; font-size:9pt;
font-weight:400; font-style:normal; text-decoration:none;">
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px;
margin-right:0px; -qt-block-indent:0; text-indent:0px;">This option reduces the
storage of some floating-point data files by up to about 10% by eliminating
some information that has virtually no effect on the audio data. </p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px;
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px;
margin-right:0px; -qt-block-indent:0; text-indent:0px;">While this does
technically make the compression lossy, it retains all the advantages of
floating point data (&gt;600 dB of dynamic range, no clipping, and 25 bits
of resolution). </p>
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px;
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px;
margin-right:0px; -qt-block-indent:0; text-indent:0px;">This also affects large
integer compression by limiting the resolution to 24
bits.</p></body></html></string>
+ </property>
+ <property name="text" >
+ <string>Skip WVX for extra compression
(semi-lossless)</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="oggOptionsGroupBox" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Maximum" hsizetype="Preferred" >
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title" >
+ <string>Ogg Options</string>
+ </property>
+ <layout class="QGridLayout" >
+ <property name="leftMargin" >
+ <number>9</number>
+ </property>
+ <property name="topMargin" >
+ <number>9</number>
+ </property>
+ <property name="rightMargin" >
+ <number>9</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>9</number>
+ </property>
+ <property name="horizontalSpacing" >
+ <number>9</number>
+ </property>
+ <property name="verticalSpacing" >
+ <number>9</number>
+ </property>
+ <item row="2" column="0" >
+ <widget class="QLabel" name="oggBitrateLabel" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
+ <horstretch>4</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text" >
+ <string>Bitrate</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1" >
+ <widget class="QComboBox" name="oggBitrateComboBox" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Fixed" hsizetype="Expanding" >
+ <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 vsizetype="Fixed" hsizetype="Expanding" >
+ <horstretch>5</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" >
+ <widget class="QLabel" name="oggQualityLabel" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
+ <horstretch>4</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text" >
+ <string>Quality (Smallest <-> Best)</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignBottom|Qt::AlignRight|Qt::AlignTrailing</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="0" >
+ <widget class="QLabel" name="label_18" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
+ <horstretch>4</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text" >
+ <string>Encoding Method</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="mp3OptionsGroupBox" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Maximum" hsizetype="Preferred" >
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title" >
+ <string>MP3 Options</string>
+ </property>
+ <layout class="QGridLayout" >
+ <property name="leftMargin" >
+ <number>9</number>
+ </property>
+ <property name="topMargin" >
+ <number>9</number>
+ </property>
+ <property name="rightMargin" >
+ <number>9</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>9</number>
+ </property>
+ <property name="horizontalSpacing" >
+ <number>9</number>
+ </property>
+ <property name="verticalSpacing" >
+ <number>9</number>
+ </property>
+ <item row="0" column="0" >
+ <widget class="QLabel" name="label_15" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
+ <horstretch>4</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text" >
+ <string>Encoding Method</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0" >
+ <widget class="QLabel" name="mp3MaxBitrateLabel" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
+ <horstretch>4</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text" >
+ <string>Maximum Bitrate</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" >
+ <widget class="QLabel" name="mp3MinBitrateLabel" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
+ <horstretch>4</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text" >
+ <string>Minimum Bitrate</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" >
+ <widget class="QLabel" name="label_16" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
+ <horstretch>4</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text" >
+ <string>Quality (Fastest <-> Best)</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignBottom|Qt::AlignRight|Qt::AlignTrailing</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1" >
+ <widget class="QComboBox" name="mp3MaxBitrateComboBox" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Fixed" hsizetype="Expanding" >
+ <horstretch>5</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1" >
+ <widget class="QComboBox" name="mp3MinBitrateComboBox" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Fixed" hsizetype="Expanding" >
+ <horstretch>5</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1" >
+ <widget class="QComboBox" name="mp3MethodComboBox" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Fixed" hsizetype="Expanding" >
+ <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 vsizetype="Preferred" hsizetype="Preferred" >
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title" >
+ <string>Sample Rate</string>
+ </property>
+ <layout class="QHBoxLayout" >
+ <property name="spacing" >
+ <number>12</number>
+ </property>
+ <property name="leftMargin" >
+ <number>9</number>
+ </property>
+ <property name="topMargin" >
+ <number>9</number>
+ </property>
+ <property name="rightMargin" >
+ <number>9</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>9</number>
+ </property>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="spacing" >
+ <number>12</number>
+ </property>
+ <property name="leftMargin" >
+ <number>0</number>
+ </property>
+ <property name="topMargin" >
+ <number>0</number>
+ </property>
+ <property name="rightMargin" >
+ <number>0</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="label_7" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Preferred" hsizetype="Maximum" >
+ <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 vsizetype="Fixed" hsizetype="Preferred" >
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="sizeAdjustPolicy" >
+ <enum>QComboBox::AdjustToContents</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_8" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Preferred" hsizetype="Maximum" >
+ <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 vsizetype="Fixed" hsizetype="Preferred" >
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer>
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" >
+ <size>
+ <width>0</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
Index: widgets/ExportFormatOptionsWidget.cpp
===================================================================
RCS file: widgets/ExportFormatOptionsWidget.cpp
diff -N widgets/ExportFormatOptionsWidget.cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ widgets/ExportFormatOptionsWidget.cpp 22 May 2008 14:54:24 -0000
1.1
@@ -0,0 +1,341 @@
+/**
+ 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 "ExportFormatOptionsWidget.h"
+#include "ui_ExportFormatOptionsWidget.h"
+
+#include "AudioDevice.h"
+#include "Config.h"
+#include "Export.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"
+
+
+ExportFormatOptionsWidget::ExportFormatOptionsWidget( QWidget * parent )
+ : QWidget(parent)
+{
+ setupUi(this);
+
+ //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);
+
+ resampleQualityComboBox->addItem(tr("Best"), 0); // Best
+ resampleQualityComboBox->addItem(tr("High"), 1); // Medium
+ resampleQualityComboBox->addItem(tr("Medium"), 2); // Fastest
+ resampleQualityComboBox->addItem(tr("Fast"), 4); // Linear (Should we
use ZERO_HOLD(3) instead?)
+
+ 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 defined MP3_ENCODE_SUPPORT
+ if (libmp3lame_is_present) {
+ audioTypeComboBox->addItem("MP3", "mp3");
+ }
+#endif
+ if (libvorbisenc_is_present) {
+ audioTypeComboBox->addItem("OGG", "ogg");
+ }
+
+ channelComboBox->setCurrentIndex(channelComboBox->findData(2));
+
+ int rateIndex =
sampleRateComboBox->findData(audiodevice().get_sample_rate());
+ sampleRateComboBox->setCurrentIndex(rateIndex >= 0 ? rateIndex : 3);
+
+ connect(audioTypeComboBox, SIGNAL(currentIndexChanged(int)), this,
SLOT(audio_type_changed(int)));
+
+ QString option;
+ int index;
+ bool checked;
+
+ // Mp3 Options Setup
+ mp3MethodComboBox->addItem("Constant Bitrate", "cbr");
+ mp3MethodComboBox->addItem("Average Bitrate", "abr");
+ mp3MethodComboBox->addItem("Variable Bitrate", "vbr-new");
+
+ mp3MinBitrateComboBox->addItem("32 Kbps - recommended", "32");
+ mp3MinBitrateComboBox->addItem("64 Kbps", "64");
+ mp3MinBitrateComboBox->addItem("96 Kbps", "96");
+ mp3MinBitrateComboBox->addItem("128 Kbps", "128");
+ mp3MinBitrateComboBox->addItem("160 Kbps", "160");
+ mp3MinBitrateComboBox->addItem("192 Kbps", "192");
+ mp3MinBitrateComboBox->addItem("256 Kbps", "256");
+ mp3MinBitrateComboBox->addItem("320 Kbps", "320");
+
+ mp3MaxBitrateComboBox->addItem("32 Kbps", "32");
+ mp3MaxBitrateComboBox->addItem("64 Kbps", "64");
+ mp3MaxBitrateComboBox->addItem("96 Kbps", "96");
+ mp3MaxBitrateComboBox->addItem("128 Kbps", "128");
+ mp3MaxBitrateComboBox->addItem("160 Kbps", "160");
+ mp3MaxBitrateComboBox->addItem("192 Kbps", "192");
+ mp3MaxBitrateComboBox->addItem("256 Kbps", "256");
+ mp3MaxBitrateComboBox->addItem("320 Kbps", "320");
+
+ // First set to VBR, so that if we default to something else, it will
trigger mp3_method_changed()
+ index = mp3MethodComboBox->findData("vbr-new");
+ mp3MethodComboBox->setCurrentIndex(index >=0 ? index : 0);
+ connect(mp3MethodComboBox, SIGNAL(currentIndexChanged(int)), this,
SLOT(mp3_method_changed(int)));
+
+ option = config().get_property("ExportFormatOptionsWidget",
"mp3MethodComboBox", "vbr-new").toString();
+ index = mp3MethodComboBox->findData(option);
+ mp3MethodComboBox->setCurrentIndex(index >=0 ? index : 0);
+ option = config().get_property("ExportFormatOptionsWidget",
"mp3MinBitrateComboBox", "32").toString();
+ index = mp3MinBitrateComboBox->findData(option);
+ mp3MinBitrateComboBox->setCurrentIndex(index >=0 ? index : 0);
+ option = config().get_property("ExportFormatOptionsWidget",
"mp3MaxBitrateComboBox", "192").toString();
+ index = mp3MaxBitrateComboBox->findData(option);
+ mp3MaxBitrateComboBox->setCurrentIndex(index >=0 ? index : 0);
+
+ mp3OptionsGroupBox->hide();
+
+
+ // Ogg Options Setup
+ oggMethodComboBox->addItem("Constant Bitrate", "manual");
+ oggMethodComboBox->addItem("Variable Bitrate", "vbr");
+
+ oggBitrateComboBox->addItem("45 Kbps", "45");
+ oggBitrateComboBox->addItem("64 Kbps", "64");
+ oggBitrateComboBox->addItem("96 Kbps", "96");
+ oggBitrateComboBox->addItem("112 Kbps", "112");
+ oggBitrateComboBox->addItem("128 Kbps", "128");
+ oggBitrateComboBox->addItem("160 Kbps", "160");
+ oggBitrateComboBox->addItem("192 Kbps", "192");
+ oggBitrateComboBox->addItem("224 Kbps", "224");
+ oggBitrateComboBox->addItem("256 Kbps", "256");
+ oggBitrateComboBox->addItem("320 Kbps", "320");
+ oggBitrateComboBox->addItem("400 Kbps", "400");
+
+ // First set to VBR, so that if we default to something else, it will
trigger ogg_method_changed()
+ index = oggMethodComboBox->findData("vbr");
+ oggMethodComboBox->setCurrentIndex(index >=0 ? index : 0);
+ connect(oggMethodComboBox, SIGNAL(currentIndexChanged(int)), this,
SLOT(ogg_method_changed(int)));
+
+ option = config().get_property("ExportFormatOptionsWidget",
"oggMethodComboBox", "vbr").toString();
+ index = oggMethodComboBox->findData(option);
+ oggMethodComboBox->setCurrentIndex(index >=0 ? index : 0);
+ ogg_method_changed(index >=0 ? index : 0);
+ option = config().get_property("ExportFormatOptionsWidget",
"oggBitrateComboBox", "160").toString();
+ index = oggBitrateComboBox->findData(option);
+ oggBitrateComboBox->setCurrentIndex(index >= 0 ? index : 0);
+
+ oggOptionsGroupBox->hide();
+
+
+ // WavPack option
+ wacpackGroupBox->hide();
+ wavpackCompressionComboBox->addItem("Very high", "very_high");
+ wavpackCompressionComboBox->addItem("High", "high");
+ wavpackCompressionComboBox->addItem("Fast", "fast");
+
+ option = config().get_property("ExportFormatOptionsWidget",
"wavpackCompressionComboBox", "very_high").toString();
+ index = wavpackCompressionComboBox->findData(option);
+ wavpackCompressionComboBox->setCurrentIndex(index >= 0 ? index : 0);
+ checked = config().get_property("ExportFormatOptionsWidget",
"skipWVXCheckBox", "false").toBool();
+ skipWVXCheckBox->setChecked(checked);
+
+
+ option = config().get_property("ExportFormatOptionsWidget",
"audioTypeComboBox", "wav").toString();
+ index = audioTypeComboBox->findData(option);
+ audioTypeComboBox->setCurrentIndex(index >= 0 ? index : 0);
+
+ checked = config().get_property("ExportFormatOptionsWidget",
"normalizeCheckBox", "false").toBool();
+ normalizeCheckBox->setChecked(checked);
+
+ index = config().get_property("ExportFormatOptionsWidget",
"resampleQualityComboBox", "1").toInt();
+ index = resampleQualityComboBox->findData(index);
+ resampleQualityComboBox->setCurrentIndex(index >= 0 ? index : 1);
+
+ option = config().get_property("ExportFormatOptionsWidget",
"bitdepthComboBox", "16").toString();
+ index = bitdepthComboBox->findData(option);
+ bitdepthComboBox->setCurrentIndex(index >= 0 ? index : 0);
+ setMaximumSize(400, 250);
+}
+
+
+ExportFormatOptionsWidget::~ ExportFormatOptionsWidget( )
+{
+ config().set_property("ExportDialog", "mp3MethodComboBox",
mp3MethodComboBox->itemData(mp3MethodComboBox->currentIndex()).toString());
+ config().set_property("ExportDialog", "mp3MinBitrateComboBox",
mp3MinBitrateComboBox->itemData(mp3MinBitrateComboBox->currentIndex()).toString());
+ config().set_property("ExportDialog", "mp3MaxBitrateComboBox",
mp3MaxBitrateComboBox->itemData(mp3MaxBitrateComboBox->currentIndex()).toString());
+ config().set_property("ExportDialog", "oggMethodComboBox",
oggMethodComboBox->itemData(oggMethodComboBox->currentIndex()).toString());
+ config().set_property("ExportDialog", "oggBitrateComboBox",
oggBitrateComboBox->itemData(oggBitrateComboBox->currentIndex()).toString());
+ config().set_property("ExportDialog", "wavpackCompressionComboBox",
wavpackCompressionComboBox->itemData(wavpackCompressionComboBox->currentIndex()).toString());
+ config().set_property("ExportDialog", "audioTypeComboBox",
audioTypeComboBox->itemData(audioTypeComboBox->currentIndex()).toString());
+ config().set_property("ExportDialog", "normalizeCheckBox",
normalizeCheckBox->isChecked());
+ config().set_property("ExportDialog", "skipWVXCheckBox",
skipWVXCheckBox->isChecked());
+ config().set_property("ExportDialog", "resampleQualityComboBox",
resampleQualityComboBox->itemData(resampleQualityComboBox->currentIndex()).toString());
+ config().set_property("ExportDialog", "bitdepthComboBox",
bitdepthComboBox->itemData(bitdepthComboBox->currentIndex()).toString());
+}
+
+
+void ExportFormatOptionsWidget::audio_type_changed(int index)
+{
+ QString newType = audioTypeComboBox->itemData(index).toString();
+
+ if (newType == "mp3") {
+ oggOptionsGroupBox->hide();
+ wacpackGroupBox->hide();
+ mp3OptionsGroupBox->show();
+ }
+ else if (newType == "ogg") {
+ mp3OptionsGroupBox->hide();
+ wacpackGroupBox->hide();
+ oggOptionsGroupBox->show();
+ }
+ else if (newType == "wavpack") {
+ mp3OptionsGroupBox->hide();
+ oggOptionsGroupBox->hide();
+ wacpackGroupBox->show();
+ }
+ else {
+ 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 ExportFormatOptionsWidget::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 ExportFormatOptionsWidget::ogg_method_changed(int index)
+{
+ QString method = oggMethodComboBox->itemData(index).toString();
+
+ if (method == "manual") {
+ oggQualitySlider->hide();
+ oggQualityLabel->hide();
+ oggBitrateComboBox->show();
+ oggBitrateLabel->show();
+ }
+ else {
+ // VBR
+ oggBitrateComboBox->hide();
+ oggBitrateLabel->hide();
+ oggQualitySlider->show();
+ oggQualityLabel->show();
+ }
+}
+
+void ExportFormatOptionsWidget::get_format_options(ExportSpecification * spec)
+{
+ QString audioType =
audioTypeComboBox->itemData(audioTypeComboBox->currentIndex()).toString();
+ if (audioType == "wav") {
+ spec->writerType = "sndfile";
+ spec->extraFormat["filetype"] = "wav";
+ }
+ else if (audioType == "aiff") {
+ spec->writerType = "sndfile";
+ spec->extraFormat["filetype"] = "aiff";
+ }
+ else if (audioType == "flac") {
+ spec->writerType = "flac";
+ }
+ else if (audioType == "wavpack") {
+ spec->writerType = "wavpack";
+ spec->extraFormat["quality"] =
wavpackCompressionComboBox->itemData(wavpackCompressionComboBox->currentIndex()).toString();
+ spec->extraFormat["skip_wvx"] = skipWVXCheckBox->isChecked() ?
"true" : "false";
+ }
+ else if (audioType == "mp3") {
+ spec->writerType = "lame";
+ spec->extraFormat["method"] =
mp3MethodComboBox->itemData(mp3MethodComboBox->currentIndex()).toString();
+ spec->extraFormat["minBitrate"] =
mp3MinBitrateComboBox->itemData(mp3MinBitrateComboBox->currentIndex()).toString();
+ spec->extraFormat["maxBitrate"] =
mp3MaxBitrateComboBox->itemData(mp3MaxBitrateComboBox->currentIndex()).toString();
+ spec->extraFormat["quality"] =
QString::number(mp3QualitySlider->value());
+ }
+ else if (audioType == "ogg") {
+ spec->writerType = "vorbis";
+ spec->extraFormat["mode"] =
oggMethodComboBox->itemData(oggMethodComboBox->currentIndex()).toString();
+ if (spec->extraFormat["mode"] == "manual") {
+ spec->extraFormat["bitrateNominal"] =
oggBitrateComboBox->itemData(oggBitrateComboBox->currentIndex()).toString();
+ spec->extraFormat["bitrateUpper"] =
oggBitrateComboBox->itemData(oggBitrateComboBox->currentIndex()).toString();
+ }
+ else {
+ spec->extraFormat["vbrQuality"] =
QString::number(oggQualitySlider->value());
+ }
+ }
+
+ spec->data_width =
bitdepthComboBox->itemData(bitdepthComboBox->currentIndex()).toInt();
+ spec->channels =
channelComboBox->itemData(channelComboBox->currentIndex()).toInt();
+ spec->sample_rate =
sampleRateComboBox->itemData(sampleRateComboBox->currentIndex()).toInt();
+ spec->src_quality =
resampleQualityComboBox->itemData(resampleQualityComboBox->currentIndex()).toInt();
+
+
+ spec->normalize = normalizeCheckBox->isChecked();
+
+ //TODO Make a ComboBox for this one too!
+ spec->dither_type = GDitherTri;
+
+
+}
Index: widgets/ExportFormatOptionsWidget.h
===================================================================
RCS file: widgets/ExportFormatOptionsWidget.h
diff -N widgets/ExportFormatOptionsWidget.h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ widgets/ExportFormatOptionsWidget.h 22 May 2008 14:54:24 -0000 1.1
@@ -0,0 +1,55 @@
+/*
+ Copyright (C) 2008 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_FORMAT_OPTIONS_WIDGET_H
+#define EXPORT_FORMAT_OPTIONS_WIDGET_H
+
+#include "ui_ExportFormatOptionsWidget.h"
+
+#include <QWidget>
+
+class Project;
+class Sheet;
+struct ExportSpecification;
+
+class ExportFormatOptionsWidget : public QWidget, protected
Ui::ExportFormatOptionsWidget
+{
+ Q_OBJECT
+
+public:
+ ExportFormatOptionsWidget(QWidget* parent = 0);
+ ~ExportFormatOptionsWidget();
+
+ void get_format_options(ExportSpecification* spec);
+
+
+private slots:
+ void audio_type_changed(int index);
+ void mp3_method_changed(int index);
+ void ogg_method_changed(int index);
+};
+
+#endif
+
+//eof
+
+
+
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Traverso-commit] traverso/src/traverso CMakeLists.txt dialogs/Ex...,
Remon Sijrier <=