From e01f6853e3b337d7141119b604b852515ced38e7 Mon Sep 17 00:00:00 2001 From: lordmulder Date: Sat, 7 May 2011 00:50:18 +0200 Subject: [PATCH] Added more options for Aften to the "Advanced Options" tab. --- etc/Translation/Blank.ts | 120 +++++++++++++-- etc/Translation/LameXP_DE.ts | 96 +++++++++++- etc/Translation/LameXP_ES.ts | 88 +++++++++++ etc/Translation/LameXP_FR.ts | 88 +++++++++++ etc/Translation/LameXP_IT.ts | 88 +++++++++++ etc/Translation/LameXP_KR.ts | 88 +++++++++++ etc/Translation/LameXP_RU.ts | 88 +++++++++++ etc/Translation/LameXP_UK.ts | 88 +++++++++++ etc/Translation/update.lst | 2 + gui/MainWindow.ui | 267 +++++++++++++++++++++++++++++++++- res/localization/LameXP_DE.qm | Bin 58579 -> 60688 bytes src/Config.h | 4 +- src/Dialog_About.cpp | 17 ++- src/Dialog_MainWindow.cpp | 54 ++++++- src/Dialog_MainWindow.h | 4 + src/Dialog_Processing.cpp | 4 + src/Dialog_Update.cpp | 6 + src/Encoder_AC3.cpp | 42 ++++++ src/Encoder_AC3.h | 10 ++ src/Model_Settings.cpp | 8 + src/Model_Settings.h | 4 + src/Thread_Initialization.cpp | 8 +- 22 files changed, 1132 insertions(+), 42 deletions(-) diff --git a/etc/Translation/Blank.ts b/etc/Translation/Blank.ts index ddb82243..71445933 100644 --- a/etc/Translation/Blank.ts +++ b/etc/Translation/Blank.ts @@ -103,6 +103,10 @@ Available from vendor web-site as free download: + + Aften &minus; A/52 audio encoder + + FLAC &minus; Free Lossless Audio Codec @@ -163,6 +167,14 @@ The True Audio &minus; Lossless Audio Codec + + ALAC Decoder + + + + Copyright (c) 2004 David Hammerton. Contributions by Cody Brocious. + + MediaInfo &minus; Media File Analysis Tool @@ -199,10 +211,6 @@ n/a - - Aften &minus; A/52 audio encoder - - AudioFileModel @@ -424,6 +432,10 @@ FLAC + + Aften A/52 + + Rate Control Method @@ -600,6 +612,10 @@ Custom Encoder Parameters + + Lame MP3: + + OggEnc2: @@ -616,6 +632,10 @@ Warning: Custom parameters won't be checked at all. Use them at your own risk !!! + + Aften A/52: + + Multi-Threading @@ -644,6 +664,86 @@ Store temporary files in your system's default TEMP directory (Recommended) + + Aften A/52 Options + + + + Film Light + + + + Film Standard + + + + Music Light + + + + Music Standard + + + + Speech + + + + None (Default) + + + + Auto Select + + + + 1+1 (Ch1,Ch2) + + + + 1/0 (C) + + + + 2/0 (L,R) + + + + 3/0 (L,R,C) + + + + 2/1 (L,R,S) + + + + 3/1 (L,R,C,S) + + + + 2/2 (L,R,SL,SR) + + + + 3/2 (L,R,C,SL,SR) + + + + Audio Coding Mode: + + + + Dynamic Range Compression: + + + + Fast Bit Allocation (Less Accurate) + + + + Exponent Search Size: + + Reset Advanced Options @@ -1272,18 +1372,6 @@ The LameXP shell integration has been re-enabled. - - Aften A/52 - - - - Lame MP3: - - - - Aften A/52: - - MetaInfo diff --git a/etc/Translation/LameXP_DE.ts b/etc/Translation/LameXP_DE.ts index 93e8808a..9d270468 100644 --- a/etc/Translation/LameXP_DE.ts +++ b/etc/Translation/LameXP_DE.ts @@ -201,7 +201,15 @@ Aften &minus; A/52 audio encoder - + Aften &minus; A/52 Audio-Kodierer + + + ALAC Decoder + ALAC Dekodierer + + + Copyright (c) 2004 David Hammerton. Contributions by Cody Brocious. + Copyright (c) 2004 David Hammerton. Unter Mitwirkung von Cody Brocious. @@ -1275,15 +1283,95 @@ Aften A/52 - + Lame MP3: - + Aften A/52: - + + + + Aften A/52 Options + Aften A/52 Optionen + + + Film Light + Film (Gering) + + + Film Standard + Film (Normal) + + + Music Light + Musik (Gering) + + + Music Standard + Musik (Normal) + + + Speech + Sprache + + + None (Default) + Keine (Standard) + + + Auto Select + Automatisch + + + 1+1 (Ch1,Ch2) + + + + 1/0 (C) + + + + 2/0 (L,R) + + + + 3/0 (L,R,C) + + + + 2/1 (L,R,S) + + + + 3/1 (L,R,C,S) + + + + 2/2 (L,R,SL,SR) + + + + 3/2 (L,R,C,SL,SR) + + + + Audio Coding Mode: + Ton-Kodierungsmodus: + + + Dynamic Range Compression: + Dynamik-Kompression: + + + Fast Bit Allocation (Less Accurate) + Schnelle Bit-Zuteilung (weniger genau) + + + Exponent Search Size: + Exponenten Such-Größe: diff --git a/etc/Translation/LameXP_ES.ts b/etc/Translation/LameXP_ES.ts index c7de8712..c2893128 100644 --- a/etc/Translation/LameXP_ES.ts +++ b/etc/Translation/LameXP_ES.ts @@ -203,6 +203,14 @@ Aften &minus; A/52 audio encoder + + ALAC Decoder + + + + Copyright (c) 2004 David Hammerton. Contributions by Cody Brocious. + + AudioFileModel @@ -1284,6 +1292,86 @@ Aften A/52: + + Aften A/52 Options + + + + Film Light + + + + Film Standard + + + + Music Light + + + + Music Standard + + + + Speech + + + + None (Default) + + + + Auto Select + + + + 1+1 (Ch1,Ch2) + + + + 1/0 (C) + + + + 2/0 (L,R) + + + + 3/0 (L,R,C) + + + + 2/1 (L,R,S) + + + + 3/1 (L,R,C,S) + + + + 2/2 (L,R,SL,SR) + + + + 3/2 (L,R,C,SL,SR) + + + + Audio Coding Mode: + + + + Dynamic Range Compression: + + + + Fast Bit Allocation (Less Accurate) + + + + Exponent Search Size: + + MetaInfo diff --git a/etc/Translation/LameXP_FR.ts b/etc/Translation/LameXP_FR.ts index 1a70a382..22aaf83c 100644 --- a/etc/Translation/LameXP_FR.ts +++ b/etc/Translation/LameXP_FR.ts @@ -207,6 +207,14 @@ Aften &minus; A/52 audio encoder + + ALAC Decoder + + + + Copyright (c) 2004 David Hammerton. Contributions by Cody Brocious. + + AudioFileModel @@ -1294,6 +1302,86 @@ Ouvrir le dossier récursivement... Aften A/52: + + Aften A/52 Options + + + + Film Light + + + + Film Standard + + + + Music Light + + + + Music Standard + + + + Speech + + + + None (Default) + + + + Auto Select + + + + 1+1 (Ch1,Ch2) + + + + 1/0 (C) + + + + 2/0 (L,R) + + + + 3/0 (L,R,C) + + + + 2/1 (L,R,S) + + + + 3/1 (L,R,C,S) + + + + 2/2 (L,R,SL,SR) + + + + 3/2 (L,R,C,SL,SR) + + + + Audio Coding Mode: + + + + Dynamic Range Compression: + + + + Fast Bit Allocation (Less Accurate) + + + + Exponent Search Size: + + MetaInfo diff --git a/etc/Translation/LameXP_IT.ts b/etc/Translation/LameXP_IT.ts index ad2d1043..8257eeae 100644 --- a/etc/Translation/LameXP_IT.ts +++ b/etc/Translation/LameXP_IT.ts @@ -203,6 +203,14 @@ Aften &minus; A/52 audio encoder + + ALAC Decoder + + + + Copyright (c) 2004 David Hammerton. Contributions by Cody Brocious. + + AudioFileModel @@ -1285,6 +1293,86 @@ Aften A/52: + + Aften A/52 Options + + + + Film Light + + + + Film Standard + + + + Music Light + + + + Music Standard + + + + Speech + + + + None (Default) + + + + Auto Select + + + + 1+1 (Ch1,Ch2) + + + + 1/0 (C) + + + + 2/0 (L,R) + + + + 3/0 (L,R,C) + + + + 2/1 (L,R,S) + + + + 3/1 (L,R,C,S) + + + + 2/2 (L,R,SL,SR) + + + + 3/2 (L,R,C,SL,SR) + + + + Audio Coding Mode: + + + + Dynamic Range Compression: + + + + Fast Bit Allocation (Less Accurate) + + + + Exponent Search Size: + + MetaInfo diff --git a/etc/Translation/LameXP_KR.ts b/etc/Translation/LameXP_KR.ts index 330f8f3b..aaacdb97 100644 --- a/etc/Translation/LameXP_KR.ts +++ b/etc/Translation/LameXP_KR.ts @@ -203,6 +203,14 @@ Aften &minus; A/52 audio encoder + + ALAC Decoder + + + + Copyright (c) 2004 David Hammerton. Contributions by Cody Brocious. + + AudioFileModel @@ -1284,6 +1292,86 @@ Aften A/52: + + Aften A/52 Options + + + + Film Light + + + + Film Standard + + + + Music Light + + + + Music Standard + + + + Speech + + + + None (Default) + + + + Auto Select + + + + 1+1 (Ch1,Ch2) + + + + 1/0 (C) + + + + 2/0 (L,R) + + + + 3/0 (L,R,C) + + + + 2/1 (L,R,S) + + + + 3/1 (L,R,C,S) + + + + 2/2 (L,R,SL,SR) + + + + 3/2 (L,R,C,SL,SR) + + + + Audio Coding Mode: + + + + Dynamic Range Compression: + + + + Fast Bit Allocation (Less Accurate) + + + + Exponent Search Size: + + MetaInfo diff --git a/etc/Translation/LameXP_RU.ts b/etc/Translation/LameXP_RU.ts index 33b1b010..ec391e4f 100644 --- a/etc/Translation/LameXP_RU.ts +++ b/etc/Translation/LameXP_RU.ts @@ -203,6 +203,14 @@ Aften &minus; A/52 audio encoder + + ALAC Decoder + + + + Copyright (c) 2004 David Hammerton. Contributions by Cody Brocious. + + AudioFileModel @@ -1286,6 +1294,86 @@ Aften A/52: + + Aften A/52 Options + + + + Film Light + + + + Film Standard + + + + Music Light + + + + Music Standard + + + + Speech + + + + None (Default) + + + + Auto Select + + + + 1+1 (Ch1,Ch2) + + + + 1/0 (C) + + + + 2/0 (L,R) + + + + 3/0 (L,R,C) + + + + 2/1 (L,R,S) + + + + 3/1 (L,R,C,S) + + + + 2/2 (L,R,SL,SR) + + + + 3/2 (L,R,C,SL,SR) + + + + Audio Coding Mode: + + + + Dynamic Range Compression: + + + + Fast Bit Allocation (Less Accurate) + + + + Exponent Search Size: + + MetaInfo diff --git a/etc/Translation/LameXP_UK.ts b/etc/Translation/LameXP_UK.ts index 58384439..3b4e8dc3 100644 --- a/etc/Translation/LameXP_UK.ts +++ b/etc/Translation/LameXP_UK.ts @@ -203,6 +203,14 @@ Aften &minus; A/52 audio encoder + + ALAC Decoder + + + + Copyright (c) 2004 David Hammerton. Contributions by Cody Brocious. + + AudioFileModel @@ -1284,6 +1292,86 @@ Aften A/52: + + Aften A/52 Options + + + + Film Light + + + + Film Standard + + + + Music Light + + + + Music Standard + + + + Speech + + + + None (Default) + + + + Auto Select + + + + 1+1 (Ch1,Ch2) + + + + 1/0 (C) + + + + 2/0 (L,R) + + + + 3/0 (L,R,C) + + + + 2/1 (L,R,S) + + + + 3/1 (L,R,C,S) + + + + 2/2 (L,R,SL,SR) + + + + 3/2 (L,R,C,SL,SR) + + + + Audio Coding Mode: + + + + Dynamic Range Compression: + + + + Fast Bit Allocation (Less Accurate) + + + + Exponent Search Size: + + MetaInfo diff --git a/etc/Translation/update.lst b/etc/Translation/update.lst index 6246678f..dcaf58f2 100644 --- a/etc/Translation/update.lst +++ b/etc/Translation/update.lst @@ -33,6 +33,7 @@ ..\..\src\Dialog_WorkingBanner.cpp ..\..\src\Encoder_AAC.cpp ..\..\src\Encoder_Abstract.cpp +..\..\src\Encoder_AC3.cpp ..\..\src\Encoder_FLAC.cpp ..\..\src\Encoder_MP3.cpp ..\..\src\Encoder_Vorbis.cpp @@ -92,6 +93,7 @@ ..\..\src\Dialog_WorkingBanner.h ..\..\src\Encoder_AAC.h ..\..\src\Encoder_Abstract.h +..\..\src\Encoder_AC3.h ..\..\src\Encoder_FLAC.h ..\..\src\Encoder_MP3.h ..\..\src\Encoder_Vorbis.h diff --git a/gui/MainWindow.ui b/gui/MainWindow.ui index ac988334..91463403 100644 --- a/gui/MainWindow.ui +++ b/gui/MainWindow.ui @@ -1068,7 +1068,7 @@ 0 0 604 - 1117 + 1244 @@ -1705,7 +1705,7 @@ - + @@ -1850,7 +1850,7 @@ - + @@ -2028,7 +2028,7 @@ - + @@ -2237,7 +2237,7 @@ - + @@ -2401,7 +2401,7 @@ - + @@ -2531,6 +2531,258 @@ + + + + + 50 + false + + + + Aften A/52 Options + + + + + + + + 5 + + + + Film Light + + + + + Film Standard + + + + + Music Light + + + + + Music Standard + + + + + Speech + + + + + None (Default) + + + + + + + + + Auto Select + + + + + 1+1 (Ch1,Ch2) + + + + + 1/0 (C) + + + + + 2/0 (L,R) + + + + + 3/0 (L,R,C) + + + + + 2/1 (L,R,S) + + + + + 3/1 (L,R,C,S) + + + + + 2/2 (L,R,SL,SR) + + + + + 3/2 (L,R,C,SL,SR) + + + + + + + + Audio Coding Mode: + + + + + + + Dynamic Range Compression: + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 10 + 20 + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 10 + 20 + + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 8 + + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 8 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 6 + + + + + + + + Fast Bit Allocation (Less Accurate) + + + + + + + Exponent Search Size: + + + + + + + 1 + + + 32 + + + 8 + + + + + + + + @@ -3191,6 +3443,9 @@ + + + diff --git a/res/localization/LameXP_DE.qm b/res/localization/LameXP_DE.qm index 9e5b5a239173ab3bed427957d884d2a34c3d6066..a8fa3d5fb7804a67bc3050b5128ac8e03c3b321c 100644 GIT binary patch delta 5086 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 "; aboutText += QString("%1").arg(tr("Note: LameXP is free software. Do not pay money to obtain or use LameXP! If some third-party website tries to make you pay for downloading LameXP, you should not respond to the offer !!!")); @@ -432,6 +432,13 @@ void AboutDialog::showMoreAbout(void) "http://tta.sourceforge.net/" ); moreAboutText += makeToolText + ( + tr("ALAC Decoder"), + "alac.exe", "v?.?.?", + tr("Copyright (c) 2004 David Hammerton. Contributions by Cody Brocious."), + "http://craz.net/programs/itunes/alac.html" + ); + moreAboutText += makeToolText ( tr("MediaInfo − Media File Analysis Tool"), "mediainfo.exe", "v?.?.??", @@ -452,8 +459,6 @@ void AboutDialog::showMoreAbout(void) tr("Released under the terms of the GNU Lesser General Public License."), "http://www.gnupg.org/" ); - - moreAboutText += makeToolText ( tr("GNU Wget − Software for retrieving files using HTTP"), @@ -461,8 +466,6 @@ void AboutDialog::showMoreAbout(void) tr("Released under the terms of the GNU Lesser General Public License."), "http://www.gnu.org/software/wget/" ); - - moreAboutText += makeToolText ( tr("Silk Icons − Over 700 icons in PNG format"), @@ -470,9 +473,9 @@ void AboutDialog::showMoreAbout(void) tr("By Mark James, released under the Creative Commons 'by' License."), "http://www.famfamfam.com/lab/icons/silk/" ); - moreAboutText += QString(" %1
").arg + moreAboutText += QString(" %1
").arg ( - tr("LameXP as a whole is copyrighted by LoRd_MuldeR. The copyright of thrird-party software used in LameXP belongs to the individual authors.") + tr("LameXP as a whole is copyrighted by LoRd_MuldeR. The copyright of thrird-party software used in LameXP belongs to the individual authors.").replace("-", "−") ); QMessageBox *moreAboutBox = new QMessageBox(this); diff --git a/src/Dialog_MainWindow.cpp b/src/Dialog_MainWindow.cpp index b66a75c1..1597cec4 100644 --- a/src/Dialog_MainWindow.cpp +++ b/src/Dialog_MainWindow.cpp @@ -214,11 +214,15 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S spinBoxNormalizationFilter->setValue(static_cast(m_settings->normalizationFilterMaxVolume()) / 100.0); spinBoxToneAdjustBass->setValue(static_cast(m_settings->toneAdjustBass()) / 100.0); spinBoxToneAdjustTreble->setValue(static_cast(m_settings->toneAdjustTreble()) / 100.0); + spinBoxAftenSearchSize->setValue(m_settings->aftenExponentSearchSize()); comboBoxMP3ChannelMode->setCurrentIndex(m_settings->lameChannelMode()); comboBoxSamplingRate->setCurrentIndex(m_settings->samplingRate()); comboBoxNeroAACProfile->setCurrentIndex(m_settings->neroAACProfile()); + comboBoxAftenCodingMode->setCurrentIndex(m_settings->aftenAudioCodingMode()); + comboBoxAftenDRCMode->setCurrentIndex(m_settings->aftenDynamicRangeCompression()); while(checkBoxBitrateManagement->isChecked() != m_settings->bitrateManagementEnabled()) checkBoxBitrateManagement->click(); while(checkBoxNeroAAC2PassMode->isChecked() != m_settings->neroAACEnable2Pass()) checkBoxNeroAAC2PassMode->click(); + while(checkBoxAftenFastAllocation->isChecked() != m_settings->aftenFastBitAllocation()) checkBoxAftenFastAllocation->click(); while(checkBoxNormalizationFilter->isChecked() != m_settings->normalizationFilterEnabled()) checkBoxNormalizationFilter->click(); while(checkBoxAutoDetectInstances->isChecked() != (m_settings->maximumInstances() < 1)) checkBoxAutoDetectInstances->click(); while(checkBoxUseSystemTempFolder->isChecked() == m_settings->customTempPathEnabled()) checkBoxUseSystemTempFolder->click(); @@ -237,6 +241,10 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S connect(checkBoxNeroAAC2PassMode, SIGNAL(clicked(bool)), this, SLOT(neroAAC2PassChanged(bool))); connect(comboBoxNeroAACProfile, SIGNAL(currentIndexChanged(int)), this, SLOT(neroAACProfileChanged(int))); connect(checkBoxNormalizationFilter, SIGNAL(clicked(bool)), this, SLOT(normalizationEnabledChanged(bool))); + connect(comboBoxAftenCodingMode, SIGNAL(currentIndexChanged(int)), this, SLOT(aftenCodingModeChanged(int))); + connect(comboBoxAftenDRCMode, SIGNAL(currentIndexChanged(int)), this, SLOT(aftenDRCModeChanged(int))); + connect(spinBoxAftenSearchSize, SIGNAL(valueChanged(int)), this, SLOT(aftenSearchSizeChanged(int))); + connect(checkBoxAftenFastAllocation, SIGNAL(clicked(bool)), this, SLOT(aftenFastAllocationChanged(bool))); connect(spinBoxNormalizationFilter, SIGNAL(valueChanged(double)), this, SLOT(normalizationMaxVolumeChanged(double))); connect(spinBoxToneAdjustBass, SIGNAL(valueChanged(double)), this, SLOT(toneAdjustBassChanged(double))); connect(spinBoxToneAdjustTreble, SIGNAL(valueChanged(double)), this, SLOT(toneAdjustTrebleChanged(double))); @@ -652,12 +660,14 @@ void MainWindow::changeEvent(QEvent *e) { if(e->type() == QEvent::LanguageChange) { - int comboBoxIndex[3]; + int comboBoxIndex[5]; //Backup combobox indices, as retranslateUi() resets comboBoxIndex[0] = comboBoxMP3ChannelMode->currentIndex(); comboBoxIndex[1] = comboBoxSamplingRate->currentIndex(); comboBoxIndex[2] = comboBoxNeroAACProfile->currentIndex(); + comboBoxIndex[3] = comboBoxAftenCodingMode->currentIndex(); + comboBoxIndex[4] = comboBoxAftenDRCMode->currentIndex(); //Re-translate from UIC Ui::MainWindow::retranslateUi(this); @@ -666,6 +676,8 @@ void MainWindow::changeEvent(QEvent *e) comboBoxMP3ChannelMode->setCurrentIndex(comboBoxIndex[0]); comboBoxSamplingRate->setCurrentIndex(comboBoxIndex[1]); comboBoxNeroAACProfile->setCurrentIndex(comboBoxIndex[2]); + comboBoxAftenCodingMode->setCurrentIndex(comboBoxIndex[3]); + comboBoxAftenDRCMode->setCurrentIndex(comboBoxIndex[4]); //Update the window title if(LAMEXP_DEBUG) @@ -1897,7 +1909,7 @@ void MainWindow::updateBitrate(int value) labelBitrate->setText(tr("Compression %1").arg(value)); break; case SettingsModel::AC3Encoder: - labelBitrate->setText(tr("Quality Level %1").arg(min(1023, max(0, value * 64)))); + labelBitrate->setText(tr("Quality Level %1").arg(min(1024, max(0, value * 64)))); break; case SettingsModel::PCMEncoder: labelBitrate->setText(tr("Uncompressed")); @@ -1937,7 +1949,7 @@ void MainWindow::updateBitrate(int value) labelBitrate->setText(tr("Compression %1").arg(value)); break; case SettingsModel::AC3Encoder: - labelBitrate->setText(QString("≈ %1 kbps").arg(SettingsModel::ac3Bitrates[value])); + labelBitrate->setText(QString("%1 kbps").arg(SettingsModel::ac3Bitrates[value])); break; case SettingsModel::PCMEncoder: labelBitrate->setText(tr("Uncompressed")); @@ -2056,6 +2068,38 @@ void MainWindow::neroAACProfileChanged(int value) if(value >= 0) m_settings->neroAACProfile(value); } +/* + * Aften audio coding mode changed + */ +void MainWindow::aftenCodingModeChanged(int value) +{ + if(value >= 0) m_settings->aftenAudioCodingMode(value); +} + +/* + * Aften DRC mode changed + */ +void MainWindow::aftenDRCModeChanged(int value) +{ + if(value >= 0) m_settings->aftenDynamicRangeCompression(value); +} + +/* + * Aften exponent search size changed + */ +void MainWindow::aftenSearchSizeChanged(int value) +{ + if(value >= 0) m_settings->aftenExponentSearchSize(value); +} + +/* + * Aften fast bit allocation changed + */ +void MainWindow::aftenFastAllocationChanged(bool checked) +{ + m_settings->aftenFastBitAllocation(checked); +} + /* * Normalization filter enabled changed */ @@ -2196,14 +2240,18 @@ void MainWindow::resetAdvancedOptionsButtonClicked(void) spinBoxNormalizationFilter->setValue(static_cast(m_settings->normalizationFilterMaxVolumeDefault()) / 100.0); spinBoxToneAdjustBass->setValue(static_cast(m_settings->toneAdjustBassDefault()) / 100.0); spinBoxToneAdjustTreble->setValue(static_cast(m_settings->toneAdjustTrebleDefault()) / 100.0); + spinBoxAftenSearchSize->setValue(m_settings->aftenExponentSearchSizeDefault()); comboBoxMP3ChannelMode->setCurrentIndex(m_settings->lameChannelModeDefault()); comboBoxSamplingRate->setCurrentIndex(m_settings->samplingRateDefault()); comboBoxNeroAACProfile->setCurrentIndex(m_settings->neroAACProfileDefault()); + comboBoxAftenCodingMode->setCurrentIndex(m_settings->aftenAudioCodingModeDefault()); + comboBoxAftenDRCMode->setCurrentIndex(m_settings->aftenDynamicRangeCompressionDefault()); while(checkBoxBitrateManagement->isChecked() != m_settings->bitrateManagementEnabledDefault()) checkBoxBitrateManagement->click(); while(checkBoxNeroAAC2PassMode->isChecked() != m_settings->neroAACEnable2PassDefault()) checkBoxNeroAAC2PassMode->click(); while(checkBoxNormalizationFilter->isChecked() != m_settings->normalizationFilterEnabledDefault()) checkBoxNormalizationFilter->click(); while(checkBoxAutoDetectInstances->isChecked() != (m_settings->maximumInstancesDefault() < 1)) checkBoxAutoDetectInstances->click(); while(checkBoxUseSystemTempFolder->isChecked() == m_settings->customTempPathEnabledDefault()) checkBoxUseSystemTempFolder->click(); + while(checkBoxAftenFastAllocation->isChecked() != m_settings->aftenFastBitAllocationDefault()) checkBoxAftenFastAllocation->click(); lineEditCustomParamLAME->setText(m_settings->customParametersLAMEDefault()); lineEditCustomParamOggEnc->setText(m_settings->customParametersOggEncDefault()); lineEditCustomParamNeroAAC->setText(m_settings->customParametersNeroAACDefault()); diff --git a/src/Dialog_MainWindow.h b/src/Dialog_MainWindow.h index e67db214..316c78fd 100644 --- a/src/Dialog_MainWindow.h +++ b/src/Dialog_MainWindow.h @@ -88,6 +88,10 @@ private slots: void channelModeChanged(int value); void neroAACProfileChanged(int value); void neroAAC2PassChanged(bool checked); + void aftenCodingModeChanged(int value); + void aftenDRCModeChanged(int value); + void aftenSearchSizeChanged(int value); + void aftenFastAllocationChanged(bool checked); void normalizationEnabledChanged(bool checked); void normalizationMaxVolumeChanged(double volume); void toneAdjustBassChanged(double value); diff --git a/src/Dialog_Processing.cpp b/src/Dialog_Processing.cpp index 4b092dbb..9ef71cd0 100644 --- a/src/Dialog_Processing.cpp +++ b/src/Dialog_Processing.cpp @@ -607,6 +607,10 @@ void ProcessingDialog::startNextJob(void) ac3Encoder->setBitrate(m_settings->compressionBitrate()); ac3Encoder->setRCMode(m_settings->compressionRCMode()); ac3Encoder->setCustomParams(m_settings->customParametersAften()); + ac3Encoder->setAudioCodingMode(m_settings->aftenAudioCodingMode()); + ac3Encoder->setDynamicRangeCompression(m_settings->aftenDynamicRangeCompression()); + ac3Encoder->setExponentSearchSize(m_settings->aftenExponentSearchSize()); + ac3Encoder->setFastBitAllocation(m_settings->aftenFastBitAllocation()); encoder = ac3Encoder; } break; diff --git a/src/Dialog_Update.cpp b/src/Dialog_Update.cpp index 135d5f2b..a4435d7e 100644 --- a/src/Dialog_Update.cpp +++ b/src/Dialog_Update.cpp @@ -145,6 +145,12 @@ UpdateDialog::UpdateDialog(SettingsModel *settings, QWidget *parent) labelAnimationCenter->setMovie(m_animator); m_animator->start(); + //Indicate beta updates + if(m_betaUpdates) + { + setWindowTitle(windowTitle().append(" [Beta]")); + } + //Enable button connect(retryButton, SIGNAL(clicked()), this, SLOT(checkForUpdates())); connect(installButton, SIGNAL(clicked()), this, SLOT(applyUpdate())); diff --git a/src/Encoder_AC3.cpp b/src/Encoder_AC3.cpp index 98196f6d..39c625ea 100644 --- a/src/Encoder_AC3.cpp +++ b/src/Encoder_AC3.cpp @@ -38,6 +38,11 @@ AC3Encoder::AC3Encoder(void) { throw "Error initializing FLAC encoder. Tool 'aften.exe' is not registred!"; } + + m_configAudioCodingMode = 0; + m_configDynamicRangeCompression = 5; + m_configExponentSearchSize = 8; + m_configFastBitAllocation = false; } AC3Encoder::~AC3Encoder(void) @@ -62,6 +67,23 @@ bool AC3Encoder::encode(const QString &sourceFile, const AudioFileModel &metaInf break; } + if(m_configAudioCodingMode >= 1) + { + args << "-acmod" << QString::number(m_configAudioCodingMode - 1); + } + if(m_configDynamicRangeCompression != 5) + { + args << "-dynrng" << QString::number(m_configDynamicRangeCompression); + } + if(m_configExponentSearchSize != 8) + { + args << "-exps" << QString::number(m_configExponentSearchSize); + } + if(m_configFastBitAllocation) + { + args << "-fba" << QString::number(1); + } + if(!m_configCustomParams.isEmpty()) args << m_configCustomParams.split(" ", QString::SkipEmptyParts); args << QDir::toNativeSeparators(sourceFile); @@ -130,6 +152,26 @@ bool AC3Encoder::encode(const QString &sourceFile, const AudioFileModel &metaInf return true; } +void AC3Encoder::setAudioCodingMode(int value) +{ + m_configAudioCodingMode = min(8, max(0, value)); +} + +void AC3Encoder::setDynamicRangeCompression(int value) +{ + m_configDynamicRangeCompression = min(5, max(0, value)); +} + +void AC3Encoder::setExponentSearchSize(int value) +{ + m_configExponentSearchSize = min(32, max(1, value)); +} + +void AC3Encoder::setFastBitAllocation(bool value) +{ + m_configFastBitAllocation = value; +} + QString AC3Encoder::extension(void) { return "ac3"; diff --git a/src/Encoder_AC3.h b/src/Encoder_AC3.h index 679279aa..9ff1b018 100644 --- a/src/Encoder_AC3.h +++ b/src/Encoder_AC3.h @@ -38,6 +38,16 @@ public: virtual QString extension(void); virtual const unsigned int *requiresDownsample(void); + //Advanced options + virtual void setAudioCodingMode(int value); + virtual void setDynamicRangeCompression(int value); + virtual void setExponentSearchSize(int value); + virtual void setFastBitAllocation(bool value); + private: const QString m_binary; + int m_configAudioCodingMode; + int m_configDynamicRangeCompression; + int m_configExponentSearchSize; + bool m_configFastBitAllocation; }; diff --git a/src/Model_Settings.cpp b/src/Model_Settings.cpp index 5dd9827d..876bd605 100644 --- a/src/Model_Settings.cpp +++ b/src/Model_Settings.cpp @@ -91,6 +91,10 @@ LAMEXP_MAKE_ID(lameChannelMode, "AdvancedOptions/LAME/ChannelMode"); LAMEXP_MAKE_ID(bitrateManagementEnabled, "AdvancedOptions/BitrateManagement/Enabled"); LAMEXP_MAKE_ID(bitrateManagementMinRate, "AdvancedOptions/BitrateManagement/MinRate"); LAMEXP_MAKE_ID(bitrateManagementMaxRate, "AdvancedOptions/BitrateManagement/MaxRate"); +LAMEXP_MAKE_ID(aftenAudioCodingMode, "AdvancedOptions/Aften/AudioCodingMode"); +LAMEXP_MAKE_ID(aftenDynamicRangeCompression, "AdvancedOptions/Aften/DynamicRangeCompression"); +LAMEXP_MAKE_ID(aftenFastBitAllocation, "AdvancedOptions/Aften/FastBitAllocation"); +LAMEXP_MAKE_ID(aftenExponentSearchSize, "AdvancedOptions/Aften/ExponentSearchSize"); LAMEXP_MAKE_ID(samplingRate, "AdvancedOptions/Common/Resampling"); LAMEXP_MAKE_ID(neroAACEnable2Pass, "AdvancedOptions/NeroAAC/Enable2Pass"); LAMEXP_MAKE_ID(neroAACProfile, "AdvancedOptions/NeroAAC/ForceProfile"); @@ -278,6 +282,10 @@ LAMEXP_MAKE_OPTION_I(bitrateManagementMaxRate, 500) LAMEXP_MAKE_OPTION_I(samplingRate, 0) LAMEXP_MAKE_OPTION_B(neroAACEnable2Pass, true) LAMEXP_MAKE_OPTION_I(neroAACProfile, 0) +LAMEXP_MAKE_OPTION_I(aftenAudioCodingMode, 0); +LAMEXP_MAKE_OPTION_I(aftenDynamicRangeCompression, 5); +LAMEXP_MAKE_OPTION_B(aftenFastBitAllocation, false); +LAMEXP_MAKE_OPTION_I(aftenExponentSearchSize, 8); LAMEXP_MAKE_OPTION_B(normalizationFilterEnabled, false) LAMEXP_MAKE_OPTION_I(normalizationFilterMaxVolume, -50) LAMEXP_MAKE_OPTION_I(toneAdjustBass, 0) diff --git a/src/Model_Settings.h b/src/Model_Settings.h index 0852a7ed..1e271a5b 100644 --- a/src/Model_Settings.h +++ b/src/Model_Settings.h @@ -104,6 +104,10 @@ public: LAMEXP_MAKE_OPTION_I(samplingRate); LAMEXP_MAKE_OPTION_B(neroAACEnable2Pass); LAMEXP_MAKE_OPTION_I(neroAACProfile); + LAMEXP_MAKE_OPTION_I(aftenAudioCodingMode); + LAMEXP_MAKE_OPTION_I(aftenDynamicRangeCompression); + LAMEXP_MAKE_OPTION_B(aftenFastBitAllocation); + LAMEXP_MAKE_OPTION_I(aftenExponentSearchSize); LAMEXP_MAKE_OPTION_B(normalizationFilterEnabled); LAMEXP_MAKE_OPTION_I(normalizationFilterMaxVolume); LAMEXP_MAKE_OPTION_I(toneAdjustBass); diff --git a/src/Thread_Initialization.cpp b/src/Thread_Initialization.cpp index 12b7bddb..b5390628 100644 --- a/src/Thread_Initialization.cpp +++ b/src/Thread_Initialization.cpp @@ -54,8 +54,8 @@ g_lamexp_tools[] = { {"0a6252606c1ceda7b8973e5935ef72d60b8fd64d", CPU_TYPE_X86, "aften.i386.exe", 8}, {"22253052acba92a0088bbf0aa82a8c505c07b854", CPU_TYPE_SSE, "aften.sse2.exe", 8}, - {"2996a48b01b65a2c1806482654beeea7ffcf1f80", CPU_TYPE_X64, "aften.x64.exe", 8}, - {"3b41f85dde8d4a5a0f4cd5f461099d0db24610ba", CPU_TYPE_ALL, "alac.exe", UINT_MAX}, + {"2996a48b01b65a2c1806482654beeea7ffcf1f80", CPU_TYPE_X64, "aften.x64.exe", 8}, + {"3b41f85dde8d4a5a0f4cd5f461099d0db24610ba", CPU_TYPE_ALL, "alac.exe", 20}, {"fb74ac8b73ad8cba2c3b4e6e61f23401d630dc22", CPU_TYPE_ALL, "elevator.exe", UINT_MAX}, {"80e372d8b20be24102c18284286fcdf5fa14bd86", CPU_TYPE_ALL, "faad.exe", 27}, {"d33cd86f04bd4067e244d2804466583c7b90a4e2", CPU_TYPE_ALL, "flac.exe", 121}, @@ -64,13 +64,13 @@ g_lamexp_tools[] = {"d5b3b80220d85a9fd2f486e37c1fb6511f3c2d72", CPU_TYPE_ALL, "lame.exe", 3990}, {"a4e929cfaa42fa2e61a3d0c6434c77a06d45aef3", CPU_TYPE_ALL, "mac.exe", 406}, {"a9aa99209fb9ad6ceb97b7a46774fc97141d3dce", CPU_TYPE_GEN, "mediainfo.i386.exe", 745}, - {"9f6b81378e4c408fe5ded8a26ddd0d6c705d81cb", CPU_TYPE_X64, "mediainfo.x64.exe", 745}, + {"9f6b81378e4c408fe5ded8a26ddd0d6c705d81cb", CPU_TYPE_X64, "mediainfo.x64.exe", 745}, {"aa89763a5ba4d1a5986549b9ee53e005c51940c1", CPU_TYPE_ALL, "mpcdec.exe", 435}, {"c327400fcee268f581d8c03e2a5cbbe8031abb6f", CPU_TYPE_ALL, "mpg123.exe", 1133}, {"8dd7138714c3bcb39f5a3213413addba13d06f1e", CPU_TYPE_ALL, "oggdec.exe", UINT_MAX}, {"97fed9ab0657baa36b6c7764461d66318654dbe6", CPU_TYPE_X86, "oggenc2.i386.exe", 287603}, {"e6dc1f31ce822588fa9cf52a341cebffd526546c", CPU_TYPE_SSE, "oggenc2.sse2.exe", 287603}, - {"79aa9da24b2a0728cdf0a6927be316b864595b83", CPU_TYPE_X64, "oggenc2.x64.exe", 287603}, + {"79aa9da24b2a0728cdf0a6927be316b864595b83", CPU_TYPE_X64, "oggenc2.x64.exe", 287603}, {"0d9035bb62bdf46a2785261f8be5a4a0972abd15", CPU_TYPE_ALL, "shorten.exe", 361}, {"50ead3b852cbfc067a402e6c2d0d0d8879663dec", CPU_TYPE_ALL, "sox.exe", 1432}, {"8671e16497a2d217d3707d4aa418678d02b16bcc", CPU_TYPE_ALL, "speexdec.exe", 12},