diff --git a/etc/Translation/Blank.ts b/etc/Translation/Blank.ts index 4e068ca7..6c071d80 100644 --- a/etc/Translation/Blank.ts +++ b/etc/Translation/Blank.ts @@ -2761,17 +2761,17 @@ QApplication - + Executable '%1' doesn't support Windows compatibility mode. - + Executable '%1' requires Qt v%2, but found Qt v%3. - + Executable '%1' requires Windows 2000 or later. diff --git a/etc/Translation/LameXP_PL.ts b/etc/Translation/LameXP_PL.ts index a5efd7cb..a20aa384 100644 --- a/etc/Translation/LameXP_PL.ts +++ b/etc/Translation/LameXP_PL.ts @@ -2761,17 +2761,17 @@ QApplication - + Executable '%1' doesn't support Windows compatibility mode. Plik wykonywalny '%1' nie działa w trybie kompatybilności z Windows. - + Executable '%1' requires Qt v%2, but found Qt v%3. Plik wykonywalny '%1' wymaga Qt v%2, znaleziono jednak Qt v%3. - + Executable '%1' requires Windows 2000 or later. Plik wykonywalny '%1' wymaga do uruchomienia Windows 2000 lub nowszego. diff --git a/src/Config.h b/src/Config.h index ae516682..91f20033 100644 --- a/src/Config.h +++ b/src/Config.h @@ -30,7 +30,7 @@ #define VER_LAMEXP_MINOR_LO 4 #define VER_LAMEXP_TYPE Alpha #define VER_LAMEXP_PATCH 2 -#define VER_LAMEXP_BUILD 782 +#define VER_LAMEXP_BUILD 784 /////////////////////////////////////////////////////////////////////////////// // Tool versions (minimum expected versions!) diff --git a/src/Dialog_MainWindow.cpp b/src/Dialog_MainWindow.cpp index bed1b7ed..745d9c50 100644 --- a/src/Dialog_MainWindow.cpp +++ b/src/Dialog_MainWindow.cpp @@ -90,7 +90,7 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S m_settings(settingsModel), m_neroEncoderAvailable(lamexp_check_tool("neroAacEnc.exe") && lamexp_check_tool("neroAacDec.exe") && lamexp_check_tool("neroAacTag.exe")), m_fhgEncoderAvailable(lamexp_check_tool("fhgaacenc.exe") && lamexp_check_tool("enc_fhgaac.dll") && lamexp_check_tool("nsutil.dll") && lamexp_check_tool("libmp4v2.dll")), - m_qaacEncoderAvailable(lamexp_check_tool("qaac.exe") && lamexp_check_tool("libsoxrate.dll") && lamexp_check_tool("msvcp100.dll") && lamexp_check_tool("msvcr100.dll")), + m_qaacEncoderAvailable(lamexp_check_tool("qaac.exe")), m_accepted(false), m_firstTimeShown(true), m_OutputFolderViewInitialized(false) diff --git a/src/Dialog_Processing.cpp b/src/Dialog_Processing.cpp index 7eb6f359..26f52a49 100644 --- a/src/Dialog_Processing.cpp +++ b/src/Dialog_Processing.cpp @@ -661,7 +661,7 @@ void ProcessingDialog::startNextJob(void) break; case SettingsModel::AACEncoder: { - if(lamexp_check_tool("qaac.exe") && lamexp_check_tool("libsoxrate.dll")) + if(lamexp_check_tool("qaac.exe")) { QAACEncoder *aacEncoder = new QAACEncoder(); aacEncoder->setBitrate(m_settings->compressionBitrate()); diff --git a/src/Encoder_AAC_QAAC.cpp b/src/Encoder_AAC_QAAC.cpp index f5be6136..754327bf 100644 --- a/src/Encoder_AAC_QAAC.cpp +++ b/src/Encoder_AAC_QAAC.cpp @@ -27,13 +27,13 @@ #include #include #include +#include QAACEncoder::QAACEncoder(void) : - m_binary_enc(lamexp_lookup_tool("qaac.exe")), - m_binary_dll(lamexp_lookup_tool("libsoxrate.dll")) + m_binary_enc(lamexp_lookup_tool("qaac.exe")) { - if(m_binary_enc.isEmpty() || m_binary_dll.isEmpty()) + if(m_binary_enc.isEmpty()) { throw "Error initializing QAAC. Tool 'qaac.exe' is not registred!"; } @@ -52,6 +52,12 @@ bool QAACEncoder::encode(const QString &sourceFile, const AudioFileModel &metaIn process.setWorkingDirectory(QFileInfo(outputFile).canonicalPath()); + QProcessEnvironment env = QProcessEnvironment::systemEnvironment(); + env.insert("PATH", QString("%1;%2").arg(QDir::toNativeSeparators(QDir(QCoreApplication::applicationDirPath()).canonicalPath()), QDir::toNativeSeparators(lamexp_temp_folder2()))); + env.insert("TEMP", QDir::toNativeSeparators(lamexp_temp_folder2())); + env.insert("TMP", QDir::toNativeSeparators(lamexp_temp_folder2())); + process.setProcessEnvironment(env); + if(m_configRCMode != SettingsModel::VBRMode) { switch(m_configProfile) diff --git a/src/Encoder_AAC_QAAC.h b/src/Encoder_AAC_QAAC.h index ca52c0c6..2d990e2a 100644 --- a/src/Encoder_AAC_QAAC.h +++ b/src/Encoder_AAC_QAAC.h @@ -42,6 +42,5 @@ public: private: const QString m_binary_enc; - const QString m_binary_dll; int m_configProfile; }; diff --git a/src/Model_Settings.cpp b/src/Model_Settings.cpp index 7094f9a1..e660c174 100644 --- a/src/Model_Settings.cpp +++ b/src/Model_Settings.cpp @@ -222,7 +222,7 @@ void SettingsModel::validate(void) { if(!(lamexp_check_tool("fhgaacenc.exe") && lamexp_check_tool("enc_fhgaac.dll"))) { - if(!(lamexp_check_tool("qaac.exe") && lamexp_check_tool("libsoxrate.dll"))) + if(!lamexp_check_tool("qaac.exe")) { if(this->compressionEncoder() == SettingsModel::AACEncoder) { diff --git a/src/Thread_Initialization.cpp b/src/Thread_Initialization.cpp index d87f9831..9c3f9e12 100644 --- a/src/Thread_Initialization.cpp +++ b/src/Thread_Initialization.cpp @@ -484,15 +484,10 @@ void InitializationThread::initFhgAac(void) void InitializationThread::initQAac(void) { const QString appPath = QDir(QCoreApplication::applicationDirPath()).canonicalPath(); - - QFileInfo qaacFileInfo[4]; - qaacFileInfo[0] = QFileInfo(QString("%1/qaac.exe").arg(appPath)); - qaacFileInfo[1] = QFileInfo(QString("%1/libsoxrate.dll").arg(appPath)); - qaacFileInfo[2] = QFileInfo(QString("%1/msvcp100.dll").arg(appPath)); - qaacFileInfo[3] = QFileInfo(QString("%1/msvcr100.dll").arg(appPath)); - + bool qaacFilesFound = true; - for(int i = 0; i < 4; i++) { if(!qaacFileInfo[i].exists()) qaacFilesFound = false; } + QFileInfo qaacFileInfo(QString("%1/qaac.exe").arg(appPath)); + if(!qaacFileInfo.exists()) qaacFilesFound = false; //Lock the QAAC binaries if(!qaacFilesFound) @@ -501,21 +496,16 @@ void InitializationThread::initQAac(void) return; } - qDebug("Found QAAC encoder:\n%s\n", qaacFileInfo[0].canonicalFilePath().toUtf8().constData()); - - LockedFile *qaacBin[4]; - for(int i = 0; i < 4; i++) qaacBin[i] = NULL; + qDebug("Found QAAC encoder:\n%s\n", qaacFileInfo.canonicalFilePath().toUtf8().constData()); + LockedFile *qaacBin = NULL; try { - for(int i = 0; i < 4; i++) - { - qaacBin[i] = new LockedFile(qaacFileInfo[i].canonicalFilePath()); - } + qaacBin = new LockedFile(qaacFileInfo.canonicalFilePath()); } catch(...) { - for(int i = 0; i < 4; i++) LAMEXP_DELETE(qaacBin[i]); + LAMEXP_DELETE(qaacBin); qWarning("Failed to get excluive lock to QAAC binary -> QAAC support will be disabled!"); return; } @@ -523,7 +513,7 @@ void InitializationThread::initQAac(void) QProcess process; process.setProcessChannelMode(QProcess::MergedChannels); process.setReadChannel(QProcess::StandardOutput); - process.start(qaacFileInfo[0].canonicalFilePath(), QStringList() << "--check"); + process.start(qaacFileInfo.canonicalFilePath(), QStringList() << "--check"); if(!process.waitForStarted()) { @@ -531,7 +521,7 @@ void InitializationThread::initQAac(void) qWarning("Error message: \"%s\"\n", process.errorString().toLatin1().constData()); process.kill(); process.waitForFinished(-1); - for(int i = 0; i < 4; i++) LAMEXP_DELETE(qaacBin[i]); + LAMEXP_DELETE(qaacBin); return; } @@ -548,7 +538,7 @@ void InitializationThread::initQAac(void) qWarning("QAAC process time out -> killing!"); process.kill(); process.waitForFinished(-1); - for(int i = 0; i < 4; i++) LAMEXP_DELETE(qaacBin[i]); + LAMEXP_DELETE(qaacBin); return; } while(process.bytesAvailable() > 0) @@ -587,33 +577,30 @@ void InitializationThread::initQAac(void) if(!(qaacVersion > 0)) { qWarning("QAAC version couldn't be determined -> QAAC support will be disabled!"); - for(int i = 0; i < 4; i++) LAMEXP_DELETE(qaacBin[i]); + LAMEXP_DELETE(qaacBin); return; } else if(qaacVersion < lamexp_toolver_qaacenc()) { qWarning("QAAC version is too much outdated (%s) -> QAAC support will be disabled!", lamexp_version2string("v?.??", qaacVersion, "N/A").toLatin1().constData()); - for(int i = 0; i < 4; i++) LAMEXP_DELETE(qaacBin[i]); + LAMEXP_DELETE(qaacBin); return; } if(!(coreVersion > 0)) { qWarning("CoreAudioToolbox version couldn't be determined -> QAAC support will be disabled!"); - for(int i = 0; i < 4; i++) LAMEXP_DELETE(qaacBin[i]); + LAMEXP_DELETE(qaacBin); return; } else if(coreVersion < lamexp_toolver_coreaudio()) { qWarning("CoreAudioToolbox version is too much outdated (%s) -> QAAC support will be disabled!", lamexp_version2string("v?.?.?.?", coreVersion, "N/A").toLatin1().constData()); - for(int i = 0; i < 4; i++) LAMEXP_DELETE(qaacBin[i]); + LAMEXP_DELETE(qaacBin); return; } - for(int i = 0; i < 4; i++) - { - lamexp_register_tool(qaacFileInfo[i].fileName(), qaacBin[i], qaacVersion); - } + lamexp_register_tool(qaacFileInfo.fileName(), qaacBin, qaacVersion); } void InitializationThread::selfTest(void)