diff --git a/doc/Changelog.html b/doc/Changelog.html index 4d0db6d0..873f00c8 100644 --- a/doc/Changelog.html +++ b/doc/Changelog.html @@ -15,6 +15,7 @@
  • Updated LAME encoder to v3.99.0.14 (2011-02-28), compiled with ICL 12.0.2
  • Updated Vorbis encoder to v2.87 using aoTuV Beta-6.02 (2011-02-28), compiled with ICL 11.1 and MSVC 9.0
  • Updated TTA decoder multiplatform library to v2.1 (2011-03-11), compiled with MSVC 9.0 +
  • Updated SoX to v14.3.2 (2010-02-27), compiled with 12.0.2
  • Updated MediaInfo to v0.7.42 (2011-03-03), compiled with ICL 12.0.2 and MSVC 9.0
  • Updated language files (big thank-you to all contributors !!!)
  • Fixed a bug that caused AAC encoding to fail in CBR mode (the "-2pass" parameter was set wrongly) diff --git a/res/tools/sox.exe b/res/tools/sox.exe index 977646df..1d8749d3 100644 Binary files a/res/tools/sox.exe and b/res/tools/sox.exe differ diff --git a/src/Config.h b/src/Config.h index 125b9fdb..07d74b14 100644 --- a/src/Config.h +++ b/src/Config.h @@ -25,8 +25,8 @@ #define VER_LAMEXP_MAJOR 4 #define VER_LAMEXP_MINOR_HI 0 #define VER_LAMEXP_MINOR_LO 1 -#define VER_LAMEXP_BUILD 378 -#define VER_LAMEXP_SUFFIX Beta-9 +#define VER_LAMEXP_BUILD 380 +#define VER_LAMEXP_SUFFIX Beta-10 /* * Tools versions diff --git a/src/Filter_Downmix.cpp b/src/Filter_Downmix.cpp index a5413e2d..1f23bfcb 100644 --- a/src/Filter_Downmix.cpp +++ b/src/Filter_Downmix.cpp @@ -48,7 +48,7 @@ bool DownmixFilter::apply(const QString &sourceFile, const QString &outputFile, process.setWorkingDirectory(QFileInfo(outputFile).canonicalPath()); - args << "-V3"; + args << "-V3" << "-S"; args << "--guard" << "--temp" << "."; args << QDir::toNativeSeparators(sourceFile); args << "-c2"; @@ -62,6 +62,8 @@ bool DownmixFilter::apply(const QString &sourceFile, const QString &outputFile, bool bTimeout = false; bool bAborted = false; + QRegExp regExp("In:(\\d+)(\\.\\d+)*%"); + while(process.state() != QProcess::NotRunning) { if(*abortFlag) @@ -84,7 +86,13 @@ bool DownmixFilter::apply(const QString &sourceFile, const QString &outputFile, { QByteArray line = process.readLine(); QString text = QString::fromUtf8(line.constData()).simplified(); - if(!text.isEmpty()) + if(regExp.lastIndexIn(text) >= 0) + { + bool ok = false; + int progress = regExp.cap(1).toInt(&ok); + if(ok) emit statusUpdated(progress); + } + else if(!text.isEmpty()) { emit messageLogged(text); } diff --git a/src/Filter_Normalize.cpp b/src/Filter_Normalize.cpp index 5bc8cd41..c948489a 100644 --- a/src/Filter_Normalize.cpp +++ b/src/Filter_Normalize.cpp @@ -50,7 +50,7 @@ bool NormalizeFilter::apply(const QString &sourceFile, const QString &outputFile process.setWorkingDirectory(QFileInfo(outputFile).canonicalPath()); - args << "-V3"; + args << "-V3" << "-S"; args << "--temp" << "."; args << QDir::toNativeSeparators(sourceFile); args << QDir::toNativeSeparators(outputFile); @@ -65,6 +65,8 @@ bool NormalizeFilter::apply(const QString &sourceFile, const QString &outputFile bool bTimeout = false; bool bAborted = false; + QRegExp regExp("In:(\\d+)(\\.\\d+)*%"); + while(process.state() != QProcess::NotRunning) { if(*abortFlag) @@ -87,7 +89,13 @@ bool NormalizeFilter::apply(const QString &sourceFile, const QString &outputFile { QByteArray line = process.readLine(); QString text = QString::fromUtf8(line.constData()).simplified(); - if(!text.isEmpty()) + if(regExp.lastIndexIn(text) >= 0) + { + bool ok = false; + int progress = regExp.cap(1).toInt(&ok); + if(ok) emit statusUpdated(progress); + } + else if(!text.isEmpty()) { emit messageLogged(text); } diff --git a/src/Filter_Resample.cpp b/src/Filter_Resample.cpp index bb69021b..d4be13da 100644 --- a/src/Filter_Resample.cpp +++ b/src/Filter_Resample.cpp @@ -50,7 +50,7 @@ bool ResampleFilter::apply(const QString &sourceFile, const QString &outputFile, process.setWorkingDirectory(QFileInfo(outputFile).canonicalPath()); - args << "-V3"; + args << "-V3" << "-S"; args << "--guard" << "--temp" << "."; args << QDir::toNativeSeparators(sourceFile); args << QDir::toNativeSeparators(outputFile); @@ -65,6 +65,8 @@ bool ResampleFilter::apply(const QString &sourceFile, const QString &outputFile, bool bTimeout = false; bool bAborted = false; + QRegExp regExp("In:(\\d+)(\\.\\d+)*%"); + while(process.state() != QProcess::NotRunning) { if(*abortFlag) @@ -87,7 +89,13 @@ bool ResampleFilter::apply(const QString &sourceFile, const QString &outputFile, { QByteArray line = process.readLine(); QString text = QString::fromUtf8(line.constData()).simplified(); - if(!text.isEmpty()) + if(regExp.lastIndexIn(text) >= 0) + { + bool ok = false; + int progress = regExp.cap(1).toInt(&ok); + if(ok) emit statusUpdated(progress); + } + else if(!text.isEmpty()) { emit messageLogged(text); } diff --git a/src/Filter_ToneAdjust.cpp b/src/Filter_ToneAdjust.cpp index e7bebe22..a155fe5e 100644 --- a/src/Filter_ToneAdjust.cpp +++ b/src/Filter_ToneAdjust.cpp @@ -52,7 +52,7 @@ bool ToneAdjustFilter::apply(const QString &sourceFile, const QString &outputFil process.setWorkingDirectory(QFileInfo(outputFile).canonicalPath()); - args << "-V3"; + args << "-V3" << "-S"; args << "--guard" << "--temp" << "."; args << QDir::toNativeSeparators(sourceFile); args << QDir::toNativeSeparators(outputFile); @@ -74,6 +74,8 @@ bool ToneAdjustFilter::apply(const QString &sourceFile, const QString &outputFil bool bTimeout = false; bool bAborted = false; + QRegExp regExp("In:(\\d+)(\\.\\d+)*%"); + while(process.state() != QProcess::NotRunning) { if(*abortFlag) @@ -96,7 +98,13 @@ bool ToneAdjustFilter::apply(const QString &sourceFile, const QString &outputFil { QByteArray line = process.readLine(); QString text = QString::fromUtf8(line.constData()).simplified(); - if(!text.isEmpty()) + if(regExp.lastIndexIn(text) >= 0) + { + bool ok = false; + int progress = regExp.cap(1).toInt(&ok); + if(ok) emit statusUpdated(progress); + } + else if(!text.isEmpty()) { emit messageLogged(text); } diff --git a/src/Thread_Initialization.cpp b/src/Thread_Initialization.cpp index 2c7922e6..b03251cf 100644 --- a/src/Thread_Initialization.cpp +++ b/src/Thread_Initialization.cpp @@ -64,7 +64,7 @@ g_lamexp_tools[] = {"36f8d93ef3df6a420a73a9b5cf02dafdaf4321f0", "oggenc2_sse2.exe", 287602}, {"87ad1af73e9b9db3da3db645e5c2253cb0c2a2ea", "oggenc2_x64.exe", 287602}, {"0d9035bb62bdf46a2785261f8be5a4a0972abd15", "shorten.exe", 361}, - {"2d08c3586f9cf99f2e4c89ac54eeb595f63aef61", "sox.exe", 1431}, + {"50ead3b852cbfc067a402e6c2d0d0d8879663dec", "sox.exe", 1432}, {"8671e16497a2d217d3707d4aa418678d02b16bcc", "speexdec.exe", 12}, {"093bfdec22872ca99e40183937c88785468be989", "tta.exe", 21}, {"8c842eef65248b46fa6cb9a9e5714f575672d999", "valdec.exe", 31},