Enable the embedding of cover artwork for the Opus encoder, using the "--picture" parameter.

This commit is contained in:
LoRd_MuldeR 2015-08-19 22:49:43 +02:00
parent cd1bb73a93
commit f663dcc75f
19 changed files with 56 additions and 48 deletions

View File

@ -102,6 +102,7 @@ document.write('<a h'+'ref'+'="ma'+'ilto'+':'+e+'">'+e+'<\/'+'a'+'>');
<li>Updated GnuPG to v1.4.19 (2015-02-27), compiled with GCC 4.9.2<br /></li> <li>Updated GnuPG to v1.4.19 (2015-02-27), compiled with GCC 4.9.2<br /></li>
<li>Fixed potential deadlock in Cue Sheet import dialog when &quot;Browse...&quot; button is clicked<br /></li> <li>Fixed potential deadlock in Cue Sheet import dialog when &quot;Browse...&quot; button is clicked<br /></li>
<li>Fixed function to restore the default Temp folder, if custom Temp folder doesn't exist anymore<br /></li> <li>Fixed function to restore the default Temp folder, if custom Temp folder doesn't exist anymore<br /></li>
<li>Enable the embedding of cover artwork for Opus encoder (opusenc), using the <code>--picture</code> option<br /></li>
<li>Some installer improvements have been implemented (especially in &quot;update&quot; mode)<br /></li> <li>Some installer improvements have been implemented (especially in &quot;update&quot; mode)<br /></li>
<li>Full support for Windows 10 RTM (Build #10240)</li> <li>Full support for Windows 10 RTM (Build #10240)</li>
</ul> </ul>

View File

@ -19,6 +19,7 @@
* Updated GnuPG to v1.4.19 (2015-02-27), compiled with GCC 4.9.2 * Updated GnuPG to v1.4.19 (2015-02-27), compiled with GCC 4.9.2
* Fixed potential deadlock in Cue Sheet import dialog when "Browse..." button is clicked * Fixed potential deadlock in Cue Sheet import dialog when "Browse..." button is clicked
* Fixed function to restore the default Temp folder, if custom Temp folder doesn't exist anymore * Fixed function to restore the default Temp folder, if custom Temp folder doesn't exist anymore
* Enable the embedding of cover artwork for Opus encoder (opusenc), using the ``--picture`` option
* Some installer improvements have been implemented (especially in "update" mode) * Some installer improvements have been implemented (especially in "update" mode)
* Full support for Windows 10 RTM (Build #10240) * Full support for Windows 10 RTM (Build #10240)

View File

@ -3545,12 +3545,12 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Update.cpp" line="425"/> <location filename="../../src/Dialog_Update.cpp" line="426"/>
<source>Update ready to install. Applicaion will quit...</source> <source>Update ready to install. Applicaion will quit...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Update.cpp" line="433"/> <location filename="../../src/Dialog_Update.cpp" line="434"/>
<source>Update failed. Please try again or download manually!</source> <source>Update failed. Please try again or download manually!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>

View File

@ -3528,12 +3528,12 @@
<translation>Update wird heruntergeladen, bitte gedulden Sie sich...</translation> <translation>Update wird heruntergeladen, bitte gedulden Sie sich...</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Update.cpp" line="425"/> <location filename="../../src/Dialog_Update.cpp" line="426"/>
<source>Update ready to install. Applicaion will quit...</source> <source>Update ready to install. Applicaion will quit...</source>
<translation>Update ist bereit zur Installtion. Programm wird beendet...</translation> <translation>Update ist bereit zur Installtion. Programm wird beendet...</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Update.cpp" line="433"/> <location filename="../../src/Dialog_Update.cpp" line="434"/>
<source>Update failed. Please try again or download manually!</source> <source>Update failed. Please try again or download manually!</source>
<translation>Update fehlgeschlagen. Bitte versuchen Sie es noch einmal!</translation> <translation>Update fehlgeschlagen. Bitte versuchen Sie es noch einmal!</translation>
</message> </message>

View File

@ -3528,12 +3528,12 @@
<translation>Descargando actualización, espere por favor...</translation> <translation>Descargando actualización, espere por favor...</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Update.cpp" line="425"/> <location filename="../../src/Dialog_Update.cpp" line="426"/>
<source>Update ready to install. Applicaion will quit...</source> <source>Update ready to install. Applicaion will quit...</source>
<translation>Actualización lista para instalar. La aplicación se cerrará...</translation> <translation>Actualización lista para instalar. La aplicación se cerrará...</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Update.cpp" line="433"/> <location filename="../../src/Dialog_Update.cpp" line="434"/>
<source>Update failed. Please try again or download manually!</source> <source>Update failed. Please try again or download manually!</source>
<translation>Actualización fallida. ¡Por favor, vuelva a intentarlo o descárguelo manualmente!</translation> <translation>Actualización fallida. ¡Por favor, vuelva a intentarlo o descárguelo manualmente!</translation>
</message> </message>

View File

@ -3538,12 +3538,12 @@ Ouvrir le dossier récursivement...</translation>
<translation>La mise à jour est en cours de téléchargement, veuillez patienter...</translation> <translation>La mise à jour est en cours de téléchargement, veuillez patienter...</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Update.cpp" line="425"/> <location filename="../../src/Dialog_Update.cpp" line="426"/>
<source>Update ready to install. Applicaion will quit...</source> <source>Update ready to install. Applicaion will quit...</source>
<translation>La mise à jour est prête à être installée. L&apos;application doit se fermer...</translation> <translation>La mise à jour est prête à être installée. L&apos;application doit se fermer...</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Update.cpp" line="433"/> <location filename="../../src/Dialog_Update.cpp" line="434"/>
<source>Update failed. Please try again or download manually!</source> <source>Update failed. Please try again or download manually!</source>
<translation>La mise à jour a échoué. Veuillez essayer à nouveau ou télécharger manuellement !</translation> <translation>La mise à jour a échoué. Veuillez essayer à nouveau ou télécharger manuellement !</translation>
</message> </message>

View File

@ -3545,12 +3545,12 @@
<translation>A frissítés letöltése folyamatban van, kis türelmét kérjük...</translation> <translation>A frissítés letöltése folyamatban van, kis türelmét kérjük...</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Update.cpp" line="425"/> <location filename="../../src/Dialog_Update.cpp" line="426"/>
<source>Update ready to install. Applicaion will quit...</source> <source>Update ready to install. Applicaion will quit...</source>
<translation>A frissítés készen áll a telepítésre. Az alkalmazás most kilép...</translation> <translation>A frissítés készen áll a telepítésre. Az alkalmazás most kilép...</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Update.cpp" line="433"/> <location filename="../../src/Dialog_Update.cpp" line="434"/>
<source>Update failed. Please try again or download manually!</source> <source>Update failed. Please try again or download manually!</source>
<translation>A frissítés sikertelen volt. Próbálja újra, vagy töltse le manuálisan!</translation> <translation>A frissítés sikertelen volt. Próbálja újra, vagy töltse le manuálisan!</translation>
</message> </message>

View File

@ -3528,12 +3528,12 @@
<translation type="unfinished">Aggiornamento in scaricamento, per favore sii paziente...</translation> <translation type="unfinished">Aggiornamento in scaricamento, per favore sii paziente...</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Update.cpp" line="425"/> <location filename="../../src/Dialog_Update.cpp" line="426"/>
<source>Update ready to install. Applicaion will quit...</source> <source>Update ready to install. Applicaion will quit...</source>
<translation type="unfinished">Aggiornamento pronto per l&apos;installazione. L&apos;Applicazione si chiuderà...</translation> <translation type="unfinished">Aggiornamento pronto per l&apos;installazione. L&apos;Applicazione si chiuderà...</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Update.cpp" line="433"/> <location filename="../../src/Dialog_Update.cpp" line="434"/>
<source>Update failed. Please try again or download manually!</source> <source>Update failed. Please try again or download manually!</source>
<translation type="unfinished">Aggiornamento Fallito. Per favore prova ancora o aggiorna manualmente!</translation> <translation type="unfinished">Aggiornamento Fallito. Per favore prova ancora o aggiorna manualmente!</translation>
</message> </message>

View File

@ -3509,12 +3509,12 @@
<translation type="unfinished"> . ...</translation> <translation type="unfinished"> . ...</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Update.cpp" line="425"/> <location filename="../../src/Dialog_Update.cpp" line="426"/>
<source>Update ready to install. Applicaion will quit...</source> <source>Update ready to install. Applicaion will quit...</source>
<translation type="unfinished"> . ...</translation> <translation type="unfinished"> . ...</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Update.cpp" line="433"/> <location filename="../../src/Dialog_Update.cpp" line="434"/>
<source>Update failed. Please try again or download manually!</source> <source>Update failed. Please try again or download manually!</source>
<translation type="unfinished"> . !</translation> <translation type="unfinished"> . !</translation>
</message> </message>

View File

@ -3582,12 +3582,12 @@
<translation type="unfinished">Pobieranie aktualizacji w toku, prosze czekać...</translation> <translation type="unfinished">Pobieranie aktualizacji w toku, prosze czekać...</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Update.cpp" line="425"/> <location filename="../../src/Dialog_Update.cpp" line="426"/>
<source>Update ready to install. Applicaion will quit...</source> <source>Update ready to install. Applicaion will quit...</source>
<translation type="unfinished">Aktualizacja gotowa do instalacji. Teraz program zostanie zamknięty...</translation> <translation type="unfinished">Aktualizacja gotowa do instalacji. Teraz program zostanie zamknięty...</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Update.cpp" line="433"/> <location filename="../../src/Dialog_Update.cpp" line="434"/>
<source>Update failed. Please try again or download manually!</source> <source>Update failed. Please try again or download manually!</source>
<translation type="unfinished">Aktualizacja zakończona niepowodzeniem. Prosze spróbować ponownie lub zainstalować ręcznie!</translation> <translation type="unfinished">Aktualizacja zakończona niepowodzeniem. Prosze spróbować ponownie lub zainstalować ręcznie!</translation>
</message> </message>

View File

@ -3554,12 +3554,12 @@
<translation>Скачиваю обновление...</translation> <translation>Скачиваю обновление...</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Update.cpp" line="425"/> <location filename="../../src/Dialog_Update.cpp" line="426"/>
<source>Update ready to install. Applicaion will quit...</source> <source>Update ready to install. Applicaion will quit...</source>
<translation>Обновление готово к установке. Завершение приложения...</translation> <translation>Обновление готово к установке. Завершение приложения...</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Update.cpp" line="433"/> <location filename="../../src/Dialog_Update.cpp" line="434"/>
<source>Update failed. Please try again or download manually!</source> <source>Update failed. Please try again or download manually!</source>
<translatorcomment>Фак май майнд</translatorcomment> <translatorcomment>Фак май майнд</translatorcomment>
<translation>Не могу установить обновление в автоматическом режиме. Повторите попытку или установите обновление вручную!</translation> <translation>Не могу установить обновление в автоматическом режиме. Повторите попытку или установите обновление вручную!</translation>

View File

@ -3565,12 +3565,12 @@
<translation>Uppdatering laddas ner, vänta...</translation> <translation>Uppdatering laddas ner, vänta...</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Update.cpp" line="425"/> <location filename="../../src/Dialog_Update.cpp" line="426"/>
<source>Update ready to install. Applicaion will quit...</source> <source>Update ready to install. Applicaion will quit...</source>
<translation>Uppdatering klar att installeras. Programmet kommer att avslutas...</translation> <translation>Uppdatering klar att installeras. Programmet kommer att avslutas...</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Update.cpp" line="433"/> <location filename="../../src/Dialog_Update.cpp" line="434"/>
<source>Update failed. Please try again or download manually!</source> <source>Update failed. Please try again or download manually!</source>
<translation>Uppdateringen misslyckades. Försök igen, eller ladda ner manuellt!</translation> <translation>Uppdateringen misslyckades. Försök igen, eller ladda ner manuellt!</translation>
</message> </message>

View File

@ -3509,12 +3509,12 @@
<translation>,...</translation> <translation>,...</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Update.cpp" line="425"/> <location filename="../../src/Dialog_Update.cpp" line="426"/>
<source>Update ready to install. Applicaion will quit...</source> <source>Update ready to install. Applicaion will quit...</source>
<translation>.退...</translation> <translation>.退...</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Update.cpp" line="433"/> <location filename="../../src/Dialog_Update.cpp" line="434"/>
<source>Update failed. Please try again or download manually!</source> <source>Update failed. Please try again or download manually!</source>
<translation>. !</translation> <translation>. !</translation>
</message> </message>

View File

@ -3557,12 +3557,12 @@
<translation>Йде завантаження оновлення, будь ласка, зачекайте...</translation> <translation>Йде завантаження оновлення, будь ласка, зачекайте...</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Update.cpp" line="425"/> <location filename="../../src/Dialog_Update.cpp" line="426"/>
<source>Update ready to install. Applicaion will quit...</source> <source>Update ready to install. Applicaion will quit...</source>
<translation>Оновлення готове до встановлення. Буде здйснено закриття додатку...</translation> <translation>Оновлення готове до встановлення. Буде здйснено закриття додатку...</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Update.cpp" line="433"/> <location filename="../../src/Dialog_Update.cpp" line="434"/>
<source>Update failed. Please try again or download manually!</source> <source>Update failed. Please try again or download manually!</source>
<translation>Збій оновлення. Будь ласка, спробуйте ще раз або завантажте оновлення самостійно!</translation> <translation>Збій оновлення. Будь ласка, спробуйте ще раз або завантажте оновлення самостійно!</translation>
</message> </message>

View File

@ -3509,12 +3509,12 @@
<translation>,...</translation> <translation>,...</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Update.cpp" line="425"/> <location filename="../../src/Dialog_Update.cpp" line="426"/>
<source>Update ready to install. Applicaion will quit...</source> <source>Update ready to install. Applicaion will quit...</source>
<translation>退...</translation> <translation>退...</translation>
</message> </message>
<message> <message>
<location filename="../../src/Dialog_Update.cpp" line="433"/> <location filename="../../src/Dialog_Update.cpp" line="434"/>
<source>Update failed. Please try again or download manually!</source> <source>Update failed. Please try again or download manually!</source>
<translation> !</translation> <translation> !</translation>
</message> </message>

View File

@ -34,8 +34,8 @@
#define VER_LAMEXP_MINOR_HI 1 #define VER_LAMEXP_MINOR_HI 1
#define VER_LAMEXP_MINOR_LO 2 #define VER_LAMEXP_MINOR_LO 2
#define VER_LAMEXP_TYPE Beta #define VER_LAMEXP_TYPE Beta
#define VER_LAMEXP_PATCH 3 #define VER_LAMEXP_PATCH 4
#define VER_LAMEXP_BUILD 1781 #define VER_LAMEXP_BUILD 1784
#define VER_LAMEXP_CONFG 1700 #define VER_LAMEXP_CONFG 1700
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////

View File

@ -82,8 +82,12 @@ const bool AbstractEncoder::needsTimingInfo(void)
//Does this text contain Non-ASCII characters? //Does this text contain Non-ASCII characters?
bool AbstractEncoder::isUnicode(const QString &original) bool AbstractEncoder::isUnicode(const QString &original)
{ {
QString asLatin1 = QString::fromLatin1(original.toLatin1().constData()); if(!original.isEmpty())
return (wcscmp(MUTILS_WCHR(original), MUTILS_WCHR(asLatin1)) != 0); {
QString asLatin1 = QString::fromLatin1(original.toLatin1().constData());
return (wcscmp(MUTILS_WCHR(original), MUTILS_WCHR(asLatin1)) != 0);
}
return false;
} }
//Remove "problematic" characters from tag //Remove "problematic" characters from tag

View File

@ -201,22 +201,22 @@ bool MP3Encoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo
bool bUseUCS2 = false; bool bUseUCS2 = false;
if(!metaInfo.title().isEmpty() && isUnicode(metaInfo.title())) bUseUCS2 = true; if(isUnicode(metaInfo.title())) bUseUCS2 = true;
if(!metaInfo.artist().isEmpty() && isUnicode(metaInfo.artist())) bUseUCS2 = true; if(isUnicode(metaInfo.artist())) bUseUCS2 = true;
if(!metaInfo.album().isEmpty() && isUnicode(metaInfo.album())) bUseUCS2 = true; if(isUnicode(metaInfo.album())) bUseUCS2 = true;
if(!metaInfo.genre().isEmpty() && isUnicode(metaInfo.genre())) bUseUCS2 = true; if(isUnicode(metaInfo.genre())) bUseUCS2 = true;
if(!metaInfo.comment().isEmpty() && isUnicode(metaInfo.comment())) bUseUCS2 = true; if(isUnicode(metaInfo.comment())) bUseUCS2 = true;
if(bUseUCS2) args << "--id3v2-ucs2"; //Must specify this BEFORE "--tt" and friends! if(bUseUCS2) args << "--id3v2-ucs2"; //Must specify this BEFORE "--tt" and friends!
if(!metaInfo.title().isEmpty()) args << "--tt" << cleanTag(metaInfo.title()); if(!metaInfo.title().isEmpty()) args << "--tt" << cleanTag(metaInfo.title());
if(!metaInfo.artist().isEmpty()) args << "--ta" << cleanTag(metaInfo.artist()); if(!metaInfo.artist().isEmpty()) args << "--ta" << cleanTag(metaInfo.artist());
if(!metaInfo.album().isEmpty()) args << "--tl" <<cleanTag( metaInfo.album()); if(!metaInfo.album().isEmpty()) args << "--tl" << cleanTag( metaInfo.album());
if(!metaInfo.genre().isEmpty()) args << "--tg" << cleanTag(metaInfo.genre()); if(!metaInfo.genre().isEmpty()) args << "--tg" << cleanTag(metaInfo.genre());
if(!metaInfo.comment().isEmpty()) args << "--tc" << cleanTag(metaInfo.comment()); if(!metaInfo.comment().isEmpty()) args << "--tc" << cleanTag(metaInfo.comment());
if(metaInfo.year()) args << "--ty" << QString::number(metaInfo.year()); if(metaInfo.year()) args << "--ty" << QString::number(metaInfo.year());
if(metaInfo.position()) args << "--tn" << QString::number(metaInfo.position()); if(metaInfo.position()) args << "--tn" << QString::number(metaInfo.position());
if(!metaInfo.cover().isEmpty()) args << "--ti" << QDir::toNativeSeparators(metaInfo.cover()); if(!metaInfo.cover().isEmpty()) args << "--ti" << QDir::toNativeSeparators(metaInfo.cover());
if(!m_configCustomParams.isEmpty()) args << m_configCustomParams.split(" ", QString::SkipEmptyParts); if(!m_configCustomParams.isEmpty()) args << m_configCustomParams.split(" ", QString::SkipEmptyParts);

View File

@ -176,13 +176,15 @@ bool OpusEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInf
args << QString("--bitrate") << QString::number(qBound(8, (m_configBitrate + 1) * 8, 256)); args << QString("--bitrate") << QString::number(qBound(8, (m_configBitrate + 1) * 8, 256));
if(!metaInfo.title().isEmpty()) args << "--title" << cleanTag(metaInfo.title()); if(!metaInfo.title().isEmpty()) args << "--title" << cleanTag(metaInfo.title());
if(!metaInfo.artist().isEmpty()) args << "--artist" << cleanTag(metaInfo.artist()); if(!metaInfo.artist().isEmpty()) args << "--artist" << cleanTag(metaInfo.artist());
if(!metaInfo.album().isEmpty()) args << "--album" << cleanTag(metaInfo.album()); if(!metaInfo.album().isEmpty()) args << "--album" << cleanTag(metaInfo.album());
if(!metaInfo.genre().isEmpty()) args << "--genre" << cleanTag(metaInfo.genre()); if(!metaInfo.genre().isEmpty()) args << "--genre" << cleanTag(metaInfo.genre());
if(metaInfo.year()) args << "--date" << QString::number(metaInfo.year()); if(metaInfo.year()) args << "--date" << QString::number(metaInfo.year());
if(metaInfo.position()) args << "--comment" << QString("tracknumber=%1").arg(QString::number(metaInfo.position())); 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.comment().isEmpty()) args << "--comment" << QString("comment=%1").arg(cleanTag(metaInfo.comment()));
if(!metaInfo.cover().isEmpty()) args << "--picture" << QDir::toNativeSeparators(metaInfo.cover());
if(!m_configCustomParams.isEmpty()) args << m_configCustomParams.split(" ", QString::SkipEmptyParts); if(!m_configCustomParams.isEmpty()) args << m_configCustomParams.split(" ", QString::SkipEmptyParts);