diff --git a/doc/Changelog.html b/doc/Changelog.html
index dd6cd13b..e9d73f90 100644
--- a/doc/Changelog.html
+++ b/doc/Changelog.html
@@ -20,6 +20,7 @@ a:visited { color: #0000EE; }
Changes between v4.05 and v4.06 [unreleased]:
- Updated Opus encoder/decoder libraries to v1.0.1 and Opus-Tools to v0.1.5 (2012-09-22)
- Updated mpg123 decoder to v1.14.4+ (2012-09-24), compiled with GCC 4.7.1
+
- Updated ALAC decoder to refalac v0.56 (2012-10-24), based on reference implementation by Apple
- Updated Qt runtime libraries to v4.8.3 (2012-09-13), compiled with MSVC 10.0
- Updated MediaInfo to v0.7.61+ (2012-10-28), compiled with ICL 12.1.7 and MSVC 10.0
- Updated language files (big thank-you to all contributors !!!)
diff --git a/etc/Translation/Blank.ts b/etc/Translation/Blank.ts
index 55fa232e..214e33ce 100644
--- a/etc/Translation/Blank.ts
+++ b/etc/Translation/Blank.ts
@@ -162,11 +162,11 @@
-
+
@@ -285,88 +285,88 @@
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
+
diff --git a/etc/Translation/LameXP_DE.ts b/etc/Translation/LameXP_DE.ts
index 90139e68..42de76d5 100644
--- a/etc/Translation/LameXP_DE.ts
+++ b/etc/Translation/LameXP_DE.ts
@@ -175,14 +175,6 @@
Aften - A/52 Audio-Kodierer
-
-
- ALAC Dekodierer
-
-
-
- Copyright (c) 2004 David Hammerton. Unter Mitwirkung von Cody Brocious.
-
@@ -287,6 +279,14 @@
+
+
+ refalac - ALAC Encoder/Decoder für Win32
+
+
+
+ Die ALAC Referenzsoftware von Apple wird unter der Apache-Lizenz veröffentlicht.
+
AudioFileModel
diff --git a/etc/Translation/LameXP_ES.ts b/etc/Translation/LameXP_ES.ts
index 6b65fd6c..348d9195 100644
--- a/etc/Translation/LameXP_ES.ts
+++ b/etc/Translation/LameXP_ES.ts
@@ -175,14 +175,6 @@
Codificador de audio Aften - A/52
-
-
- Decodificador ALAC
-
-
-
- Copyright (c) 2004 David Hammerton. Contributions by Cody Brocious.
-
Copyright (c) 2011 LoRd_MuldeR <mulder2@gmx.de>. Some rights reserved.
@@ -287,6 +279,14 @@
UPX - The Ultimate Packer for eXecutables
+
+
+
+
+
+
+
+
AudioFileModel
diff --git a/etc/Translation/LameXP_FR.ts b/etc/Translation/LameXP_FR.ts
index 2c65b527..1d2b55c4 100644
--- a/etc/Translation/LameXP_FR.ts
+++ b/etc/Translation/LameXP_FR.ts
@@ -179,14 +179,6 @@
Aften - Encodeur audio A/52
-
-
- Décodeur ALAC
-
-
-
- Copyright (c) 2004 David Hammerton. Contributions par Cody Brocious.
-
@@ -291,6 +283,14 @@
+
+
+
+
+
+
+
+
AudioFileModel
diff --git a/etc/Translation/LameXP_IT.ts b/etc/Translation/LameXP_IT.ts
index 71fda2f5..0ba560d4 100644
--- a/etc/Translation/LameXP_IT.ts
+++ b/etc/Translation/LameXP_IT.ts
@@ -175,14 +175,6 @@
-
-
-
-
-
-
-
-
@@ -287,6 +279,14 @@
+
+
+
+
+
+
+
+
AudioFileModel
diff --git a/etc/Translation/LameXP_KR.ts b/etc/Translation/LameXP_KR.ts
index 31c2ef14..d3f8a151 100644
--- a/etc/Translation/LameXP_KR.ts
+++ b/etc/Translation/LameXP_KR.ts
@@ -175,14 +175,6 @@
Aften - A/52 오디오 인코더
-
-
- ALAC 디코더
-
-
-
- 저작권 (c) 2004 David Hammerton. Contributions by Cody Brocious.
-
저작권 (c) 2011 LoRd_MuldeR <mulder2@gmx.de>. 일부 권리 소유.
@@ -287,6 +279,14 @@
UPX - The Ultimate Packer for eXecutables
+
+
+
+
+
+
+
+
AudioFileModel
diff --git a/etc/Translation/LameXP_PL.ts b/etc/Translation/LameXP_PL.ts
index 18c3340a..827278cd 100644
--- a/etc/Translation/LameXP_PL.ts
+++ b/etc/Translation/LameXP_PL.ts
@@ -162,11 +162,11 @@
-
+
Wydane na warunkach licencji GNU Lesser General Public License.
@@ -285,88 +285,88 @@
The True Audio - Bezstratny kodek dźwięku
-
-
-
- Dekoder ALAC
-
-
-
-
- Prawa autorskie: 2004 David Hammerton. Kodu użyczył Cody Brocious.
-
+
+
+
+
+
+
+
+
+
+
wma2wav - Dekoder plików WMA do Wave
-
+
Prawa autorskie: 2011 LoRd_MuldeR <mulder2@gmx.de>. Pewne prawa zastrzeżone.
-
+
avs2wav - Konwerter dźwięku z Avisynth do Wave
-
+
Autorami programu są Jory Stone <jcsston@toughguy.net> i LoRd_MuldeR <mulder2@gmx.de>.
-
+
dcaenc
-
+
Prawa autorskie: 2008-2011 Alexander E. Patrakov. Rozpowszechniane na licencji LGPL.
-
+
MediaInfo - Narzędzie do analizy plików multimedialnych
-
+
SoX - Sound eXchange
-
+
GnuPG - GNU Privacy Guard
-
+
GNU Wget - Oprogramowanie służące do pobierania plików za pomocą protokołu HTTP
-
+
UPX - The Ultimate Packer for eXecutables
-
+
Silk Icons - Ponad 700 ikon w formacie PNG
-
+
Autorstwa Mark James, wydane na licencji Creative Commons.
-
+
Do programu LameXP jako całości, prawa autorskie posiada LoRd_MuldeR. Prawa autorskie oprogramowania firm trzecich należą do autorów poszczególnych programów.
-
+
n/d
diff --git a/etc/Translation/LameXP_RU.ts b/etc/Translation/LameXP_RU.ts
index c4d751bb..965ab66d 100644
--- a/etc/Translation/LameXP_RU.ts
+++ b/etc/Translation/LameXP_RU.ts
@@ -175,14 +175,6 @@
-
-
-
-
-
-
-
-
@@ -287,6 +279,14 @@
+
+
+
+
+
+
+
+
AudioFileModel
diff --git a/etc/Translation/LameXP_SV.ts b/etc/Translation/LameXP_SV.ts
index f5870495..0f2dd14c 100644
--- a/etc/Translation/LameXP_SV.ts
+++ b/etc/Translation/LameXP_SV.ts
@@ -162,11 +162,11 @@
-
+
Släppt under Gnu Lesser General Public License.
@@ -285,88 +285,88 @@
The True Audio - Lossless Audio Codec
-
-
-
- ALAC Decoder
-
-
-
-
- Copyright (c) 2004 David Hammerton. Contributions by Cody Brocious.
-
+
+
+
+
+
+
+
+
+
+
wma2wav - Dump WMA files to Wave Audio
-
+
Copyright (c) 2011 LoRd_MuldeR <mulder2@gmx.de>. Some rights reserved.
-
+
avs2wav - Avisynth to Wave Audio converter
-
+
By Jory Stone <jcsston@toughguy.net> and LoRd_MuldeR <mulder2@gmx.de>.
-
+
dcaenc
-
+
Copyright (c) 2008-2011 Alexander E. Patrakov. Distributed under the LGPL.
-
+
MediaInfo - Analysverktyg för mediafiler
-
+
SoX - Sound eXchange
-
+
GnuPG - The GNU Privacy Guard
-
+
GNU Wget - Mjukvara för att ta emot filer via HTTP
-
+
UPX - Den ultimata paketeraren för exekverbara filer
-
+
Silk Icons - Över 700 iconer i PNG-format
-
+
Av Mark James, publicerad under Creative Commons 'by' Licens.
-
+
The copyright of LameXP as a whole belongs to LoRd_MuldeR. The copyright of third-party software used in LameXP belongs to the individual authors.
-
+
n/a
diff --git a/etc/Translation/LameXP_TW.ts b/etc/Translation/LameXP_TW.ts
index 1ac0ce57..2d753d3b 100644
--- a/etc/Translation/LameXP_TW.ts
+++ b/etc/Translation/LameXP_TW.ts
@@ -171,14 +171,6 @@
Aften - A/52 音頻編碼器
-
-
- ALAC 解碼器
-
-
-
- 版權所有 (c) 2004 David Hammerton.科迪 Brocious 的貢獻.
-
版權所有 (c) 2011 LoRd_MuldeR <mulder2@gmx.de>.保留某些權利.
@@ -287,6 +279,14 @@
UPX - 終極可執行程序文件壓縮器
+
+
+
+
+
+
+
+
AudioFileModel
diff --git a/etc/Translation/LameXP_UK.ts b/etc/Translation/LameXP_UK.ts
index 0861b3f1..c4967e20 100644
--- a/etc/Translation/LameXP_UK.ts
+++ b/etc/Translation/LameXP_UK.ts
@@ -176,14 +176,6 @@
Aften - A/52 audio encoder
Aften - A/52 audio encoder
-
-
- ALAC Decoder
-
-
-
- Всі права належать 2004 David Hammerton. Підтримка зі сторони Cody Brocious.
-
Всі права належать 2011 LoRd_MuldeR <mulder2@gmx.de>. Деякі права захищені.
@@ -288,6 +280,14 @@
UPX - The Ultimate Packer for eXecutables
+
+
+
+
+
+
+
+
AudioFileModel
diff --git a/etc/Translation/LameXP_ZH.ts b/etc/Translation/LameXP_ZH.ts
index 3a079a88..0f8586dd 100644
--- a/etc/Translation/LameXP_ZH.ts
+++ b/etc/Translation/LameXP_ZH.ts
@@ -171,14 +171,6 @@
Aften - A/52 音频编码器
-
-
- ALAC 解码器
-
-
-
- 版权所有 (c) 2004 David Hammerton.科迪 Brocious 的贡献.
-
版权所有 (c) 2011 LoRd_MuldeR <mulder2@gmx.de>.保留某些权利.
@@ -287,6 +279,14 @@
UPX - 终极可执行程序文件压缩器
+
+
+
+
+
+
+
+
AudioFileModel
diff --git a/res/Tools_Decd.qrc b/res/Tools_Decd.qrc
index 3be5c232..6249bbca 100644
--- a/res/Tools_Decd.qrc
+++ b/res/Tools_Decd.qrc
@@ -1,7 +1,6 @@
- tools/alac.exe
tools/avs2wav.exe
tools/faad.exe
tools/mac.exe
@@ -9,6 +8,7 @@
tools/mpg123.exe
tools/oggdec.exe
tools/opusdec.exe
+ tools/refalac.exe
tools/shorten.exe
tools/speexdec.exe
tools/tta.exe
diff --git a/res/localization/LameXP_DE.qm b/res/localization/LameXP_DE.qm
index d3960d8c..f2d01ce3 100644
Binary files a/res/localization/LameXP_DE.qm and b/res/localization/LameXP_DE.qm differ
diff --git a/res/localization/LameXP_ES.qm b/res/localization/LameXP_ES.qm
index a3f79834..cdb57072 100644
Binary files a/res/localization/LameXP_ES.qm and b/res/localization/LameXP_ES.qm differ
diff --git a/res/localization/LameXP_FR.qm b/res/localization/LameXP_FR.qm
index ba507434..9f7d9b9c 100644
Binary files a/res/localization/LameXP_FR.qm and b/res/localization/LameXP_FR.qm differ
diff --git a/res/localization/LameXP_KR.qm b/res/localization/LameXP_KR.qm
index 0f604e62..6db4cdb4 100644
Binary files a/res/localization/LameXP_KR.qm and b/res/localization/LameXP_KR.qm differ
diff --git a/res/localization/LameXP_PL.qm b/res/localization/LameXP_PL.qm
index 3b1e5849..85fb1bf9 100644
Binary files a/res/localization/LameXP_PL.qm and b/res/localization/LameXP_PL.qm differ
diff --git a/res/localization/LameXP_SV.qm b/res/localization/LameXP_SV.qm
index 4460ade2..ce757613 100644
Binary files a/res/localization/LameXP_SV.qm and b/res/localization/LameXP_SV.qm differ
diff --git a/res/localization/LameXP_TW.qm b/res/localization/LameXP_TW.qm
index deaed0a4..e08df3b8 100644
Binary files a/res/localization/LameXP_TW.qm and b/res/localization/LameXP_TW.qm differ
diff --git a/res/localization/LameXP_UK.qm b/res/localization/LameXP_UK.qm
index a34f140d..3a3e84ad 100644
Binary files a/res/localization/LameXP_UK.qm and b/res/localization/LameXP_UK.qm differ
diff --git a/res/localization/LameXP_ZH.qm b/res/localization/LameXP_ZH.qm
index 29ea85eb..7881d02c 100644
Binary files a/res/localization/LameXP_ZH.qm and b/res/localization/LameXP_ZH.qm differ
diff --git a/res/tools/alac.exe b/res/tools/alac.exe
deleted file mode 100644
index 33a34f09..00000000
Binary files a/res/tools/alac.exe and /dev/null differ
diff --git a/res/tools/refalac.exe b/res/tools/refalac.exe
new file mode 100644
index 00000000..6f3dc6b3
Binary files /dev/null and b/res/tools/refalac.exe differ
diff --git a/src/Config.h b/src/Config.h
index 3ebe5647..dee140ee 100644
--- a/src/Config.h
+++ b/src/Config.h
@@ -30,7 +30,7 @@
#define VER_LAMEXP_MINOR_LO 6
#define VER_LAMEXP_TYPE RC
#define VER_LAMEXP_PATCH 4
-#define VER_LAMEXP_BUILD 1164
+#define VER_LAMEXP_BUILD 1166
///////////////////////////////////////////////////////////////////////////////
// Tool versions (minimum expected versions!)
diff --git a/src/Decoder_ALAC.cpp b/src/Decoder_ALAC.cpp
index e69849c1..a0384da5 100644
--- a/src/Decoder_ALAC.cpp
+++ b/src/Decoder_ALAC.cpp
@@ -30,11 +30,11 @@
ALACDecoder::ALACDecoder(void)
:
- m_binary(lamexp_lookup_tool("alac.exe"))
+ m_binary(lamexp_lookup_tool("refalac.exe"))
{
if(m_binary.isEmpty())
{
- throw "Error initializing ALAC decoder. Tool 'alac.exe' is not registred!";
+ throw "Error initializing ALAC decoder. Tool 'refalac.exe' is not registred!";
}
}
@@ -47,7 +47,8 @@ bool ALACDecoder::decode(const QString &sourceFile, const QString &outputFile, v
QProcess process;
QStringList args;
- args << "-f" << QDir::toNativeSeparators(outputFile);
+ args << "--decode";
+ args << "-o" << QDir::toNativeSeparators(outputFile);
args << QDir::toNativeSeparators(sourceFile);
if(!startProcess(process, m_binary, args))
@@ -57,9 +58,11 @@ bool ALACDecoder::decode(const QString &sourceFile, const QString &outputFile, v
bool bTimeout = false;
bool bAborted = false;
+ int prevProgress = -1;
//The ALAC Decoder doesn't actually send any status updates :-[
- emit statusUpdated(20 + (QUuid::createUuid().data1 % 60));
+ //emit statusUpdated(20 + (QUuid::createUuid().data1 % 60));
+ QRegExp regExp("\\[(\\d+)\\.(\\d)%\\]");
while(process.state() != QProcess::NotRunning)
{
@@ -83,7 +86,23 @@ bool ALACDecoder::decode(const QString &sourceFile, const QString &outputFile, v
{
QByteArray line = process.readLine();
QString text = QString::fromUtf8(line.constData()).simplified();
- if(!text.isEmpty())
+ if(regExp.lastIndexIn(text) >= 0)
+ {
+ bool ok[2] = {false, false};
+ int intVal[2] = {0, 0};
+ intVal[0] = regExp.cap(1).toInt(&ok[0]);
+ intVal[1] = regExp.cap(2).toInt(&ok[1]);
+ if(ok[0] && ok[1])
+ {
+ int progress = qRound(static_cast(intVal[0]) + (static_cast(intVal[1]) / 10.0));
+ if(progress > prevProgress)
+ {
+ emit statusUpdated(progress);
+ prevProgress = qMin(progress + 2, 99);
+ }
+ }
+ }
+ else if(!text.isEmpty())
{
emit messageLogged(text);
}
diff --git a/src/Dialog_About.cpp b/src/Dialog_About.cpp
index 59d8ad43..f43ea1a9 100644
--- a/src/Dialog_About.cpp
+++ b/src/Dialog_About.cpp
@@ -693,12 +693,19 @@ void AboutDialog::initSoftwareTab(void)
tr("Released under the terms of the GNU Lesser General Public License."),
"http://tta.sourceforge.net/"
);
+ //moreAboutText += makeToolText
+ //(
+ // tr("ALAC Decoder"),
+ // "alac.exe", "v?.?.?",
+ // tr("Copyright (c) 2004 David Hammerton. Contributions by Cody Brocious."),
+ // "http://craz.net/programs/itunes/alac.html"
+ //);
moreAboutText += makeToolText
(
- tr("ALAC Decoder"),
- "alac.exe", "v?.?.?",
- tr("Copyright (c) 2004 David Hammerton. Contributions by Cody Brocious."),
- "http://craz.net/programs/itunes/alac.html"
+ tr("refalac - Win32 command line ALAC encoder/decoder"),
+ "refalac.exe", "v?.??",
+ tr("The ALAC reference implementation by Apple is available under the Apache license."),
+ "http://alac.macosforge.org/"
);
moreAboutText += makeToolText
(
diff --git a/src/Tools.h b/src/Tools.h
index 67c3a552..c0f09071 100644
--- a/src/Tools.h
+++ b/src/Tools.h
@@ -54,7 +54,6 @@ g_lamexp_tools[] =
{"fff2a8f9116c6cff9b8ccf18a486c827df6be623b715899ae882f514c46e112bdbf510a2", CPU_TYPE_X86_GEN, "aften.i386.exe", 8},
{"9b52bd2efcb59aef1f65e9e11e6b51b171705e155af7c624562842f3c35429d41af9da30", CPU_TYPE_X86_SSE, "aften.sse2.exe", 8},
{"73a9ab3cf1859d469a3e3acb29ebca504f2bf044c6cd2a1b0c3d91aec3e3197dd1a71af5", CPU_TYPE_X64_ALL, "aften.x64.exe", 8},
- {"1cca303fabd889a18fc01c32a7fd861194cfcac60ba63740ea2d7c55d049dbf8f59259fa", CPU_TYPE_ALL_ALL, "alac.exe", 20},
{"6d22d4bbd7ce2162e38f70ac9187bc84eb28233b36ee6c0492d0a6195318782d7f05c444", CPU_TYPE_ALL_ALL, "avs2wav.exe", 13},
{"8fe60580f10542c25c81f03e130caf128daa1f825b621d9c7c134d8f06948f8c16f787f2", CPU_TYPE_ALL_ALL, "dcaenc.exe", 20120419},
{"e53a787d4a0319453f4fe48c3145f190fcce7ac4802e521db908771437f6250746116e6c", CPU_TYPE_ALL_ALL, "elevator.exe", UINT_MAX},
@@ -76,6 +75,7 @@ g_lamexp_tools[] =
{"0c77eb6dee3193b20b42550e893939439cf1b183390842e754771a96857eac4f4725c3f8", CPU_TYPE_ALL_ALL, "opusdec.exe", 20120922},
{"d474d922737eb3b11f1b820591ca0ecba47f9eceb8f244952479ef041d8777fe8eae2ae7", CPU_TYPE_ALL_ALL, "opusenc_ea7.exe", 20120922},
{"922ca02eb9fc8cc12f596291ad267a579a58c9baaee0560ff8903a071f9aee78b20c74c9", CPU_TYPE_ALL_ALL, "opusenc_std.exe", 20120922},
+ {"9a19025450c79d4e8bc67a24a498325bd6d97fefd192d9208442caf5d17f24a69d82f15b", CPU_TYPE_ALL_ALL, "refalac.exe", 56},
{"58c2b8bcff8f27bfa8fab8172b80f5da731221d072c7dba4dd3a3d7d6423490a25dc6760", CPU_TYPE_ALL_ALL, "shorten.exe", 361},
{"017a0f613a962af0620618019b015d5c54bb3c07cf1023e5fdb9502b652367ebbfaaebbc", CPU_TYPE_ALL_ALL, "sox.exe", 1440},
{"48e7f81c024cd17dac0eaeab253aad6b223e72dc80688f7576276b0563209514ff0bb9c8", CPU_TYPE_ALL_ALL, "speexdec.exe", 12},