From f2dae69676d2f55e3a9082bd2bf31c35d17ed9d8 Mon Sep 17 00:00:00 2001 From: LoRd_MuldeR Date: Tue, 12 May 2015 00:29:17 +0200 Subject: [PATCH] Added detection of 64-Bit QAAC encoder + fixed a regression in def8a9cd6e13defb09a4d2931ef0af93e7a25245. --- etc/Translation/Blank.ts | 14 +++++------ etc/Translation/LameXP_DE.ts | 44 +++++++++++++++++----------------- etc/Translation/LameXP_ES.ts | 14 +++++------ etc/Translation/LameXP_FR.ts | 14 +++++------ etc/Translation/LameXP_HU.ts | 14 +++++------ etc/Translation/LameXP_IT.ts | 14 +++++------ etc/Translation/LameXP_KR.ts | 14 +++++------ etc/Translation/LameXP_PL.ts | 14 +++++------ etc/Translation/LameXP_RU.ts | 14 +++++------ etc/Translation/LameXP_SV.ts | 14 +++++------ etc/Translation/LameXP_TW.ts | 14 +++++------ etc/Translation/LameXP_UK.ts | 14 +++++------ etc/Translation/LameXP_ZH.ts | 14 +++++------ res/localization/LameXP_DE.qm | Bin 87079 -> 88941 bytes src/Config.h | 4 ++-- src/Dialog_MainWindow.cpp | 22 ++++++++++++----- src/Encoder_AAC.h | 1 + src/Encoder_AAC_FDK.h | 1 + src/Encoder_AAC_FHG.h | 1 + src/Encoder_AAC_QAAC.cpp | 11 +++++---- src/Encoder_AAC_QAAC.h | 6 ++--- src/Encoder_AC3.h | 1 + src/Encoder_Abstract.h | 1 + src/Encoder_DCA.h | 1 + src/Encoder_FLAC.h | 1 + src/Encoder_MAC.h | 1 + src/Encoder_MP3.h | 1 + src/Encoder_Opus.h | 1 + src/Encoder_Vorbis.h | 1 + src/Encoder_Wave.h | 1 + src/Model_FileExts.cpp | 2 +- src/Registry_Encoder.cpp | 4 ++++ src/Thread_Process.cpp | 2 +- src/Tools.h | 1 + 34 files changed, 152 insertions(+), 124 deletions(-) diff --git a/etc/Translation/Blank.ts b/etc/Translation/Blank.ts index 18cab277..77c9f0ab 100644 --- a/etc/Translation/Blank.ts +++ b/etc/Translation/Blank.ts @@ -763,7 +763,7 @@ - Repalce With + Replace With @@ -2629,32 +2629,32 @@ - + Overwrite Mode - + Warning: This mode may overwrite existing files with no way to revert! - + Continue - + Revert - + Already Running - + LameXP is already running, please use the running instance! diff --git a/etc/Translation/LameXP_DE.ts b/etc/Translation/LameXP_DE.ts index bcdb531c..32e51ddd 100644 --- a/etc/Translation/LameXP_DE.ts +++ b/etc/Translation/LameXP_DE.ts @@ -762,22 +762,22 @@ File Extension - + Dateinamenserweiterung - Repalce With - + Replace With + Ersetzen durch Select file extensions to overwrite: - + Dateinamenserweiterung zum Überschreiben: Enter the new file extension: - + Neue Dateinamenserweiterung eingeben: @@ -1019,57 +1019,57 @@ Replacement: - + Ersetzung: Search Pattern: - + Suchmuster: <a href="regexp">Regular Expression Info</a> - + <a href="regexp">Info zu regulären Ausrücken</a> Replace all Matching Elements - + Alle übereinstimmenden Elemente ersetzen Enter the desired search pattern (regular expression) here! - + Bitte geben Sie den gewünschten regulären Ausdruck hier ein! Enter replacement text here! It may contain backreferences. - + Ersetzung hier eingeben! Kann Rückwärtsreferenzen enthalten. Add Overwrite - + Eintrag hinzufügen Remove Overwrite - + Eintrag entfernen Rename Files - + Dateien umbenennen Regular Expressions - + Reguläre Ausdrücke File Extensions - + Dateinamenserweiterungen @@ -1360,7 +1360,7 @@ Verzeichnis konnte nicht erstellt werden - + LameXP is already running, please use the running instance! LameXP wird bereits ausgeführt. Bitte benutzen Sie die laufende Instanz! @@ -1562,7 +1562,7 @@ Diese Demo (Test) Version von LameXP ist am %1. abgelaufen. - + Already Running Wird bereits ausgeführt @@ -2528,22 +2528,22 @@ Bei existierender Zieldatei: - + Overwrite Mode Überschreiben Modus - + Warning: This mode may overwrite existing files with no way to revert! Achtung: Dieser Modus überschreibt möglicherweise existierende Dateien! - + Continue Fortfahren - + Revert Zurück diff --git a/etc/Translation/LameXP_ES.ts b/etc/Translation/LameXP_ES.ts index 95674071..faa1880d 100644 --- a/etc/Translation/LameXP_ES.ts +++ b/etc/Translation/LameXP_ES.ts @@ -767,7 +767,7 @@ - Repalce With + Replace With @@ -1488,12 +1488,12 @@ ¡El disco es de solo lectura o no se tienen los derechos suficientes! - + Already Running Ya se está ejecutando - + LameXP is already running, please use the running instance! ¡LameXP ya se está ejecutando, use esa instancia por favor! @@ -2528,22 +2528,22 @@ Si el archivo de destino ya existe: - + Overwrite Mode Modo de sobreescritura - + Warning: This mode may overwrite existing files with no way to revert! Aviso: ¡Este modo sobreescribirá los archivos existentes sin ninguna posibilidad de recuperarlos! - + Continue Continuar - + Revert Revertir diff --git a/etc/Translation/LameXP_FR.ts b/etc/Translation/LameXP_FR.ts index c4b2933d..eaac0cd8 100644 --- a/etc/Translation/LameXP_FR.ts +++ b/etc/Translation/LameXP_FR.ts @@ -770,7 +770,7 @@ - Repalce With + Replace With @@ -1493,12 +1493,12 @@ Votre dossier TEMP est situé ici: Le lecteur est en lecture seule ou en droits d'accès insuffisants! - + Already Running Déjà en cours d'exécution - + LameXP is already running, please use the running instance! LameXP est déjà en cours d'exécution, veuillez utiliser cette instance! @@ -2536,22 +2536,22 @@ Ouvrir le dossier récursivement... Si le fichier cible existe déjà : - + Overwrite Mode Mode d'écrasement - + Warning: This mode may overwrite existing files with no way to revert! AVERTISSEMENT : Ce mode peut remplacer les fichiers existants sans aucun moyen de revenir en arrière ! - + Continue Continuer - + Revert Revenir diff --git a/etc/Translation/LameXP_HU.ts b/etc/Translation/LameXP_HU.ts index 00d0de2a..b17b995d 100644 --- a/etc/Translation/LameXP_HU.ts +++ b/etc/Translation/LameXP_HU.ts @@ -763,7 +763,7 @@ - Repalce With + Replace With @@ -2629,32 +2629,32 @@ Nem lehet írni a kiválasztott könyvtárba. Kérjük válasszon egy másik könyvtárat! - + Overwrite Mode Felülírási mód - + Warning: This mode may overwrite existing files with no way to revert! Figyelem: Ez a mód felülírja a már létező fájlokat, amelyeket azt követően nem tud visszaállítani! - + Continue Folytatás - + Revert Visszaállítás - + Already Running Már fut - + LameXP is already running, please use the running instance! A LameXP már fut. Kérjük, használja a futó példányt! diff --git a/etc/Translation/LameXP_IT.ts b/etc/Translation/LameXP_IT.ts index 5afdf16c..af729355 100644 --- a/etc/Translation/LameXP_IT.ts +++ b/etc/Translation/LameXP_IT.ts @@ -766,7 +766,7 @@ - Repalce With + Replace With @@ -1360,7 +1360,7 @@ Creazione della cartella non riuscita - + LameXP is already running, please use the running instance! LameXP è già in esecuzione, per favore usa la sessione già aperta! @@ -1562,7 +1562,7 @@ Questa versione dimostrativa (Test) di LameXP è scaduta il %1. - + Already Running Già in Esecuzione @@ -2528,22 +2528,22 @@ Se il File di Destinazione Esiste Già: - + Overwrite Mode Modalità Sovrascrittura - + Warning: This mode may overwrite existing files with no way to revert! Attenzione: Questa modalità potrebbe sovrascrivere i file esistenti senza possibilità di recupero! - + Continue Continua - + Revert Annulla diff --git a/etc/Translation/LameXP_KR.ts b/etc/Translation/LameXP_KR.ts index fe5bb140..79eb036d 100644 --- a/etc/Translation/LameXP_KR.ts +++ b/etc/Translation/LameXP_KR.ts @@ -763,7 +763,7 @@ - Repalce With + Replace With @@ -1791,12 +1791,12 @@ 드라이버가 읽기-전용이거나 접근 권한이 없습니다! - + Already Running 이미 실행 중 - + LameXP is already running, please use the running instance! LameXP가 이미 실행 중입니다. 실행 중인 인스턴스를 사용하십시오! @@ -2524,22 +2524,22 @@ 대상 파일이 이미 존재하면: - + Overwrite Mode 대체 방식 - + Warning: This mode may overwrite existing files with no way to revert! 경고: 이 방식은 기존 파일이 되돌릴 수 없는 방법으로 대체될 수 있습니다! - + Continue 계속 - + Revert 되돌리기 diff --git a/etc/Translation/LameXP_PL.ts b/etc/Translation/LameXP_PL.ts index b460d4d1..05678e1b 100644 --- a/etc/Translation/LameXP_PL.ts +++ b/etc/Translation/LameXP_PL.ts @@ -769,7 +769,7 @@ - Repalce With + Replace With @@ -2646,32 +2646,32 @@ Nie można zapisać do wybranej lokalizacji. Prosze wybierz inną lokalizację! - + Overwrite Mode Tryb nadpisywania - + Warning: This mode may overwrite existing files with no way to revert! Ostrzeżenie: W tym trybie istniejące pliki będą nadpisywane bez możliwości ich odzyskania! - + Continue Kontynuuj - + Revert Cofnij - + Already Running Już działa - + LameXP is already running, please use the running instance! LameXP już działa, przejdź do działającego procesu! diff --git a/etc/Translation/LameXP_RU.ts b/etc/Translation/LameXP_RU.ts index 5b5f6b1d..70e96433 100644 --- a/etc/Translation/LameXP_RU.ts +++ b/etc/Translation/LameXP_RU.ts @@ -774,7 +774,7 @@ - Repalce With + Replace With @@ -1723,12 +1723,12 @@ Диск только для чтения или недостаточно прав для записи! - + Already Running Уже запущено - + LameXP is already running, please use the running instance! LameXP уже запущена, пожалуйста, используйте запущенную копию программы! @@ -2538,22 +2538,22 @@ Если файл уже существует: - + Overwrite Mode Ркжим перезаписи - + Warning: This mode may overwrite existing files with no way to revert! Предупреждение: В этом режиме безвозвратно будут перезаписываться уже существующие файлы, если таковые есть! - + Continue Да - + Revert Отмена diff --git a/etc/Translation/LameXP_SV.ts b/etc/Translation/LameXP_SV.ts index 23dd2e34..7f78ad1c 100644 --- a/etc/Translation/LameXP_SV.ts +++ b/etc/Translation/LameXP_SV.ts @@ -767,7 +767,7 @@ - Repalce With + Replace With @@ -2638,32 +2638,32 @@ Kan inte skriva till den specificerade mappen. Välj en annan destination! - + Overwrite Mode Överskrivningsläge - + Warning: This mode may overwrite existing files with no way to revert! Varning! Det här läget kan skriva över befintliga filer, utan möjlighet att återskapa! - + Continue Fortsätt - + Revert Återställ - + Already Running Körs redan - + LameXP is already running, please use the running instance! LameXP körs redan, använd den redan startade instansen! diff --git a/etc/Translation/LameXP_TW.ts b/etc/Translation/LameXP_TW.ts index ac1a7306..00e239b9 100644 --- a/etc/Translation/LameXP_TW.ts +++ b/etc/Translation/LameXP_TW.ts @@ -763,7 +763,7 @@ - Repalce With + Replace With @@ -1484,12 +1484,12 @@ 驅動器是只讀的或沒有足夠的訪問權限 ! - + Already Running 已在運行 - + LameXP is already running, please use the running instance! LameXP 已在運行,請使用當前運行的實例 ! @@ -2524,22 +2524,22 @@ 如果目標文件已存在: - + Overwrite Mode 覆蓋模式 - + Warning: This mode may overwrite existing files with no way to revert! 警告: 這種模式可能會覆蓋現有的文件無法恢復! - + Continue 繼續 - + Revert 還原 diff --git a/etc/Translation/LameXP_UK.ts b/etc/Translation/LameXP_UK.ts index 2ddacf64..0055e270 100644 --- a/etc/Translation/LameXP_UK.ts +++ b/etc/Translation/LameXP_UK.ts @@ -770,7 +770,7 @@ - Repalce With + Replace With @@ -1687,12 +1687,12 @@ Носій в режимі 'лише для читання' або використовуються недостатні права доступу! - + Already Running Вже запущено - + LameXP is already running, please use the running instance! LameXP вже запущено, тому використовуйте запущену копію програми! @@ -2531,22 +2531,22 @@ Якщо цільовий файл вже існує: - + Overwrite Mode Режим перезапису - + Warning: This mode may overwrite existing files with no way to revert! Попередження: Цей режим може перезаписати існуючі файли без можливості відмінити зміни! - + Continue Продовжити - + Revert Відмінити diff --git a/etc/Translation/LameXP_ZH.ts b/etc/Translation/LameXP_ZH.ts index fd54aeac..5ac92982 100644 --- a/etc/Translation/LameXP_ZH.ts +++ b/etc/Translation/LameXP_ZH.ts @@ -763,7 +763,7 @@ - Repalce With + Replace With @@ -1484,12 +1484,12 @@ 驱动器是只读的或没有足够的访问权限! - + Already Running 已运行 - + LameXP is already running, please use the running instance! LameXP 已在运行,请使用当前运行的实例! @@ -2524,22 +2524,22 @@ 如果目标文件已存在: - + Overwrite Mode 覆盖模式 - + Warning: This mode may overwrite existing files with no way to revert! 警告: 这种模式可能会覆盖现有的文件且无法恢复! - + Continue 继续 - + Revert 后退 diff --git a/res/localization/LameXP_DE.qm b/res/localization/LameXP_DE.qm index 10bef2ea16e0ecdcfbb31d2a457c900d21a756c9..b52d1ea53f5c00c1d1180e996a2ac10a9a0f41e2 100644 GIT binary patch delta 6670 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 u*hy5fZ2_6N`j2=fQz_CV|9 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 showCustomParamsHelpScreen("lame.exe", "--longhelp"); + if(obj == ui->helpCustomParamLAME) showCustomParamsHelpScreen("lame.exe", "--longhelp"); else if(obj == ui->helpCustomParamOggEnc) showCustomParamsHelpScreen("oggenc2.exe", "--help"); else if(obj == ui->helpCustomParamNeroAAC) { switch(EncoderRegistry::getAacEncoder()) { - case SettingsModel::AAC_ENCODER_QAAC: showCustomParamsHelpScreen("qaac.exe", "--help"); break; - case SettingsModel::AAC_ENCODER_FHG : showCustomParamsHelpScreen("fhgaacenc.exe", "" ); break; - case SettingsModel::AAC_ENCODER_FDK : showCustomParamsHelpScreen("fdkaac.exe", "--help"); break; - case SettingsModel::AAC_ENCODER_NERO: showCustomParamsHelpScreen("neroAacEnc.exe", "-help" ); break; + case SettingsModel::AAC_ENCODER_QAAC: showCustomParamsHelpScreen("qaac64.exe|qaac.exe", "--help"); break; + case SettingsModel::AAC_ENCODER_FHG : showCustomParamsHelpScreen("fhgaacenc.exe", "" ); break; + case SettingsModel::AAC_ENCODER_FDK : showCustomParamsHelpScreen("fdkaac.exe", "--help"); break; + case SettingsModel::AAC_ENCODER_NERO: showCustomParamsHelpScreen("neroAacEnc.exe", "-help" ); break; default: MUtils::Sound::beep(MUtils::Sound::BEEP_ERR); break; } } @@ -4230,7 +4230,17 @@ void MainWindow::customParamsHelpRequested(QWidget *obj, QEvent *event) */ void MainWindow::showCustomParamsHelpScreen(const QString &toolName, const QString &command) { - const QString binary = lamexp_tools_lookup(toolName); + const QStringList toolNames = toolName.split('|', QString::SkipEmptyParts); + QString binary; + for(QStringList::ConstIterator iter = toolNames.constBegin(); iter != toolNames.constEnd(); iter++) + { + if(lamexp_tools_check(*iter)) + { + binary = lamexp_tools_lookup(*iter); + break; + } + } + if(binary.isEmpty()) { MUtils::Sound::beep(MUtils::Sound::BEEP_ERR); diff --git a/src/Encoder_AAC.h b/src/Encoder_AAC.h index 0fea9943..e6621da4 100644 --- a/src/Encoder_AAC.h +++ b/src/Encoder_AAC.h @@ -43,6 +43,7 @@ public: virtual void setEnable2Pass(bool enabled); //Encoder info + virtual const AbstractEncoderInfo *toEncoderInfo(void) const { return getEncoderInfo(); } static const AbstractEncoderInfo *getEncoderInfo(void); private: diff --git a/src/Encoder_AAC_FDK.h b/src/Encoder_AAC_FDK.h index d7f26cbc..5bbab1ea 100644 --- a/src/Encoder_AAC_FDK.h +++ b/src/Encoder_AAC_FDK.h @@ -41,6 +41,7 @@ public: virtual void setProfile(int profile); //Encoder info + virtual const AbstractEncoderInfo *toEncoderInfo(void) const { return getEncoderInfo(); } static const AbstractEncoderInfo *getEncoderInfo(void); private: diff --git a/src/Encoder_AAC_FHG.h b/src/Encoder_AAC_FHG.h index 4da288a7..0b2ab821 100644 --- a/src/Encoder_AAC_FHG.h +++ b/src/Encoder_AAC_FHG.h @@ -44,6 +44,7 @@ public: virtual void setProfile(int profile); //Encoder info + virtual const AbstractEncoderInfo *toEncoderInfo(void) const { return getEncoderInfo(); } static const AbstractEncoderInfo *getEncoderInfo(void); private: diff --git a/src/Encoder_AAC_QAAC.cpp b/src/Encoder_AAC_QAAC.cpp index c7c07d34..c5aee188 100644 --- a/src/Encoder_AAC_QAAC.cpp +++ b/src/Encoder_AAC_QAAC.cpp @@ -134,11 +134,10 @@ static const g_qaacEncoderInfo; QAACEncoder::QAACEncoder(void) : - m_binary_qaac(lamexp_tools_lookup("qaac.exe")), - m_binary_soxr(lamexp_tools_lookup("libsoxr.dll")), - m_binary_soxc(lamexp_tools_lookup("libsoxconvolver.dll")) + m_binary_qaac32(lamexp_tools_lookup("qaac.exe")), + m_binary_qaac64(lamexp_tools_lookup("qaac64.exe")) { - if(m_binary_qaac.isEmpty() || m_binary_soxr.isEmpty() || m_binary_soxc.isEmpty()) + if(m_binary_qaac32.isEmpty() && m_binary_qaac64.isEmpty()) { MUTILS_THROW("Error initializing QAAC. Tool 'qaac.exe' is not registred!"); } @@ -152,6 +151,8 @@ QAACEncoder::~QAACEncoder(void) bool QAACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo &metaInfo, const unsigned int duration, const QString &outputFile, volatile bool *abortFlag) { + const QString qaac_bin = m_binary_qaac64.isEmpty() ? m_binary_qaac32 : m_binary_qaac64; + QProcess process; QStringList args; @@ -203,7 +204,7 @@ bool QAACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInf args << "-o" << QDir::toNativeSeparators(outputFile); args << QDir::toNativeSeparators(sourceFile); - if(!startProcess(process, m_binary_qaac, args)) + if(!startProcess(process, qaac_bin, args)) { return false; } diff --git a/src/Encoder_AAC_QAAC.h b/src/Encoder_AAC_QAAC.h index b4640262..99da9c4f 100644 --- a/src/Encoder_AAC_QAAC.h +++ b/src/Encoder_AAC_QAAC.h @@ -41,11 +41,11 @@ public: virtual void setProfile(int profile); //Encoder info + virtual const AbstractEncoderInfo *toEncoderInfo(void) const { return getEncoderInfo(); } static const AbstractEncoderInfo *getEncoderInfo(void); private: - const QString m_binary_qaac; - const QString m_binary_soxr; - const QString m_binary_soxc; + const QString m_binary_qaac32; + const QString m_binary_qaac64; int m_configProfile; }; diff --git a/src/Encoder_AC3.h b/src/Encoder_AC3.h index fe1b3d69..f437f699 100644 --- a/src/Encoder_AC3.h +++ b/src/Encoder_AC3.h @@ -46,6 +46,7 @@ public: virtual void setFastBitAllocation(bool value); //Encoder info + virtual const AbstractEncoderInfo *toEncoderInfo(void) const { return getEncoderInfo(); } static const AbstractEncoderInfo *getEncoderInfo(void); private: diff --git a/src/Encoder_Abstract.h b/src/Encoder_Abstract.h index dacef1f6..188d5730 100644 --- a/src/Encoder_Abstract.h +++ b/src/Encoder_Abstract.h @@ -78,6 +78,7 @@ public: virtual void setCustomParams(const QString &customParams); //Encoder info + virtual const AbstractEncoderInfo *toEncoderInfo(void) const = 0; static const AbstractEncoderInfo *getEncoderInfo(void) { MUTILS_THROW("This method shall be re-implemented in derived classes!"); diff --git a/src/Encoder_DCA.h b/src/Encoder_DCA.h index 9e53cafa..2f10693e 100644 --- a/src/Encoder_DCA.h +++ b/src/Encoder_DCA.h @@ -41,6 +41,7 @@ public: virtual const unsigned int *supportedSamplerates(void); //Encoder info + virtual const AbstractEncoderInfo *toEncoderInfo(void) const { return getEncoderInfo(); } static const AbstractEncoderInfo *getEncoderInfo(void); private: diff --git a/src/Encoder_FLAC.h b/src/Encoder_FLAC.h index 44cb295c..562d04d3 100644 --- a/src/Encoder_FLAC.h +++ b/src/Encoder_FLAC.h @@ -40,6 +40,7 @@ public: virtual const unsigned int *supportedBitdepths(void); //Encoder info + virtual const AbstractEncoderInfo *toEncoderInfo(void) const { return getEncoderInfo(); } static const AbstractEncoderInfo *getEncoderInfo(void); private: diff --git a/src/Encoder_MAC.h b/src/Encoder_MAC.h index 95e773e2..7f811be8 100644 --- a/src/Encoder_MAC.h +++ b/src/Encoder_MAC.h @@ -38,6 +38,7 @@ public: virtual bool isFormatSupported(const QString &containerType, const QString &containerProfile, const QString &formatType, const QString &formatProfile, const QString &formatVersion); //Encoder info + virtual const AbstractEncoderInfo *toEncoderInfo(void) const { return getEncoderInfo(); } static const AbstractEncoderInfo *getEncoderInfo(void); private: diff --git a/src/Encoder_MP3.h b/src/Encoder_MP3.h index ff23a9d0..c67e95d1 100644 --- a/src/Encoder_MP3.h +++ b/src/Encoder_MP3.h @@ -45,6 +45,7 @@ public: virtual void setChannelMode(int value); //Encoder info + virtual const AbstractEncoderInfo *toEncoderInfo(void) const { return getEncoderInfo(); } static const AbstractEncoderInfo *getEncoderInfo(void); private: diff --git a/src/Encoder_Opus.h b/src/Encoder_Opus.h index 6245d361..f2ee35a5 100644 --- a/src/Encoder_Opus.h +++ b/src/Encoder_Opus.h @@ -46,6 +46,7 @@ public: virtual void setFrameSize(int frameSize); //Encoder info + virtual const AbstractEncoderInfo *toEncoderInfo(void) const { return getEncoderInfo(); } static const AbstractEncoderInfo *getEncoderInfo(void); private: diff --git a/src/Encoder_Vorbis.h b/src/Encoder_Vorbis.h index 5076b079..f6ac1c42 100644 --- a/src/Encoder_Vorbis.h +++ b/src/Encoder_Vorbis.h @@ -40,6 +40,7 @@ public: virtual void setSamplingRate(int value); //Encoder info + virtual const AbstractEncoderInfo *toEncoderInfo(void) const { return getEncoderInfo(); } static const AbstractEncoderInfo *getEncoderInfo(void); private: diff --git a/src/Encoder_Wave.h b/src/Encoder_Wave.h index 77bc223d..4d689910 100644 --- a/src/Encoder_Wave.h +++ b/src/Encoder_Wave.h @@ -38,5 +38,6 @@ public: virtual bool isFormatSupported(const QString &containerType, const QString &containerProfile, const QString &formatType, const QString &formatProfile, const QString &formatVersion); //Encoder info + virtual const AbstractEncoderInfo *toEncoderInfo(void) const { return getEncoderInfo(); } static const AbstractEncoderInfo *getEncoderInfo(void); }; diff --git a/src/Model_FileExts.cpp b/src/Model_FileExts.cpp index 039cb27d..32984cef 100644 --- a/src/Model_FileExts.cpp +++ b/src/Model_FileExts.cpp @@ -139,7 +139,7 @@ QVariant FileExtsModel::headerData(int section, Qt::Orientation orientation, int case 0: return QVariant(tr("File Extension")); case 1: - return QVariant(tr("Repalce With")); + return QVariant(tr("Replace With")); default: return QVariant(); } diff --git a/src/Registry_Encoder.cpp b/src/Registry_Encoder.cpp index 6eee9b32..00f9371a 100644 --- a/src/Registry_Encoder.cpp +++ b/src/Registry_Encoder.cpp @@ -507,6 +507,10 @@ int EncoderRegistry::getAacEncoder(void) { return SettingsModel::AAC_ENCODER_QAAC; } + else if(lamexp_tools_check("qaac64.exe") && lamexp_tools_check("libsoxr64.dll") && lamexp_tools_check("libsoxconvolver64.dll")) + { + return SettingsModel::AAC_ENCODER_QAAC; + } else if(lamexp_tools_check("fdkaac.exe")) { return SettingsModel::AAC_ENCODER_FDK; diff --git a/src/Thread_Process.cpp b/src/Thread_Process.cpp index 3a3685b6..4e0267fb 100644 --- a/src/Thread_Process.cpp +++ b/src/Thread_Process.cpp @@ -441,7 +441,7 @@ int ProcessThread::generateOutFileName(QString &outFileName) //Generate full output path - const QString fileExt = m_renameFileExt.isEmpty() ? QString::fromUtf8(m_encoder->getEncoderInfo()->extension()) : m_renameFileExt; + const QString fileExt = m_renameFileExt.isEmpty() ? QString::fromUtf8(m_encoder->toEncoderInfo()->extension()) : m_renameFileExt; outFileName = QString("%1/%2.%3").arg(targetDir.canonicalPath(), fileName, fileExt); //Skip file, if target file exists (optional!) diff --git a/src/Tools.h b/src/Tools.h index e209b2b1..7407f5b4 100644 --- a/src/Tools.h +++ b/src/Tools.h @@ -120,5 +120,6 @@ static const aac_encoder_t g_lamexp_aacenc[] = { "FhgAacEnc", { "fhgaacenc.exe", "enc_fhgaac.dll", "nsutil.dll", "libmp4v2.dll", "libsndfile-1.dll", NULL }, lamexp_toolver_fhgaacenc(), 1, 100000000, "????-??-??", "fhgaacenc version (\\d+) by tmkk", NULL }, { "FdkAacEnc", { "fdkaac.exe", NULL }, lamexp_toolver_fdkaacenc(), 3, 10, "v?.?.?", "fdkaac\\s+(\\d)\\.(\\d)\\.(\\d)", NULL }, { "QAAC", { "qaac.exe", "libsoxr.dll", "libsoxconvolver.dll", NULL }, lamexp_toolver_qaacenc(), 2, 100, "v?.??", "qaac (\\d)\\.(\\d+)", NULL }, + { "QAACx64", { "qaac64.exe", "libsoxr64.dll", "libsoxconvolver64.dll", NULL }, lamexp_toolver_qaacenc(), 2, 100, "v?.??", "qaac (\\d)\\.(\\d+)", NULL }, { NULL, { NULL }, 0, 0, 0, NULL, NULL, NULL } };