diff --git a/doc/Changelog.html b/doc/Changelog.html
index 4680de9a..9ef0f163 100644
--- a/doc/Changelog.html
+++ b/doc/Changelog.html
@@ -86,6 +86,7 @@
- Upgraded build environment to Microsoft Visual Studio 2015 with Update-2
- Fixed the location of temporary intermediate files for SoX-based audio effects
+- Fixed embedding of meta tags with OggEnc2 when reading directly from OGG/FLAC input file
- Enabled the "built-in" resampler for QAAC encoder
- The "Algorithm Quality" slider now also affects the QAAC encoder
- Added "AVX" (Advanced Vector Extensions) to CPU feature detection code
diff --git a/doc/Changelog.md b/doc/Changelog.md
index bf8d6a41..b2c52894 100644
--- a/doc/Changelog.md
+++ b/doc/Changelog.md
@@ -6,6 +6,7 @@
* Upgraded build environment to Microsoft Visual Studio 2015 with Update-2
* Fixed the location of temporary intermediate files for SoX-based audio effects
+* Fixed embedding of meta tags with OggEnc2 when reading directly from OGG/FLAC input file
* Enabled the "built-in" resampler for QAAC encoder
* The "Algorithm Quality" slider now also affects the QAAC encoder
* Added "AVX" (Advanced Vector Extensions) to CPU feature detection code
diff --git a/src/Config.h b/src/Config.h
index 18bbe03a..558b44f0 100644
--- a/src/Config.h
+++ b/src/Config.h
@@ -34,8 +34,8 @@
#define VER_LAMEXP_MINOR_HI 1
#define VER_LAMEXP_MINOR_LO 4
#define VER_LAMEXP_TYPE Alpha
-#define VER_LAMEXP_PATCH 8
-#define VER_LAMEXP_BUILD 1878
+#define VER_LAMEXP_PATCH 9
+#define VER_LAMEXP_BUILD 1880
#define VER_LAMEXP_CONFG 1818
///////////////////////////////////////////////////////////////////////////////
diff --git a/src/Encoder_AAC.cpp b/src/Encoder_AAC.cpp
index 8407d910..730b8021 100644
--- a/src/Encoder_AAC.cpp
+++ b/src/Encoder_AAC.cpp
@@ -128,11 +128,10 @@ static const g_aacEncoderInfo;
AACEncoder::AACEncoder(void)
:
- m_binary_enc(lamexp_tools_lookup("neroAacEnc.exe")),
- m_binary_tag(lamexp_tools_lookup("neroAacTag.exe")),
- m_binary_sox(lamexp_tools_lookup("sox.exe"))
+ m_binary_enc(lamexp_tools_lookup(L1S("neroAacEnc.exe"))),
+ m_binary_tag(lamexp_tools_lookup(L1S("neroAacTag.exe")))
{
- if(m_binary_enc.isEmpty() || m_binary_tag.isEmpty() || m_binary_sox.isEmpty())
+ if(m_binary_enc.isEmpty() || m_binary_tag.isEmpty())
{
MUTILS_THROW("Error initializing AAC encoder. Tool 'neroAacEnc.exe' is not registred!");
}
@@ -154,13 +153,13 @@ bool AACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo
switch(m_configRCMode)
{
case SettingsModel::VBRMode:
- args << "-q" << QString().sprintf("%.2f", double(qBound(0, m_configBitrate * 5, 100)) / 100.0);
+ args << L1S("-q") << QString().sprintf("%.2f", double(qBound(0, m_configBitrate * 5, 100)) / 100.0);
break;
case SettingsModel::ABRMode:
- args << "-br" << QString::number(qBound(8, index2bitrate(m_configBitrate), 400) * 1000);
+ args << L1S("-br") << QString::number(qBound(8, index2bitrate(m_configBitrate), 400) * 1000);
break;
case SettingsModel::CBRMode:
- args << "-cbr" << QString::number(qBound(8, index2bitrate(m_configBitrate), 400) * 1000);
+ args << L1S("-cbr") << QString::number(qBound(8, index2bitrate(m_configBitrate), 400) * 1000);
break;
default:
MUTILS_THROW("Bad rate-control mode!");
@@ -169,26 +168,26 @@ bool AACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo
if(m_configEnable2Pass && (m_configRCMode == SettingsModel::ABRMode))
{
- args << "-2pass";
+ args << L1S("-2pass");
}
switch(m_configProfile)
{
case 1:
- args << "-lc"; //Forces use of LC AAC profile
+ args << L1S("-lc"); //Forces use of LC AAC profile
break;
case 2:
- args << "-he"; //Forces use of HE AAC profile
+ args << L1S("-he"); //Forces use of HE AAC profile
break;
case 3:
- args << "-hev2"; //Forces use of HEv2 AAC profile
+ args << L1S("-hev2"); //Forces use of HEv2 AAC profile
break;
}
if(!m_configCustomParams.isEmpty()) args << m_configCustomParams.split(" ", QString::SkipEmptyParts);
- args << "-if" << QDir::toNativeSeparators(sourceFile);
- args << "-of" << QDir::toNativeSeparators(outputFile);
+ args << L1S("-if") << QDir::toNativeSeparators(sourceFile);
+ args << L1S("-of") << QDir::toNativeSeparators(outputFile);
if(!startProcess(process, m_binary_enc, args))
{
@@ -200,9 +199,9 @@ bool AACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo
int prevProgress = -1;
- QRegExp regExp("Processed\\s+(\\d+)\\s+seconds");
- QRegExp regExp_pass1("First\\s+pass:\\s+processed\\s+(\\d+)\\s+seconds");
- QRegExp regExp_pass2("Second\\s+pass:\\s+processed\\s+(\\d+)\\s+seconds");
+ QRegExp regExp(L1S("Processed\\s+(\\d+)\\s+seconds"));
+ QRegExp regExp_pass1(L1S("First\\s+pass:\\s+processed\\s+(\\d+)\\s+seconds"));
+ QRegExp regExp_pass2(L1S("Second\\s+pass:\\s+processed\\s+(\\d+)\\s+seconds"));
while(process.state() != QProcess::NotRunning)
{
@@ -210,7 +209,7 @@ bool AACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo
{
process.kill();
bAborted = true;
- emit messageLogged("\nABORTED BY USER !!!");
+ emit messageLogged(L1S("\nABORTED BY USER !!!"));
break;
}
process.waitForReadyRead(m_processTimeoutInterval);
@@ -218,7 +217,7 @@ bool AACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo
{
process.kill();
qWarning("NeroAacEnc process timed out <-- killing!");
- emit messageLogged("\nPROCESS TIMEOUT !!!");
+ emit messageLogged(L1S("\nPROCESS TIMEOUT !!!"));
bTimeout = true;
break;
}
@@ -295,7 +294,7 @@ bool AACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo
return true;
}
- emit messageLogged("\n-------------------------------\n");
+ emit messageLogged(L1S("\n-------------------------------\n"));
args.clear();
args << QDir::toNativeSeparators(outputFile);
@@ -322,7 +321,7 @@ bool AACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo
{
process.kill();
bAborted = true;
- emit messageLogged("\nABORTED BY USER !!!");
+ emit messageLogged(L1S("\nABORTED BY USER !!!"));
break;
}
process.waitForReadyRead(m_processTimeoutInterval);
@@ -330,7 +329,7 @@ bool AACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo
{
process.kill();
qWarning("NeroAacTag process timed out <-- killing!");
- emit messageLogged("\nPROCESS TIMEOUT !!!");
+ emit messageLogged(L1S("\nPROCESS TIMEOUT !!!"));
bTimeout = true;
break;
}
@@ -364,9 +363,9 @@ bool AACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo
bool AACEncoder::isFormatSupported(const QString &containerType, const QString &containerProfile, const QString &formatType, const QString &formatProfile, const QString &formatVersion)
{
- if(containerType.compare("Wave", Qt::CaseInsensitive) == 0)
+ if(containerType.compare(L1S("Wave"), Qt::CaseInsensitive) == 0)
{
- if(formatType.compare("PCM", Qt::CaseInsensitive) == 0)
+ if(formatType.compare(L1S("PCM"), Qt::CaseInsensitive) == 0)
{
return true;
}
diff --git a/src/Encoder_AAC.h b/src/Encoder_AAC.h
index 17b3eddc..e620fd77 100644
--- a/src/Encoder_AAC.h
+++ b/src/Encoder_AAC.h
@@ -49,7 +49,7 @@ public:
private:
const QString m_binary_enc;
const QString m_binary_tag;
- const QString m_binary_sox;
+ //const QString m_binary_sox;
int m_configProfile;
bool m_configEnable2Pass;
};
diff --git a/src/Encoder_AAC_FDK.cpp b/src/Encoder_AAC_FDK.cpp
index c06d8dd1..32700398 100644
--- a/src/Encoder_AAC_FDK.cpp
+++ b/src/Encoder_AAC_FDK.cpp
@@ -134,7 +134,7 @@ static const g_fdkAacEncoderInfo;
FDKAACEncoder::FDKAACEncoder(void)
:
- m_binary(lamexp_tools_lookup("fdkaac.exe"))
+ m_binary(lamexp_tools_lookup(L1S("fdkaac.exe")))
{
if(m_binary.isEmpty())
{
@@ -154,29 +154,29 @@ bool FDKAACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaI
QStringList args;
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
- env.insert("PATH", QDir::toNativeSeparators(QString("%1;%1/QTfiles;%2").arg(QDir(QCoreApplication::applicationDirPath()).canonicalPath(), MUtils::temp_folder())));
+ env.insert(L1S("PATH"), QDir::toNativeSeparators(QString("%1;%1/QTfiles;%2").arg(QDir(QCoreApplication::applicationDirPath()).canonicalPath(), MUtils::temp_folder())));
process.setProcessEnvironment(env);
switch(m_configProfile)
{
case 1:
- args << "-p" << "2";
+ args << L1S("-p") << QString::number(2);
break;
case 2:
- args << "-p" << "5";
+ args << L1S("-p") << QString::number(5);
break;
case 3:
- args << "-p" << "29";
+ args << L1S("-p") << QString::number(29);
break;
}
switch(m_configRCMode)
{
case SettingsModel::CBRMode:
- args << "-b" << QString::number(qBound(8, index2bitrate(m_configBitrate), 576));
+ args << L1S("-b") << QString::number(qBound(8, index2bitrate(m_configBitrate), 576));
break;
case SettingsModel::VBRMode:
- args << "-m" << QString::number(qBound(1, m_configBitrate + 1 , 5));
+ args << L1S("-m") << QString::number(qBound(1, m_configBitrate + 1 , 5));
break;
default:
MUTILS_THROW("Bad rate-control mode!");
@@ -185,15 +185,15 @@ bool FDKAACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaI
if(!m_configCustomParams.isEmpty()) args << m_configCustomParams.split(" ", QString::SkipEmptyParts);
- if(!metaInfo.title().isEmpty()) args << "--title" << cleanTag(metaInfo.title());
- if(!metaInfo.artist().isEmpty()) args << "--artist" << cleanTag(metaInfo.artist());
- if(!metaInfo.album().isEmpty()) args << "--album" << cleanTag(metaInfo.album());
- if(!metaInfo.genre().isEmpty()) args << "--genre" << cleanTag(metaInfo.genre());
- if(!metaInfo.comment().isEmpty()) args << "--comment" << cleanTag( metaInfo.comment());
- if(metaInfo.year()) args << "--date" << QString::number(metaInfo.year());
- if(metaInfo.position()) args << "--track" << QString::number(metaInfo.position());
+ if(!metaInfo.title().isEmpty()) args << L1S("--title") << cleanTag(metaInfo.title());
+ if(!metaInfo.artist().isEmpty()) args << L1S("--artist") << cleanTag(metaInfo.artist());
+ if(!metaInfo.album().isEmpty()) args << L1S("--album") << cleanTag(metaInfo.album());
+ if(!metaInfo.genre().isEmpty()) args << L1S("--genre") << cleanTag(metaInfo.genre());
+ if(!metaInfo.comment().isEmpty()) args << L1S("--comment") << cleanTag( metaInfo.comment());
+ if(metaInfo.year()) args << L1S("--date") << QString::number(metaInfo.year());
+ if(metaInfo.position()) args << L1S("--track") << QString::number(metaInfo.position());
- args << "-o" << QDir::toNativeSeparators(outputFile);
+ args << L1S("-o") << QDir::toNativeSeparators(outputFile);
args << QDir::toNativeSeparators(sourceFile);
if(!startProcess(process, m_binary, args, QFileInfo(outputFile).canonicalPath()))
@@ -205,7 +205,7 @@ bool FDKAACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaI
bool bAborted = false;
int prevProgress = -1;
- QRegExp regExp("\\[(\\d+)%\\]\\s+(\\d+):(\\d+)");
+ QRegExp regExp(L1S("\\[(\\d+)%\\]\\s+(\\d+):(\\d+)"));
while(process.state() != QProcess::NotRunning)
{
@@ -213,7 +213,7 @@ bool FDKAACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaI
{
process.kill();
bAborted = true;
- emit messageLogged("\nABORTED BY USER !!!");
+ emit messageLogged(L1S("\nABORTED BY USER !!!"));
break;
}
process.waitForReadyRead(m_processTimeoutInterval);
@@ -221,7 +221,7 @@ bool FDKAACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaI
{
process.kill();
qWarning("FDKAAC process timed out <-- killing!");
- emit messageLogged("\nPROCESS TIMEOUT !!!");
+ emit messageLogged(L1S("\nPROCESS TIMEOUT !!!"));
bTimeout = true;
break;
}
@@ -266,9 +266,9 @@ bool FDKAACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaI
bool FDKAACEncoder::isFormatSupported(const QString &containerType, const QString &containerProfile, const QString &formatType, const QString &formatProfile, const QString &formatVersion)
{
- if(containerType.compare("Wave", Qt::CaseInsensitive) == 0)
+ if(containerType.compare(L1S("Wave"), Qt::CaseInsensitive) == 0)
{
- if(formatType.compare("PCM", Qt::CaseInsensitive) == 0)
+ if(formatType.compare(L1S("PCM"), Qt::CaseInsensitive) == 0)
{
return true;
}
diff --git a/src/Encoder_AAC_FHG.cpp b/src/Encoder_AAC_FHG.cpp
index 3c942528..7e08d6cb 100644
--- a/src/Encoder_AAC_FHG.cpp
+++ b/src/Encoder_AAC_FHG.cpp
@@ -131,8 +131,8 @@ static const g_fhgAacEncoderInfo;
FHGAACEncoder::FHGAACEncoder(void)
:
- m_binary_enc(lamexp_tools_lookup("fhgaacenc.exe")),
- m_binary_dll(lamexp_tools_lookup("enc_fhgaac.dll"))
+ m_binary_enc(lamexp_tools_lookup(L1S("fhgaacenc.exe"))),
+ m_binary_dll(lamexp_tools_lookup(L1S("enc_fhgaac.dll")))
{
if(m_binary_enc.isEmpty() || m_binary_dll.isEmpty())
{
@@ -158,15 +158,15 @@ bool FHGAACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaI
switch(m_configProfile)
{
case 1:
- args << "--profile" << "lc"; //Forces use of LC AAC profile
+ args << L1S("--profile") << L1S("lc"); //Forces use of LC AAC profile
break;
case 2:
maxBitrate = 128;
- args << "--profile" << "he"; //Forces use of HE AAC profile
+ args << L1S("--profile") << L1S("he"); //Forces use of HE AAC profile
break;
case 3:
maxBitrate = 56;
- args << "--profile" << "hev2"; //Forces use of HEv2 AAC profile
+ args << L1S("--profile") << L1S("hev2"); //Forces use of HEv2 AAC profile
break;
}
}
@@ -174,10 +174,10 @@ bool FHGAACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaI
switch(m_configRCMode)
{
case SettingsModel::CBRMode:
- args << "--cbr" << QString::number(qBound(8, index2bitrate(m_configBitrate), maxBitrate));
+ args << L1S("--cbr") << QString::number(qBound(8, index2bitrate(m_configBitrate), maxBitrate));
break;
case SettingsModel::VBRMode:
- args << "--vbr" << QString::number(qBound(1, m_configBitrate + 1, 6));
+ args << L1S("--vbr") << QString::number(qBound(1, m_configBitrate + 1, 6));
break;
default:
MUTILS_THROW("Bad rate-control mode!");
@@ -200,7 +200,7 @@ bool FHGAACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaI
bool bAborted = false;
int prevProgress = -1;
- QRegExp regExp("Progress:\\s*(\\d+)%");
+ QRegExp regExp(L1S("Progress:\\s*(\\d+)%"));
while(process.state() != QProcess::NotRunning)
{
@@ -208,7 +208,7 @@ bool FHGAACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaI
{
process.kill();
bAborted = true;
- emit messageLogged("\nABORTED BY USER !!!");
+ emit messageLogged(L1S("\nABORTED BY USER !!!"));
break;
}
process.waitForReadyRead(m_processTimeoutInterval);
@@ -216,7 +216,7 @@ bool FHGAACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaI
{
process.kill();
qWarning("FhgAacEnc process timed out <-- killing!");
- emit messageLogged("\nPROCESS TIMEOUT !!!");
+ emit messageLogged(L1S("\nPROCESS TIMEOUT !!!"));
bTimeout = true;
break;
}
@@ -261,9 +261,9 @@ bool FHGAACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaI
bool FHGAACEncoder::isFormatSupported(const QString &containerType, const QString &containerProfile, const QString &formatType, const QString &formatProfile, const QString &formatVersion)
{
- if(containerType.compare("Wave", Qt::CaseInsensitive) == 0)
+ if(containerType.compare(L1S("Wave"), Qt::CaseInsensitive) == 0)
{
- if(formatType.compare("PCM", Qt::CaseInsensitive) == 0)
+ if(formatType.compare(L1S("PCM"), Qt::CaseInsensitive) == 0)
{
return true;
}
diff --git a/src/Encoder_AAC_QAAC.cpp b/src/Encoder_AAC_QAAC.cpp
index 55b8df32..05920850 100644
--- a/src/Encoder_AAC_QAAC.cpp
+++ b/src/Encoder_AAC_QAAC.cpp
@@ -141,8 +141,8 @@ static const g_qaacEncoderInfo;
QAACEncoder::QAACEncoder(void)
:
- m_binary_qaac32(lamexp_tools_lookup("qaac.exe")),
- m_binary_qaac64(lamexp_tools_lookup("qaac64.exe"))
+ m_binary_qaac32(lamexp_tools_lookup(L1S("qaac.exe"))),
+ m_binary_qaac64(lamexp_tools_lookup(L1S("qaac64.exe")))
{
if(m_binary_qaac32.isEmpty() && m_binary_qaac64.isEmpty())
{
@@ -165,7 +165,7 @@ bool QAACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInf
QStringList args;
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
- env.insert("PATH", QDir::toNativeSeparators(QString("%1;%1/QTfiles;%2").arg(QDir(QCoreApplication::applicationDirPath()).canonicalPath(), MUtils::temp_folder())));
+ env.insert(L1S("PATH"), QDir::toNativeSeparators(QString("%1;%1/QTfiles;%2").arg(QDir(QCoreApplication::applicationDirPath()).canonicalPath(), MUtils::temp_folder())));
process.setProcessEnvironment(env);
if(m_configRCMode != SettingsModel::VBRMode)
@@ -174,7 +174,7 @@ bool QAACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInf
{
case 2:
case 3:
- args << "--he"; //Forces use of HE AAC profile (there is no explicit HEv2 switch for QAAC)
+ args << L1S("--he"); //Forces use of HE AAC profile (there is no explicit HEv2 switch for QAAC)
break;
}
}
@@ -182,39 +182,39 @@ bool QAACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInf
switch(m_configRCMode)
{
case SettingsModel::CBRMode:
- args << "--cbr" << QString::number(qBound(8, index2bitrate(m_configBitrate), 576));
+ args << L1S("--cbr") << QString::number(qBound(8, index2bitrate(m_configBitrate), 576));
break;
case SettingsModel::ABRMode:
- args << "--cvbr" << QString::number(qBound(8, index2bitrate(m_configBitrate), 576));
+ args << L1S("--cvbr") << QString::number(qBound(8, index2bitrate(m_configBitrate), 576));
break;
case SettingsModel::VBRMode:
- args << "--tvbr" << QString::number(g_qaacVBRQualityLUT[qBound(0, m_configBitrate , 14)]);
+ args << L1S("--tvbr") << QString::number(g_qaacVBRQualityLUT[qBound(0, m_configBitrate , 14)]);
break;
default:
MUTILS_THROW("Bad rate-control mode!");
break;
}
- args << "--quality" << QString::number(qBound(0, m_algorithmQuality, 2));
+ args << L1S("--quality") << QString::number(qBound(0, m_algorithmQuality, 2));
if (m_configSamplingRate > 0)
{
args << QString("--native-resampler=bats,%0").arg(QString::number(RESAMPLING_QUALITY));
- args << "--rate" << QString::number(m_configSamplingRate);
+ args << L1S("--rate") << QString::number(m_configSamplingRate);
}
if(!m_configCustomParams.isEmpty()) args << m_configCustomParams.split(" ", QString::SkipEmptyParts);
- if(!metaInfo.title().isEmpty()) args << "--title" << cleanTag(metaInfo.title());
- if(!metaInfo.artist().isEmpty()) args << "--artist" << cleanTag(metaInfo.artist());
- if(!metaInfo.album().isEmpty()) args << "--album" << cleanTag(metaInfo.album());
- if(!metaInfo.genre().isEmpty()) args << "--genre" << cleanTag(metaInfo.genre());
- if(!metaInfo.comment().isEmpty()) args << "--comment" << cleanTag( metaInfo.comment());
- if(metaInfo.year()) args << "--date" << QString::number(metaInfo.year());
- if(metaInfo.position()) args << "--track" << QString::number(metaInfo.position());
- if(!metaInfo.cover().isEmpty()) args << "--artwork" << metaInfo.cover();
+ if(!metaInfo.title().isEmpty()) args << L1S("--title") << cleanTag(metaInfo.title());
+ if(!metaInfo.artist().isEmpty()) args << L1S("--artist") << cleanTag(metaInfo.artist());
+ if(!metaInfo.album().isEmpty()) args << L1S("--album") << cleanTag(metaInfo.album());
+ if(!metaInfo.genre().isEmpty()) args << L1S("--genre") << cleanTag(metaInfo.genre());
+ if(!metaInfo.comment().isEmpty()) args << L1S("--comment") << cleanTag( metaInfo.comment());
+ if(metaInfo.year()) args << L1S("--date") << QString::number(metaInfo.year());
+ if(metaInfo.position()) args << L1S("--track") << QString::number(metaInfo.position());
+ if(!metaInfo.cover().isEmpty()) args << L1S("--artwork") << metaInfo.cover();
- args << "-d" << ".";
- args << "-o" << QDir::toNativeSeparators(outputFile);
+ args << L1S("-d") << L1S(".");
+ args << L1S("-o") << QDir::toNativeSeparators(outputFile);
args << QDir::toNativeSeparators(sourceFile);
if(!startProcess(process, qaac_bin, args, QFileInfo(outputFile).canonicalPath()))
@@ -226,7 +226,7 @@ bool QAACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInf
bool bAborted = false;
int prevProgress = -1;
- QRegExp regExp("\\[(\\d+)\\.(\\d)%\\]");
+ QRegExp regExp(L1S("\\[(\\d+)\\.(\\d)%\\]"));
while(process.state() != QProcess::NotRunning)
{
@@ -234,7 +234,7 @@ bool QAACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInf
{
process.kill();
bAborted = true;
- emit messageLogged("\nABORTED BY USER !!!");
+ emit messageLogged(L1S("\nABORTED BY USER !!!"));
break;
}
process.waitForReadyRead(m_processTimeoutInterval);
@@ -242,7 +242,7 @@ bool QAACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInf
{
process.kill();
qWarning("QAAC process timed out <-- killing!");
- emit messageLogged("\nPROCESS TIMEOUT !!!");
+ emit messageLogged(L1S("\nPROCESS TIMEOUT !!!"));
bTimeout = true;
break;
}
@@ -287,9 +287,9 @@ bool QAACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInf
bool QAACEncoder::isFormatSupported(const QString &containerType, const QString &containerProfile, const QString &formatType, const QString &formatProfile, const QString &formatVersion)
{
- if(containerType.compare("Wave", Qt::CaseInsensitive) == 0)
+ if(containerType.compare(L1S("Wave"), Qt::CaseInsensitive) == 0)
{
- if(formatType.compare("PCM", Qt::CaseInsensitive) == 0)
+ if(formatType.compare(L1S("PCM"), Qt::CaseInsensitive) == 0)
{
return true;
}
diff --git a/src/Encoder_AC3.cpp b/src/Encoder_AC3.cpp
index ee26b535..6f5adb1f 100644
--- a/src/Encoder_AC3.cpp
+++ b/src/Encoder_AC3.cpp
@@ -127,7 +127,7 @@ static const g_aftenEncoderInfo;
AC3Encoder::AC3Encoder(void)
:
- m_binary(lamexp_tools_lookup("aften.exe"))
+ m_binary(lamexp_tools_lookup(L1S("aften.exe")))
{
if(m_binary.isEmpty())
{
@@ -152,10 +152,10 @@ bool AC3Encoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo
switch(m_configRCMode)
{
case SettingsModel::VBRMode:
- args << "-q" << QString::number(qBound(0, m_configBitrate * 16, 1023));
+ args << L1S("-q") << QString::number(qBound(0, m_configBitrate * 16, 1023));
break;
case SettingsModel::CBRMode:
- args << "-b" << QString::number(g_ac3BitratesLUT[qBound(0, m_configBitrate, 18)]);
+ args << L1S("-b") << QString::number(g_ac3BitratesLUT[qBound(0, m_configBitrate, 18)]);
break;
default:
MUTILS_THROW("Bad rate-control mode!");
@@ -164,19 +164,19 @@ bool AC3Encoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo
if(m_configAudioCodingMode >= 1)
{
- args << "-acmod" << QString::number(m_configAudioCodingMode - 1);
+ args << L1S("-acmod") << QString::number(m_configAudioCodingMode - 1);
}
if(m_configDynamicRangeCompression != 5)
{
- args << "-dynrng" << QString::number(m_configDynamicRangeCompression);
+ args << L1S("-dynrng") << QString::number(m_configDynamicRangeCompression);
}
if(m_configExponentSearchSize != 8)
{
- args << "-exps" << QString::number(m_configExponentSearchSize);
+ args << L1S("-exps") << QString::number(m_configExponentSearchSize);
}
if(m_configFastBitAllocation)
{
- args << "-fba" << QString::number(1);
+ args << L1S("-fba") << QString::number(1);
}
if(!m_configCustomParams.isEmpty()) args << m_configCustomParams.split(" ", QString::SkipEmptyParts);
@@ -193,7 +193,7 @@ bool AC3Encoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo
bool bAborted = false;
int prevProgress = -1;
- QRegExp regExp("progress:(\\s+)(\\d+)%(\\s+)\\|");
+ QRegExp regExp(L1S("progress:(\\s+)(\\d+)%(\\s+)\\|"));
while(process.state() != QProcess::NotRunning)
{
@@ -201,7 +201,7 @@ bool AC3Encoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo
{
process.kill();
bAborted = true;
- emit messageLogged("\nABORTED BY USER !!!");
+ emit messageLogged(L1S("\nABORTED BY USER !!!"));
break;
}
process.waitForReadyRead(m_processTimeoutInterval);
@@ -209,7 +209,7 @@ bool AC3Encoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo
{
process.kill();
qWarning("Aften process timed out <-- killing!");
- emit messageLogged("\nPROCESS TIMEOUT !!!");
+ emit messageLogged(L1S("\nPROCESS TIMEOUT !!!"));
bTimeout = true;
break;
}
@@ -286,9 +286,9 @@ const unsigned int *AC3Encoder::supportedSamplerates(void)
bool AC3Encoder::isFormatSupported(const QString &containerType, const QString &containerProfile, const QString &formatType, const QString &formatProfile, const QString &formatVersion)
{
- if(containerType.compare("Wave", Qt::CaseInsensitive) == 0)
+ if(containerType.compare(L1S("Wave"), Qt::CaseInsensitive) == 0)
{
- if(formatType.compare("PCM", Qt::CaseInsensitive) == 0)
+ if(formatType.compare(L1S("PCM"), Qt::CaseInsensitive) == 0)
{
return true;
}
diff --git a/src/Encoder_DCA.cpp b/src/Encoder_DCA.cpp
index 2c2ecfc5..d45ae9fb 100644
--- a/src/Encoder_DCA.cpp
+++ b/src/Encoder_DCA.cpp
@@ -129,7 +129,7 @@ static const g_dcaEncoderInfo;
DCAEncoder::DCAEncoder(void)
:
- m_binary(lamexp_tools_lookup("dcaenc.exe"))
+ m_binary(lamexp_tools_lookup(L1S("dcaenc.exe")))
{
if(m_binary.isEmpty())
{
@@ -146,9 +146,9 @@ bool DCAEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo
QProcess process;
QStringList args;
- args << "-i" << QDir::toNativeSeparators(sourceFile);
- args << "-o" << QDir::toNativeSeparators(outputFile);
- args << "-b" << QString::number(qBound(32, index2bitrate(m_configBitrate), 4096));
+ args << L1S("-i") << QDir::toNativeSeparators(sourceFile);
+ args << L1S("-o") << QDir::toNativeSeparators(outputFile);
+ args << L1S("-b") << QString::number(qBound(32, index2bitrate(m_configBitrate), 4096));
if(!startProcess(process, m_binary, args))
{
@@ -159,7 +159,7 @@ bool DCAEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo
bool bAborted = false;
int prevProgress = -1;
- QRegExp regExp("\\[(\\d+)\\.(\\d+)%\\]");
+ QRegExp regExp(L1S("\\[(\\d+)\\.(\\d+)%\\]"));
while(process.state() != QProcess::NotRunning)
{
@@ -167,7 +167,7 @@ bool DCAEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo
{
process.kill();
bAborted = true;
- emit messageLogged("\nABORTED BY USER !!!");
+ emit messageLogged(L1S("\nABORTED BY USER !!!"));
break;
}
process.waitForReadyRead(m_processTimeoutInterval);
@@ -175,7 +175,7 @@ bool DCAEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo
{
process.kill();
qWarning("DCAENC process timed out <-- killing!");
- emit messageLogged("\nPROCESS TIMEOUT !!!");
+ emit messageLogged(L1S("\nPROCESS TIMEOUT !!!"));
bTimeout = true;
break;
}
@@ -220,9 +220,9 @@ bool DCAEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo
bool DCAEncoder::isFormatSupported(const QString &containerType, const QString &containerProfile, const QString &formatType, const QString &formatProfile, const QString &formatVersion)
{
- if(containerType.compare("Wave", Qt::CaseInsensitive) == 0)
+ if(containerType.compare(L1S("Wave"), Qt::CaseInsensitive) == 0)
{
- if(formatType.compare("PCM", Qt::CaseInsensitive) == 0)
+ if(formatType.compare(L1S("PCM"), Qt::CaseInsensitive) == 0)
{
return true;
}
diff --git a/src/Encoder_FLAC.cpp b/src/Encoder_FLAC.cpp
index 3f63e3ab..b63f2eea 100644
--- a/src/Encoder_FLAC.cpp
+++ b/src/Encoder_FLAC.cpp
@@ -123,7 +123,7 @@ static const g_flacEncoderInfo;
FLACEncoder::FLACEncoder(void)
:
- m_binary(lamexp_tools_lookup("flac.exe"))
+ m_binary(lamexp_tools_lookup(L1S("flac.exe")))
{
if(m_binary.isEmpty())
{
@@ -141,22 +141,22 @@ bool FLACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInf
QStringList args;
args << QString("-%1").arg(QString::number(qBound(0, m_configBitrate, 8)));
- args << "--channel-map=none";
+ args << L1S("--channel-map=none");
- if(!metaInfo.title().isEmpty()) args << "-T" << QString("title=%1").arg(cleanTag(metaInfo.title()));
- if(!metaInfo.artist().isEmpty()) args << "-T" << QString("artist=%1").arg(cleanTag(metaInfo.artist()));
- if(!metaInfo.album().isEmpty()) args << "-T" << QString("album=%1").arg(cleanTag(metaInfo.album()));
- if(!metaInfo.genre().isEmpty()) args << "-T" << QString("genre=%1").arg(cleanTag(metaInfo.genre()));
- if(!metaInfo.comment().isEmpty()) args << "-T" << QString("comment=%1").arg(cleanTag(metaInfo.comment()));
- if(metaInfo.year()) args << "-T" << QString("date=%1").arg(QString::number(metaInfo.year()));
- if(metaInfo.position()) args << "-T" << QString("track=%1").arg(QString::number(metaInfo.position()));
- if(!metaInfo.cover().isEmpty()) args << QString("--picture=%1").arg(metaInfo.cover());
+ if(!metaInfo.title().isEmpty()) args << L1S("-T") << QString("title=%1").arg(cleanTag(metaInfo.title()));
+ if(!metaInfo.artist().isEmpty()) args << L1S("-T") << QString("artist=%1").arg(cleanTag(metaInfo.artist()));
+ if(!metaInfo.album().isEmpty()) args << L1S("-T") << QString("album=%1").arg(cleanTag(metaInfo.album()));
+ if(!metaInfo.genre().isEmpty()) args << L1S("-T") << QString("genre=%1").arg(cleanTag(metaInfo.genre()));
+ if(!metaInfo.comment().isEmpty()) args << L1S("-T") << QString("comment=%1").arg(cleanTag(metaInfo.comment()));
+ if(metaInfo.year()) args << L1S("-T") << QString("date=%1").arg(QString::number(metaInfo.year()));
+ if(metaInfo.position()) args << L1S("-T") << QString("track=%1").arg(QString::number(metaInfo.position()));
+ if(!metaInfo.cover().isEmpty()) args << QString("--picture=%1").arg(metaInfo.cover());
//args << "--tv" << QString().sprintf("Encoder=LameXP v%d.%02d.%04d [%s]", lamexp_version_major(), lamexp_version_minor(), lamexp_version_build(), lamexp_version_release());
if(!m_configCustomParams.isEmpty()) args << m_configCustomParams.split(" ", QString::SkipEmptyParts);
- args << "-f" << "-o" << QDir::toNativeSeparators(outputFile);
+ args << L1S("-f") << L1S("-o") << QDir::toNativeSeparators(outputFile);
args << QDir::toNativeSeparators(sourceFile);
if(!startProcess(process, m_binary, args))
@@ -168,7 +168,7 @@ bool FLACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInf
bool bAborted = false;
int prevProgress = -1;
- QRegExp regExp("\\b(\\d+)% complete");
+ QRegExp regExp(L1S("\\b(\\d+)% complete"));
while(process.state() != QProcess::NotRunning)
{
@@ -176,7 +176,7 @@ bool FLACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInf
{
process.kill();
bAborted = true;
- emit messageLogged("\nABORTED BY USER !!!");
+ emit messageLogged(L1S("\nABORTED BY USER !!!"));
break;
}
process.waitForReadyRead(m_processTimeoutInterval);
@@ -184,7 +184,7 @@ bool FLACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInf
{
process.kill();
qWarning("FLAC process timed out <-- killing!");
- emit messageLogged("\nPROCESS TIMEOUT !!!");
+ emit messageLogged(L1S("\nPROCESS TIMEOUT !!!"));
bTimeout = true;
break;
}
@@ -229,9 +229,9 @@ bool FLACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInf
bool FLACEncoder::isFormatSupported(const QString &containerType, const QString &containerProfile, const QString &formatType, const QString &formatProfile, const QString &formatVersion)
{
- if(containerType.compare("Wave", Qt::CaseInsensitive) == 0)
+ if(containerType.compare(L1S("Wave"), Qt::CaseInsensitive) == 0)
{
- if(formatType.compare("PCM", Qt::CaseInsensitive) == 0)
+ if(formatType.compare(L1S("PCM"), Qt::CaseInsensitive) == 0)
{
return true;
}
diff --git a/src/Encoder_MAC.cpp b/src/Encoder_MAC.cpp
index 5778a9f9..9dd474b0 100644
--- a/src/Encoder_MAC.cpp
+++ b/src/Encoder_MAC.cpp
@@ -123,8 +123,8 @@ static const g_macEncoderInfo;
MACEncoder::MACEncoder(void)
:
- m_binary_enc(lamexp_tools_lookup("mac.exe")),
- m_binary_tag(lamexp_tools_lookup("tag.exe"))
+ m_binary_enc(lamexp_tools_lookup(L1S("mac.exe"))),
+ m_binary_tag(lamexp_tools_lookup(L1S("tag.exe")))
{
if(m_binary_enc.isEmpty() || m_binary_tag.isEmpty())
{
@@ -165,7 +165,7 @@ bool MACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo
bool bAborted = false;
int prevProgress = -1;
- QRegExp regExp("Progress: (\\d+).(\\d+)%");
+ QRegExp regExp(L1S("Progress: (\\d+).(\\d+)%"));
while(process.state() != QProcess::NotRunning)
{
@@ -173,7 +173,7 @@ bool MACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo
{
process.kill();
bAborted = true;
- emit messageLogged("\nABORTED BY USER !!!");
+ emit messageLogged(L1S("\nABORTED BY USER !!!"));
break;
}
process.waitForReadyRead(m_processTimeoutInterval);
@@ -181,7 +181,7 @@ bool MACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo
{
process.kill();
qWarning("MAC process timed out <-- killing!");
- emit messageLogged("\nPROCESS TIMEOUT !!!");
+ emit messageLogged(L1S("\nPROCESS TIMEOUT !!!"));
bTimeout = true;
break;
}
@@ -226,10 +226,10 @@ bool MACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo
return true;
}
- emit messageLogged("\n-------------------------------\n");
+ emit messageLogged(L1S("\n-------------------------------\n"));
args.clear();
- args << "APE2" << QDir::toNativeSeparators(outputFile);
+ args << L1S("APE2") << QDir::toNativeSeparators(outputFile);
if(!metaInfo.title().isEmpty()) args << QString("Title=%1").arg(cleanTag(metaInfo.title()));
if(!metaInfo.artist().isEmpty()) args << QString("Artist=%1").arg(cleanTag(metaInfo.artist()));
@@ -254,7 +254,7 @@ bool MACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo
{
process.kill();
bAborted = true;
- emit messageLogged("\nABORTED BY USER !!!");
+ emit messageLogged(L1S("\nABORTED BY USER !!!"));
break;
}
process.waitForReadyRead(m_processTimeoutInterval);
@@ -262,7 +262,7 @@ bool MACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo
{
process.kill();
qWarning("Tag process timed out <-- killing!");
- emit messageLogged("\nPROCESS TIMEOUT !!!");
+ emit messageLogged(L1S("\nPROCESS TIMEOUT !!!"));
bTimeout = true;
break;
}
@@ -296,9 +296,9 @@ bool MACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo
bool MACEncoder::isFormatSupported(const QString &containerType, const QString &containerProfile, const QString &formatType, const QString &formatProfile, const QString &formatVersion)
{
- if(containerType.compare("Wave", Qt::CaseInsensitive) == 0)
+ if(containerType.compare(L1S("Wave"), Qt::CaseInsensitive) == 0)
{
- if(formatType.compare("PCM", Qt::CaseInsensitive) == 0)
+ if(formatType.compare(L1S("PCM"), Qt::CaseInsensitive) == 0)
{
return true;
}
diff --git a/src/Encoder_MP3.cpp b/src/Encoder_MP3.cpp
index bd5c86da..73b43f95 100644
--- a/src/Encoder_MP3.cpp
+++ b/src/Encoder_MP3.cpp
@@ -128,7 +128,7 @@ static const g_mp3EncoderInfo;
MP3Encoder::MP3Encoder(void)
:
- m_binary(lamexp_tools_lookup("lame.exe"))
+ m_binary(lamexp_tools_lookup(L1S("lame.exe")))
{
if(m_binary.isEmpty())
{
@@ -151,20 +151,20 @@ bool MP3Encoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo
QProcess process;
QStringList args;
- args << "--nohist";
- args << "-q" << QString::number(g_lameAgorithmQualityLUT[m_algorithmQuality]);
+ args << L1S("--nohist");
+ args << L1S("-q") << QString::number(g_lameAgorithmQualityLUT[m_algorithmQuality]);
switch(m_configRCMode)
{
case SettingsModel::VBRMode:
- args << "-V" << QString::number(g_lameVBRQualityLUT[qBound(0, m_configBitrate, 9)]);
+ args << L1S("-V") << QString::number(g_lameVBRQualityLUT[qBound(0, m_configBitrate, 9)]);
break;
case SettingsModel::ABRMode:
- args << "--abr" << QString::number(g_mp3BitrateLUT[qBound(0, m_configBitrate, 13)]);
+ args << L1S("--abr") << QString::number(g_mp3BitrateLUT[qBound(0, m_configBitrate, 13)]);
break;
case SettingsModel::CBRMode:
- args << "--cbr";
- args << "-b" << QString::number(g_mp3BitrateLUT[qBound(0, m_configBitrate, 13)]);
+ args << L1S("--cbr");
+ args << L1S("-b") << QString::number(g_mp3BitrateLUT[qBound(0, m_configBitrate, 13)]);
break;
default:
MUTILS_THROW("Bad rate-control mode!");
@@ -175,32 +175,32 @@ bool MP3Encoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo
{
if(m_configRCMode != SettingsModel::CBRMode)
{
- args << "-b" << QString::number(clipBitrate(m_configBitrateMinimum));
- args << "-B" << QString::number(clipBitrate(m_configBitrateMaximum));
+ args << L1S("-b") << QString::number(clipBitrate(m_configBitrateMinimum));
+ args << L1S("-B") << QString::number(clipBitrate(m_configBitrateMaximum));
}
}
if(m_configSamplingRate > 0)
{
- args << "--resample" << QString::number(m_configSamplingRate);
+ args << L1S("--resample") << QString::number(m_configSamplingRate);
}
switch(m_configChannelMode)
{
case 1:
- args << "-m" << "j";
+ args << L1S("-m") << L1S("j");
break;
case 2:
- args << "-m" << "f";
+ args << L1S("-m") << L1S("f");
break;
case 3:
- args << "-m" << "s";
+ args << L1S("-m") << L1S("s");
break;
case 4:
- args << "-m" << "d";
+ args << L1S("-m") << L1S("d");
break;
case 5:
- args << "-m" << "m";
+ args << L1S("-m") << L1S("m");
break;
}
@@ -212,16 +212,16 @@ bool MP3Encoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo
if(isUnicode(metaInfo.genre())) bUseUCS2 = true;
if(isUnicode(metaInfo.comment())) bUseUCS2 = true;
- if(bUseUCS2) args << "--id3v2-ucs2"; //Must specify this BEFORE "--tt" and friends!
+ if (bUseUCS2) args << L1S("--id3v2-ucs2"); //Must specify this BEFORE "--tt" and friends!
- if(!metaInfo.title().isEmpty()) args << "--tt" << cleanTag(metaInfo.title());
- if(!metaInfo.artist().isEmpty()) args << "--ta" << cleanTag(metaInfo.artist());
- if(!metaInfo.album().isEmpty()) args << "--tl" << cleanTag( metaInfo.album());
- if(!metaInfo.genre().isEmpty()) args << "--tg" << cleanTag(metaInfo.genre());
- if(!metaInfo.comment().isEmpty()) args << "--tc" << cleanTag(metaInfo.comment());
- if(metaInfo.year()) args << "--ty" << QString::number(metaInfo.year());
- if(metaInfo.position()) args << "--tn" << QString::number(metaInfo.position());
- if(!metaInfo.cover().isEmpty()) args << "--ti" << QDir::toNativeSeparators(metaInfo.cover());
+ if(!metaInfo.title().isEmpty()) args << L1S("--tt") << cleanTag(metaInfo.title());
+ if(!metaInfo.artist().isEmpty()) args << L1S("--ta") << cleanTag(metaInfo.artist());
+ if(!metaInfo.album().isEmpty()) args << L1S("--tl") << cleanTag( metaInfo.album());
+ if(!metaInfo.genre().isEmpty()) args << L1S("--tg") << cleanTag(metaInfo.genre());
+ if(!metaInfo.comment().isEmpty()) args << L1S("--tc") << cleanTag(metaInfo.comment());
+ if(metaInfo.year()) args << L1S("--ty") << QString::number(metaInfo.year());
+ if(metaInfo.position()) args << L1S("--tn") << QString::number(metaInfo.position());
+ if(!metaInfo.cover().isEmpty()) args << L1S("--ti") << QDir::toNativeSeparators(metaInfo.cover());
if(!m_configCustomParams.isEmpty()) args << m_configCustomParams.split(" ", QString::SkipEmptyParts);
@@ -237,7 +237,7 @@ bool MP3Encoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo
bool bAborted = false;
int prevProgress = -1;
- QRegExp regExp("\\(.*(\\d+)%\\)\\|");
+ QRegExp regExp(L1S("\\(.*(\\d+)%\\)\\|"));
while(process.state() != QProcess::NotRunning)
{
@@ -245,7 +245,7 @@ bool MP3Encoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo
{
process.kill();
bAborted = true;
- emit messageLogged("\nABORTED BY USER !!!");
+ emit messageLogged(L1S("\nABORTED BY USER !!!"));
break;
}
process.waitForReadyRead(m_processTimeoutInterval);
@@ -253,7 +253,7 @@ bool MP3Encoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo
{
process.kill();
qWarning("LAME process timed out <-- killing!");
- emit messageLogged("\nPROCESS TIMEOUT !!!");
+ emit messageLogged(L1S("\nPROCESS TIMEOUT !!!"));
bTimeout = true;
break;
}
@@ -298,20 +298,20 @@ bool MP3Encoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo
bool MP3Encoder::isFormatSupported(const QString &containerType, const QString &containerProfile, const QString &formatType, const QString &formatProfile, const QString &formatVersion)
{
- if(containerType.compare("Wave", Qt::CaseInsensitive) == 0)
+ if(containerType.compare(L1S("Wave"), Qt::CaseInsensitive) == 0)
{
- if(formatType.compare("PCM", Qt::CaseInsensitive) == 0)
+ if(formatType.compare(L1S("PCM"), Qt::CaseInsensitive) == 0)
{
return true;
}
}
- else if(containerType.compare("MPEG Audio", Qt::CaseInsensitive) == 0)
+ else if(containerType.compare(L1S("MPEG Audio"), Qt::CaseInsensitive) == 0)
{
- if(formatType.compare("MPEG Audio", Qt::CaseInsensitive) == 0)
+ if(formatType.compare(L1S("MPEG Audio"), Qt::CaseInsensitive) == 0)
{
- if(formatProfile.compare("Layer 3", Qt::CaseInsensitive) == 0 || formatProfile.compare("Layer 2", Qt::CaseInsensitive) == 0)
+ if(formatProfile.compare(L1S("Layer 3"), Qt::CaseInsensitive) == 0 || formatProfile.compare(L1S("Layer 2"), Qt::CaseInsensitive) == 0)
{
- if(formatVersion.compare("Version 1", Qt::CaseInsensitive) == 0 || formatVersion.compare("Version 2", Qt::CaseInsensitive) == 0)
+ if(formatVersion.compare(L1S("Version 1"), Qt::CaseInsensitive) == 0 || formatVersion.compare(L1S("Version 2"), Qt::CaseInsensitive) == 0)
{
return true;
}
diff --git a/src/Encoder_Opus.cpp b/src/Encoder_Opus.cpp
index eeb01224..0b4bcd5a 100644
--- a/src/Encoder_Opus.cpp
+++ b/src/Encoder_Opus.cpp
@@ -124,7 +124,7 @@ static const g_opusEncoderInfo;
OpusEncoder::OpusEncoder(void)
:
- m_binary(lamexp_tools_lookup("opusenc.exe"))
+ m_binary(lamexp_tools_lookup(L1S("opusenc.exe")))
{
if(m_binary.isEmpty())
{
@@ -148,13 +148,13 @@ bool OpusEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInf
switch(m_configRCMode)
{
case SettingsModel::VBRMode:
- args << "--vbr";
+ args << L1S("--vbr");
break;
case SettingsModel::ABRMode:
- args << "--cvbr";
+ args << L1S("--cvbr");
break;
case SettingsModel::CBRMode:
- args << "--hard-cbr";
+ args << L1S("--hard-cbr");
break;
default:
MUTILS_THROW("Bad rate-control mode!");
@@ -166,35 +166,35 @@ bool OpusEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInf
switch(m_configFrameSize)
{
case 0:
- args << "--framesize" << "2.5";
+ args << L1S("--framesize") << L1S("2.5");
break;
case 1:
- args << "--framesize" << "5";
+ args << L1S("--framesize") << L1S("5");
break;
case 2:
- args << "--framesize" << "10";
+ args << L1S("--framesize") << L1S("10");
break;
case 3:
- args << "--framesize" << "20";
+ args << L1S("--framesize") << L1S("20");
break;
case 4:
- args << "--framesize" << "40";
+ args << L1S("--framesize") << L1S("40");
break;
case 5:
- args << "--framesize" << "60";
+ args << L1S("--framesize") << L1S("60");
break;
}
- args << QString("--bitrate") << QString::number(qBound(8, (m_configBitrate + 1) * 8, 256));
+ args << L1S("--bitrate") << QString::number(qBound(8, (m_configBitrate + 1) * 8, 256));
- if(!metaInfo.title().isEmpty()) args << "--title" << cleanTag(metaInfo.title());
- if(!metaInfo.artist().isEmpty()) args << "--artist" << cleanTag(metaInfo.artist());
- if(!metaInfo.album().isEmpty()) args << "--album" << cleanTag(metaInfo.album());
- if(!metaInfo.genre().isEmpty()) args << "--genre" << cleanTag(metaInfo.genre());
- if(metaInfo.year()) args << "--date" << QString::number(metaInfo.year());
- if(metaInfo.position()) args << "--comment" << QString("tracknumber=%1").arg(QString::number(metaInfo.position()));
- if(!metaInfo.comment().isEmpty()) args << "--comment" << QString("comment=%1").arg(cleanTag(metaInfo.comment()));
- if(!metaInfo.cover().isEmpty()) args << "--picture" << makeCoverParam(metaInfo.cover());
+ if(!metaInfo.title().isEmpty()) args << L1S("--title") << cleanTag(metaInfo.title());
+ if(!metaInfo.artist().isEmpty()) args << L1S("--artist") << cleanTag(metaInfo.artist());
+ if(!metaInfo.album().isEmpty()) args << L1S("--album") << cleanTag(metaInfo.album());
+ if(!metaInfo.genre().isEmpty()) args << L1S("--genre") << cleanTag(metaInfo.genre());
+ if(metaInfo.year()) args << L1S("--date") << QString::number(metaInfo.year());
+ if(metaInfo.position()) args << L1S("--comment") << QString("tracknumber=%1").arg(QString::number(metaInfo.position()));
+ if(!metaInfo.comment().isEmpty()) args << L1S("--comment") << QString("comment=%1").arg(cleanTag(metaInfo.comment()));
+ if(!metaInfo.cover().isEmpty()) args << L1S("--picture") << makeCoverParam(metaInfo.cover());
if(!m_configCustomParams.isEmpty()) args << m_configCustomParams.split(" ", QString::SkipEmptyParts);
@@ -210,7 +210,7 @@ bool OpusEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInf
bool bAborted = false;
int prevProgress = -1;
- QRegExp regExp("\\((\\d+)%\\)");
+ QRegExp regExp(L1S("\\((\\d+)%\\)"));
while(process.state() != QProcess::NotRunning)
{
@@ -218,7 +218,7 @@ bool OpusEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInf
{
process.kill();
bAborted = true;
- emit messageLogged("\nABORTED BY USER !!!");
+ emit messageLogged(L1S("\nABORTED BY USER !!!"));
break;
}
process.waitForReadyRead(m_processTimeoutInterval);
@@ -226,7 +226,7 @@ bool OpusEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInf
{
process.kill();
qWarning("Opus process timed out <-- killing!");
- emit messageLogged("\nPROCESS TIMEOUT !!!");
+ emit messageLogged(L1S("\nPROCESS TIMEOUT !!!"));
bTimeout = true;
break;
}
@@ -309,9 +309,9 @@ void OpusEncoder::setFrameSize(int frameSize)
bool OpusEncoder::isFormatSupported(const QString &containerType, const QString &containerProfile, const QString &formatType, const QString &formatProfile, const QString &formatVersion)
{
- if(containerType.compare("Wave", Qt::CaseInsensitive) == 0)
+ if(containerType.compare(L1S("Wave"), Qt::CaseInsensitive) == 0)
{
- if(formatType.compare("PCM", Qt::CaseInsensitive) == 0)
+ if(formatType.compare(L1S("PCM"), Qt::CaseInsensitive) == 0)
{
return true;
}
diff --git a/src/Encoder_Vorbis.cpp b/src/Encoder_Vorbis.cpp
index 0c6ffbb2..6330bd27 100644
--- a/src/Encoder_Vorbis.cpp
+++ b/src/Encoder_Vorbis.cpp
@@ -125,7 +125,7 @@ static const g_vorbisEncoderInfo;
VorbisEncoder::VorbisEncoder(void)
:
- m_binary(lamexp_tools_lookup("oggenc2.exe"))
+ m_binary(lamexp_tools_lookup(L1S("oggenc2.exe")))
{
if(m_binary.isEmpty())
{
@@ -150,10 +150,10 @@ bool VorbisEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaI
switch(m_configRCMode)
{
case SettingsModel::VBRMode:
- args << "-q" << QString::number(qBound(-2, m_configBitrate - 2, 10));
+ args << L1S("-q") << QString::number(qBound(-2, m_configBitrate - 2, 10));
break;
case SettingsModel::ABRMode:
- args << "-b" << QString::number(qBound(32, (m_configBitrate + 4) * 8, 500));
+ args << L1S("-b") << QString::number(qBound(32, (m_configBitrate + 4) * 8, 500));
break;
default:
MUTILS_THROW("Bad rate-control mode!");
@@ -162,28 +162,33 @@ bool VorbisEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaI
if((m_configBitrateMaximum > 0) && (m_configBitrateMinimum > 0) && (m_configBitrateMinimum <= m_configBitrateMaximum))
{
- args << "--min-bitrate" << QString::number(qBound(32, m_configBitrateMinimum, 500));
- args << "--max-bitrate" << QString::number(qBound(32, m_configBitrateMaximum, 500));
+ args << L1S("--min-bitrate") << QString::number(qBound(32, m_configBitrateMinimum, 500));
+ args << L1S("--max-bitrate") << QString::number(qBound(32, m_configBitrateMaximum, 500));
}
if(m_configSamplingRate > 0)
{
- args << "--resample" << QString::number(m_configSamplingRate) << "--converter" << QString::number(0);
+ args << L1S("--resample") << QString::number(m_configSamplingRate) << L1S("--converter") << QString::number(0);
}
- if(!metaInfo.title().isEmpty()) args << "-t" << cleanTag(metaInfo.title());
- if(!metaInfo.artist().isEmpty()) args << "-a" << cleanTag(metaInfo.artist());
- if(!metaInfo.album().isEmpty()) args << "-l" << cleanTag(metaInfo.album());
- if(!metaInfo.genre().isEmpty()) args << "-G" << cleanTag(metaInfo.genre());
- if(!metaInfo.comment().isEmpty()) args << "-c" << QString("comment=%1").arg(cleanTag(metaInfo.comment()));
- if(metaInfo.year()) args << "-d" << QString::number(metaInfo.year());
- if(metaInfo.position()) args << "-N" << QString::number(metaInfo.position());
+ if (!metaInfo.empty(false))
+ {
+ args << L1S("--discard-comments");
+ }
+
+ if(!metaInfo.title().isEmpty()) args << L1S("-t") << cleanTag(metaInfo.title());
+ if(!metaInfo.artist().isEmpty()) args << L1S("-a") << cleanTag(metaInfo.artist());
+ if(!metaInfo.album().isEmpty()) args << L1S("-l") << cleanTag(metaInfo.album());
+ if(!metaInfo.genre().isEmpty()) args << L1S("-G") << cleanTag(metaInfo.genre());
+ if(!metaInfo.comment().isEmpty()) args << L1S("-c") << QString("comment=%1").arg(cleanTag(metaInfo.comment()));
+ if(metaInfo.year()) args << L1S("-d") << QString::number(metaInfo.year());
+ if(metaInfo.position()) args << L1S("-N") << QString::number(metaInfo.position());
//args << "--tv" << QString().sprintf("Encoder=LameXP v%d.%02d.%04d [%s]", lamexp_version_major(), lamexp_version_minor(), lamexp_version_build(), lamexp_version_release());
if(!m_configCustomParams.isEmpty()) args << m_configCustomParams.split(" ", QString::SkipEmptyParts);
- args << "-o" << QDir::toNativeSeparators(outputFile);
+ args << L1S("-o") << QDir::toNativeSeparators(outputFile);
args << QDir::toNativeSeparators(sourceFile);
if(!startProcess(process, m_binary, args))
@@ -195,7 +200,7 @@ bool VorbisEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaI
bool bAborted = false;
int prevProgress = -1;
- QRegExp regExp("\\[.*(\\d+)[.,](\\d+)%\\]");
+ QRegExp regExp(L1S("\\[.*(\\d+)[.,](\\d+)%\\]"));
while(process.state() != QProcess::NotRunning)
{
@@ -203,7 +208,7 @@ bool VorbisEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaI
{
process.kill();
bAborted = true;
- emit messageLogged("\nABORTED BY USER !!!");
+ emit messageLogged(L1S("\nABORTED BY USER !!!"));
break;
}
process.waitForReadyRead(m_processTimeoutInterval);
@@ -211,7 +216,7 @@ bool VorbisEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaI
{
process.kill();
qWarning("OggEnc process timed out <-- killing!");
- emit messageLogged("\nPROCESS TIMEOUT !!!");
+ emit messageLogged(L1S("\nPROCESS TIMEOUT !!!"));
bTimeout = true;
break;
}
@@ -256,16 +261,16 @@ bool VorbisEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaI
bool VorbisEncoder::isFormatSupported(const QString &containerType, const QString &containerProfile, const QString &formatType, const QString &formatProfile, const QString &formatVersion)
{
- if(containerType.compare("Wave", Qt::CaseInsensitive) == 0)
+ if(containerType.compare(L1S("Wave"), Qt::CaseInsensitive) == 0)
{
- if(formatType.compare("PCM", Qt::CaseInsensitive) == 0)
+ if(formatType.compare(L1S("PCM"), Qt::CaseInsensitive) == 0)
{
return true;
}
}
- else if(containerType.compare("FLAC", Qt::CaseInsensitive) == 0)
+ else if(containerType.compare(L1S("FLAC"), Qt::CaseInsensitive) == 0)
{
- if(formatType.compare("FLAC", Qt::CaseInsensitive) == 0)
+ if(formatType.compare(L1S("FLAC"), Qt::CaseInsensitive) == 0)
{
return true;
}
diff --git a/src/Encoder_Wave.cpp b/src/Encoder_Wave.cpp
index 397468a4..d4062119 100644
--- a/src/Encoder_Wave.cpp
+++ b/src/Encoder_Wave.cpp
@@ -146,11 +146,11 @@ bool WaveEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInf
if (success)
{
- emit messageLogged(QLatin1String("File copied successfully."));
+ emit messageLogged(L1S("File copied successfully."));
}
else
{
- emit messageLogged((*abortFlag) ? QLatin1String("Operation cancelled by user!") : QLatin1String("Error: Failed to copy file!"));
+ emit messageLogged((*abortFlag) ? L1S("Operation cancelled by user!") : L1S("Error: Failed to copy file!"));
}
return success;
@@ -174,9 +174,9 @@ void WaveEncoder::updateProgress(const double &progress)
bool WaveEncoder::isFormatSupported(const QString &containerType, const QString &containerProfile, const QString &formatType, const QString &formatProfile, const QString &formatVersion)
{
- if(containerType.compare("Wave", Qt::CaseInsensitive) == 0)
+ if(containerType.compare(L1S("Wave"), Qt::CaseInsensitive) == 0)
{
- if(formatType.compare("PCM", Qt::CaseInsensitive) == 0)
+ if(formatType.compare(L1S("PCM"), Qt::CaseInsensitive) == 0)
{
return true;
}
diff --git a/src/Global.h b/src/Global.h
index a9d518f7..4270fad1 100644
--- a/src/Global.h
+++ b/src/Global.h
@@ -83,4 +83,5 @@ const QString lamexp_version2string(const QString &pattern, unsigned int version
// HELPER MACROS
///////////////////////////////////////////////////////////////////////////////
+#define L1S(STR) (QLatin1String((STR)))
#define NOBR(STR) (QString("%1").arg((STR)).replace("-", "−"))