diff --git a/doc/Changelog.html b/doc/Changelog.html
index a681d692..104f46b5 100644
--- a/doc/Changelog.html
+++ b/doc/Changelog.html
@@ -23,7 +23,7 @@ a:visited { color: #0000EE; }
Added an option to add directories recursively
Added support for embedding cover artwork (currently works with LAME, FLAC and Nero AAC only)
Updated Qt runtime libraries to v4.7.2
-Updated LAME encoder to v3.99.0.15 (2011-03-22), compiled with ICL 12.0.2
+Updated LAME encoder to v3.99.0.16 (2011-04-04), 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 ICL 12.0.2
diff --git a/doc/FAQ.html b/doc/FAQ.html
index 1792993f..4698a063 100644
--- a/doc/FAQ.html
+++ b/doc/FAQ.html
@@ -388,7 +388,13 @@ doesn't apply the other way around! Moreover embedding an ID3v1 and an ID3v2 tag
the information would have fit into a single ID3v1 tag, means an unnecessary redundancy!
If, however, you need to enforce the creation of an ID3v2 tag for some reason, you can use the "--add-id3v2"
-parameter for that purpose. Simply add the parameter to the "Custom Encoder Parameters" for LAME.
+parameter for that purpose. Simply add the parameter to the "Custom Encoder Parameters" for LAME.
+
+That's what the LAME help says about ID3 tags:
+A version 2 tag will NOT be added unless one of the input fields
+won't fit in a version 1 tag (e.g. the title string is longer than 30
+characters), or the '--add-id3v2' or '--id3v2-only' options are used,
+or output is redirected to stdout.
diff --git a/res/Icons.qrc b/res/Icons.qrc
index 99124e69..703a9a4c 100644
--- a/res/Icons.qrc
+++ b/res/Icons.qrc
@@ -3,6 +3,7 @@
MainIcon.ico
MainIcon.png
+ MainIcon2.png
icons/add.png
icons/accept.png
icons/application_view_list.png
diff --git a/res/MainIcon2.png b/res/MainIcon2.png
new file mode 100644
index 00000000..f5c9bbff
Binary files /dev/null and b/res/MainIcon2.png differ
diff --git a/res/tools/lame.exe b/res/tools/lame.exe
index 94d07270..d571d314 100644
Binary files a/res/tools/lame.exe and b/res/tools/lame.exe differ
diff --git a/src/Config.h b/src/Config.h
index 42cb62b9..e4850b52 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 416
-#define VER_LAMEXP_SUFFIX RC-1
+#define VER_LAMEXP_BUILD 417
+#define VER_LAMEXP_SUFFIX RC-3
/*
* Tools versions
diff --git a/src/Encoder_MP3.cpp b/src/Encoder_MP3.cpp
index 4dec7208..99201934 100644
--- a/src/Encoder_MP3.cpp
+++ b/src/Encoder_MP3.cpp
@@ -108,16 +108,24 @@ bool MP3Encoder::encode(const QString &sourceFile, const AudioFileModel &metaInf
break;
}
- if(!metaInfo.fileName().isEmpty()) args << (isUnicode(metaInfo.fileName()) ? "--uTitle" : "--lTitle") << metaInfo.fileName();
- if(!metaInfo.fileArtist().isEmpty()) args << (isUnicode(metaInfo.fileArtist()) ? "--uArtist" : "--lArtist") << metaInfo.fileArtist();
- if(!metaInfo.fileAlbum().isEmpty()) args << (isUnicode(metaInfo.fileAlbum()) ? "--uAlbum" : "--lAlbum") << metaInfo.fileAlbum();
- if(!metaInfo.fileGenre().isEmpty()) args << (isUnicode(metaInfo.fileGenre()) ? "--uGenre" : "--lGenre") << metaInfo.fileGenre();
- if(!metaInfo.fileComment().isEmpty()) args << (isUnicode(metaInfo.fileComment()) ? "--uComment" : "--lComment") << metaInfo.fileComment();
+ bool bUseUCS2 = false;
+
+ if(!metaInfo.fileName().isEmpty() && isUnicode(metaInfo.fileName())) bUseUCS2 = true;
+ if(!metaInfo.fileArtist().isEmpty() && isUnicode(metaInfo.fileArtist())) bUseUCS2 = true;
+ if(!metaInfo.fileAlbum().isEmpty() && isUnicode(metaInfo.fileAlbum())) bUseUCS2 = true;
+ if(!metaInfo.fileGenre().isEmpty() && isUnicode(metaInfo.fileGenre())) bUseUCS2 = true;
+ if(!metaInfo.fileComment().isEmpty() && isUnicode(metaInfo.fileComment())) bUseUCS2 = true;
+
+ if(bUseUCS2) args << "--id3v2-ucs2"; //Must specify this BEFORE "--tt" and friends!
+
+ if(!metaInfo.fileName().isEmpty()) args << "--tt" << metaInfo.fileName();
+ if(!metaInfo.fileArtist().isEmpty()) args << "--ta" << metaInfo.fileArtist();
+ if(!metaInfo.fileAlbum().isEmpty()) args << "--tl" << metaInfo.fileAlbum();
+ if(!metaInfo.fileGenre().isEmpty()) args << "--tg" << metaInfo.fileGenre();
+ if(!metaInfo.fileComment().isEmpty()) args << "--tc" << metaInfo.fileComment();
if(metaInfo.fileYear()) args << "--ty" << QString::number(metaInfo.fileYear());
if(metaInfo.filePosition()) args << "--tn" << QString::number(metaInfo.filePosition());
if(!metaInfo.fileCover().isEmpty()) args << "--ti" << QDir::toNativeSeparators(metaInfo.fileCover());
-
- //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);
diff --git a/src/Global.cpp b/src/Global.cpp
index 78779c14..5bc9a9bc 100644
--- a/src/Global.cpp
+++ b/src/Global.cpp
@@ -666,12 +666,13 @@ bool lamexp_init_qt(int argc, char* argv[])
}
//Create Qt application instance and setup version info
+ QDate date = QDate::currentDate();
QApplication *application = new QApplication(argc, argv);
application->setApplicationName("LameXP - Audio Encoder Front-End");
application->setApplicationVersion(QString().sprintf("%d.%02d.%04d", lamexp_version_major(), lamexp_version_minor(), lamexp_version_build()));
application->setOrganizationName("LoRd_MuldeR");
application->setOrganizationDomain("mulder.dummwiedeutsch.de");
- application->setWindowIcon(QIcon(":/MainIcon.png"));
+ application->setWindowIcon((date.month() == 12 && date.day() >= 24 && date.day() <= 26) ? QIcon(":/MainIcon2.png") : QIcon(":/MainIcon.png"));
//Load plugins from application directory
QCoreApplication::setLibraryPaths(QStringList() << QApplication::applicationDirPath());
diff --git a/src/Thread_Initialization.cpp b/src/Thread_Initialization.cpp
index aae8e748..3741d002 100644
--- a/src/Thread_Initialization.cpp
+++ b/src/Thread_Initialization.cpp
@@ -53,7 +53,7 @@ g_lamexp_tools[] =
{"d33cd86f04bd4067e244d2804466583c7b90a4e2", "flac.exe", 121},
{"9328a50e89b54ec065637496d9681a7e3eebf915", "gpgv.exe", 1411},
{"d837bf6ee4dab557d8b02d46c75a24e58980fffa", "gpgv.gpg", UINT_MAX},
- {"cc843a34b7207f887f80668b3f7a78716c276aca", "lame.exe", 39915},
+ {"5bc1ed92db501c0b281928893647e70fd5068540", "lame.exe", 39916},
{"a4e929cfaa42fa2e61a3d0c6434c77a06d45aef3", "mac.exe", 406},
{"ff65938a9d9b2f453887ca5e731fb75b98015683", "mediainfo_i386.exe", 743},
{"470b433b7ee06830f382266cc2680a3d6e1d3993", "mediainfo_x64.exe", 743},