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 @@
-
+
@@ -2629,32 +2629,32 @@
-
+
-
+
-
+
-
+
-
+
-
+
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 @@
-
+ Dateinamenserweiterung
-
-
+
+ Ersetzen durch
-
+ Dateinamenserweiterung zum Überschreiben:
-
+ Neue Dateinamenserweiterung eingeben:
@@ -1019,57 +1019,57 @@
-
+ Ersetzung:
-
+ Suchmuster:
-
+ <a href="regexp">Info zu regulären Ausrücken</a>
-
+ Alle übereinstimmenden Elemente ersetzen
-
+ Bitte geben Sie den gewünschten regulären Ausdruck hier ein!
-
+ Ersetzung hier eingeben! Kann Rückwärtsreferenzen enthalten.
-
+ Eintrag hinzufügen
-
+ Eintrag entfernen
-
+ Dateien umbenennen
-
+ Reguläre Ausdrücke
-
+ Dateinamenserweiterungen
@@ -1360,7 +1360,7 @@
Verzeichnis konnte nicht erstellt werden
-
+
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.
-
+
Wird bereits ausgeführt
@@ -2528,22 +2528,22 @@
Bei existierender Zieldatei:
-
+
Überschreiben Modus
-
+
Achtung: Dieser Modus überschreibt möglicherweise existierende Dateien!
-
+
Fortfahren
-
+
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 @@
-
+
@@ -1488,12 +1488,12 @@
¡El disco es de solo lectura o no se tienen los derechos suficientes!
-
+
Ya se está ejecutando
-
+
¡LameXP ya se está ejecutando, use esa instancia por favor!
@@ -2528,22 +2528,22 @@
Si el archivo de destino ya existe:
-
+
Modo de sobreescritura
-
+
Aviso: ¡Este modo sobreescribirá los archivos existentes sin ninguna posibilidad de recuperarlos!
-
+
Continuar
-
+
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 @@
-
+
@@ -1493,12 +1493,12 @@ Votre dossier TEMP est situé ici:
Le lecteur est en lecture seule ou en droits d'accès insuffisants!
-
+
Déjà en cours d'exécution
-
+
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à :
-
+
Mode d'écrasement
-
+
AVERTISSEMENT : Ce mode peut remplacer les fichiers existants sans aucun moyen de revenir en arrière !
-
+
Continuer
-
+
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 @@
-
+
@@ -2629,32 +2629,32 @@
Nem lehet írni a kiválasztott könyvtárba. Kérjük válasszon egy másik könyvtárat!
-
+
Felülírási mód
-
+
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!
-
+
Folytatás
-
+
Visszaállítás
-
+
Már fut
-
+
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 @@
-
+
@@ -1360,7 +1360,7 @@
Creazione della cartella non riuscita
-
+
LameXP è già in esecuzione, per favore usa la sessione già aperta!
@@ -1562,7 +1562,7 @@
Questa versione dimostrativa (Test) di LameXP è scaduta il %1.
-
+
Già in Esecuzione
@@ -2528,22 +2528,22 @@
Se il File di Destinazione Esiste Già:
-
+
Modalità Sovrascrittura
-
+
Attenzione: Questa modalità potrebbe sovrascrivere i file esistenti senza possibilità di recupero!
-
+
Continua
-
+
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 @@
-
+
@@ -1791,12 +1791,12 @@
드라이버가 읽기-전용이거나 접근 권한이 없습니다!
-
+
이미 실행 중
-
+
LameXP가 이미 실행 중입니다. 실행 중인 인스턴스를 사용하십시오!
@@ -2524,22 +2524,22 @@
대상 파일이 이미 존재하면:
-
+
대체 방식
-
+
경고: 이 방식은 기존 파일이 되돌릴 수 없는 방법으로 대체될 수 있습니다!
-
+
계속
-
+
되돌리기
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 @@
-
+
@@ -2646,32 +2646,32 @@
Nie można zapisać do wybranej lokalizacji. Prosze wybierz inną lokalizację!
-
+
Tryb nadpisywania
-
+
Ostrzeżenie: W tym trybie istniejące pliki będą nadpisywane bez możliwości ich odzyskania!
-
+
Kontynuuj
-
+
Cofnij
-
+
Już działa
-
+
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 @@
-
+
@@ -1723,12 +1723,12 @@
Диск только для чтения или недостаточно прав для записи!
-
+
Уже запущено
-
+
LameXP уже запущена, пожалуйста, используйте запущенную копию программы!
@@ -2538,22 +2538,22 @@
Если файл уже существует:
-
+
Ркжим перезаписи
-
+
Предупреждение: В этом режиме безвозвратно будут перезаписываться уже существующие файлы, если таковые есть!
-
+
Да
-
+
Отмена
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 @@
-
+
@@ -2638,32 +2638,32 @@
Kan inte skriva till den specificerade mappen. Välj en annan destination!
-
+
Överskrivningsläge
-
+
Varning! Det här läget kan skriva över befintliga filer, utan möjlighet att återskapa!
-
+
Fortsätt
-
+
Återställ
-
+
Körs redan
-
+
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 @@
-
+
@@ -1484,12 +1484,12 @@
驅動器是只讀的或沒有足夠的訪問權限 !
-
+
已在運行
-
+
LameXP 已在運行,請使用當前運行的實例 !
@@ -2524,22 +2524,22 @@
如果目標文件已存在:
-
+
覆蓋模式
-
+
警告: 這種模式可能會覆蓋現有的文件無法恢復!
-
+
繼續
-
+
還原
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 @@
-
+
@@ -1687,12 +1687,12 @@
Носій в режимі 'лише для читання' або використовуються недостатні права доступу!
-
+
Вже запущено
-
+
LameXP вже запущено, тому використовуйте запущену копію програми!
@@ -2531,22 +2531,22 @@
Якщо цільовий файл вже існує:
-
+
Режим перезапису
-
+
Попередження: Цей режим може перезаписати існуючі файли без можливості відмінити зміни!
-
+
Продовжити
-
+
Відмінити
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 @@
-
+
@@ -1484,12 +1484,12 @@
驱动器是只读的或没有足够的访问权限!
-
+
已运行
-
+
LameXP 已在运行,请使用当前运行的实例!
@@ -2524,22 +2524,22 @@
如果目标文件已存在:
-
+
覆盖模式
-
+
警告: 这种模式可能会覆盖现有的文件且无法恢复!
-
+
继续
-
+
后退
diff --git a/res/localization/LameXP_DE.qm b/res/localization/LameXP_DE.qm
index 10bef2ea..b52d1ea5 100644
Binary files a/res/localization/LameXP_DE.qm and b/res/localization/LameXP_DE.qm differ
diff --git a/src/Config.h b/src/Config.h
index 073dd26b..d0eff097 100644
--- a/src/Config.h
+++ b/src/Config.h
@@ -34,8 +34,8 @@
#define VER_LAMEXP_MINOR_HI 1
#define VER_LAMEXP_MINOR_LO 2
#define VER_LAMEXP_TYPE Alpha
-#define VER_LAMEXP_PATCH 3
-#define VER_LAMEXP_BUILD 1730
+#define VER_LAMEXP_PATCH 4
+#define VER_LAMEXP_BUILD 1734
#define VER_LAMEXP_CONFG 1700
///////////////////////////////////////////////////////////////////////////////
diff --git a/src/Dialog_MainWindow.cpp b/src/Dialog_MainWindow.cpp
index 945cc00c..a03f8ea6 100644
--- a/src/Dialog_MainWindow.cpp
+++ b/src/Dialog_MainWindow.cpp
@@ -4206,16 +4206,16 @@ void MainWindow::customParamsHelpRequested(QWidget *obj, QEvent *event)
}
}
- if(obj == ui->helpCustomParamLAME) 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 }
};