diff --git a/etc/Translation/Blank.ts b/etc/Translation/Blank.ts index 8be229e1..53ca6d04 100644 --- a/etc/Translation/Blank.ts +++ b/etc/Translation/Blank.ts @@ -663,7 +663,7 @@ - + Source Files @@ -690,7 +690,7 @@ - + Output Directory @@ -726,7 +726,7 @@ - + Meta Data @@ -767,7 +767,7 @@ - + Compression @@ -843,7 +843,7 @@ - + Advanced Options @@ -1213,7 +1213,7 @@ - + Rename Output Files @@ -1223,199 +1223,209 @@ - + + Rename Pattern: + + + + + Example File Name: + + + + Reset Advanced Options - + Encode Now! - - + + About... - + Exit Program - + File - + ? - + View - + Style - + Language - + Tools - + Configuration - + Quit - + Open File(s)... - - + + Visit Official Web-Site - - - - + + + + Check for Updates - + Open Folder... - + Clear All - + Plastique - + Cleanlooks - + Windows Vista ("Aero") - + Windows Classic - + Windows XP ("Luna") - - + + Disable Update Reminder - - + + Disable Sound Effects - + Install WMA Decoder - + Disable Nero AAC Notifications - + Show DropBox - + From File... - + Encode! - + Disable Shell Integration - + Frequently Asked Questions - + Changelog - + Translator's Guide - + Help && Support - + Open Folder Recursively... - + Check for Beta Updates - + Import Cue Sheet - + Disable Slow Startup Notifications @@ -1426,7 +1436,7 @@ - + Access Denied @@ -1521,560 +1531,565 @@ - + License Declined - + You have declined the license. Consequently the application will exit now! - + Goodbye! - + LameXP - Expired - + This demo (pre-release) version of LameXP has expired at %1. - + LameXP is free software and release versions won't expire. - - + + Exit Program - + It seems that a bogus anti-virus software is slowing down the startup of LameXP. - + Please refer to the %1 document for details and solutions! - + Slow Startup - - - - + + + + Discard - - + + Don't Show Again - + Urgent Update - + Your version of LameXP is more than a year old. Time for an update! - - - + + + Update Reminder - + Your last update check was more than 14 days ago. Check for updates now? - + Your did not check for LameXP updates yet. Check for updates now? - + Postpone - + LameXP detected that your version of the Nero AAC encoder is outdated! - + The current version available is %1 (or later), but you still have version %2 installed. - + n/a - + You can download the latest version of the Nero AAC encoder from the Nero website at: - + AAC Encoder Outdated - + The Nero AAC encoder could not be found. AAC encoding support will be disabled. - + Please put 'neroAacEnc.exe', 'neroAacDec.exe' and 'neroAacTag.exe' into the LameXP directory! - + Your LameXP directory is located here: - + You can download the Nero AAC encoder for free from the official Nero website at: - + AAC Support Disabled - - - + + + LameXP - + You must add at least one file to the list before proceeding! - + Not Found - + Your currently selected TEMP folder does not exist anymore: - + Restore Default - + Cancel - + Low Diskspace Warning - + There are less than %1 GB of free diskspace available on your system's TEMP folder. - + It is highly recommend to free up more diskspace before proceeding with the encode! - + Your TEMP folder is located at: - + Abort Encoding Process - + Clean Disk Now - + Ignore - + Low Diskspace - + You are proceeding with low diskspace. Problems might occur! - + Sorry, an unsupported encoder has been chosen! - + Cannot write to the selected output directory. - + Please choose a different directory! - + Load Translation - + Translation Files - + Do you really want to disable the update reminder? - - - - - - + + + + + + Yes - - - - - - + + + + + + No - + The update reminder has been disabled. - + Please remember to check for updates at regular intervals! - + The update reminder has been re-enabled. - + Do you really want to disable all sound effects? - - + + Sound Effects - + All sound effects have been disabled. - + The sound effects have been re-enabled. - - - + + + Nero AAC Notifications - + Do you really want to disable all Nero AAC Encoder notifications? - + All Nero AAC Encoder notifications have been disabled. - + The Nero AAC Encoder notifications have been re-enabled. - - - + + + Slow Startup Notifications - + Do you really want to disable the slow startup notifications? - + The slow startup notifications have been disabled. - + The slow startup notifications have been re-enabled. - + Open Cue Sheet - + Cue Sheet File - - - + + + Beta Updates - + Do you really want LameXP to check for Beta (pre-release) updates? - + LameXP will check for Beta (pre-release) updates from now on. - + Check Now - + LameXP will <i>not</i> check for Beta (pre-release) updates from now on. - - - + + + Shell Integration - + Do you really want to disable the LameXP shell integration? - + The LameXP shell integration has been disabled. - + The LameXP shell integration has been re-enabled. - - + + Add file(s) - - + + Add Folder - - + + New Folder - + Enter the name of the new folder: - + Failed to create folder - + The new folder could not be created: - + Drive is read-only or insufficient access rights! - - - - + + + + Quality Level %1 - - - + + + Compression %1 - - - + + + Uncompressed - + Best Quality (Very Slow) - + High Quality (Recommended) - + Average Quality (Default) - + Low Quality (Fast) - + Poor Quality (Very Fast) - + File name without extension - + Track number with leading zero - + Track title - + Artist name - + Album name - + Year with (at least) four digits - + Comment - + + Characters forbidden in file names: + + + + Rename Macros - + %1 Instance(s) - + Cannot write to the selected directory. Please choose another directory! - + Already Running - + LameXP is already running, please use the running instance! @@ -2363,85 +2378,110 @@ ProcessThread - + Starting... - + Not found! - + The format of this file is NOT supported: - + Container Format: - + Audio Format: - + Unsupported! - + Done. - + Aborted! - + Failed! - + Encoding - + Filtering - + Decoding - + The source audio file could not be found: - + The source audio file could not be opened for reading: - + The target output directory doesn't exist and could NOT be created: - + The target output directory is NOT writable: + + + Unknown File Name + + + + + Unknown Title + + + + + Unknown Artist + + + + + Unknown Album + + + + + Unknown Comment + + ProcessingDialog diff --git a/etc/Translation/LameXP_DE.ts b/etc/Translation/LameXP_DE.ts index b595840e..ee9c3e43 100644 --- a/etc/Translation/LameXP_DE.ts +++ b/etc/Translation/LameXP_DE.ts @@ -1606,6 +1606,18 @@ File name without extension Dateiname ohne Erweiterung + + Rename Pattern: + Umbenennungsschema: + + + Example File Name: + Beispiel Dateiname: + + + Characters forbidden in file names: + Verbotene Zeichen in Dateinamen: + MetaInfo @@ -1894,6 +1906,26 @@ The target output directory is NOT writable: In das Zielverzeichnis kann nicht geschrieben werden: + + Unknown File Name + Unbekannter Dateiname + + + Unknown Title + Unbekannter Titel + + + Unknown Artist + Unbekannter Künstler + + + Unknown Album + Unbekanntes Album + + + Unknown Comment + Unbekannter Kommentar + ProcessingDialog diff --git a/etc/Translation/LameXP_ES.ts b/etc/Translation/LameXP_ES.ts index f28102ba..b535464e 100644 --- a/etc/Translation/LameXP_ES.ts +++ b/etc/Translation/LameXP_ES.ts @@ -1605,6 +1605,18 @@ File name without extension + + Rename Pattern: + + + + Example File Name: + + + + Characters forbidden in file names: + + MetaInfo @@ -1893,6 +1905,26 @@ The target output directory is NOT writable: NO se puede escribir en la carpeta de salida: + + Unknown File Name + + + + Unknown Title + Título desconocido + + + Unknown Artist + Artista desconocido + + + Unknown Album + + + + Unknown Comment + + ProcessingDialog diff --git a/etc/Translation/LameXP_FR.ts b/etc/Translation/LameXP_FR.ts index 802b9dc1..51326728 100644 --- a/etc/Translation/LameXP_FR.ts +++ b/etc/Translation/LameXP_FR.ts @@ -1615,6 +1615,18 @@ Ouvrir le dossier récursivement... File name without extension + + Rename Pattern: + + + + Example File Name: + + + + Characters forbidden in file names: + + MetaInfo @@ -1903,6 +1915,26 @@ Ouvrir le dossier récursivement... The target output directory is NOT writable: Le répertoire de sortie cible n'est pas accessible en écriture: + + Unknown File Name + + + + Unknown Title + Titre inconnu + + + Unknown Artist + Artiste inconnu + + + Unknown Album + + + + Unknown Comment + + ProcessingDialog diff --git a/etc/Translation/LameXP_IT.ts b/etc/Translation/LameXP_IT.ts index 8eb101ca..5f49c7a2 100644 --- a/etc/Translation/LameXP_IT.ts +++ b/etc/Translation/LameXP_IT.ts @@ -1606,6 +1606,18 @@ File name without extension + + Rename Pattern: + + + + Example File Name: + + + + Characters forbidden in file names: + + MetaInfo @@ -1894,6 +1906,26 @@ The target output directory is NOT writable: La directory di destinazione è a SOLA lettura: + + Unknown File Name + + + + Unknown Title + + + + Unknown Artist + + + + Unknown Album + + + + Unknown Comment + + ProcessingDialog diff --git a/etc/Translation/LameXP_KR.ts b/etc/Translation/LameXP_KR.ts index d0432c9f..d5bf6501 100644 --- a/etc/Translation/LameXP_KR.ts +++ b/etc/Translation/LameXP_KR.ts @@ -1605,6 +1605,18 @@ File name without extension + + Rename Pattern: + + + + Example File Name: + + + + Characters forbidden in file names: + + MetaInfo @@ -1893,6 +1905,26 @@ The target output directory is NOT writable: 대상 출력 디렉토리에 쓰기 불가: + + Unknown File Name + + + + Unknown Title + + + + Unknown Artist + + + + Unknown Album + + + + Unknown Comment + + ProcessingDialog diff --git a/etc/Translation/LameXP_RU.ts b/etc/Translation/LameXP_RU.ts index cd993844..ae27c4f5 100644 --- a/etc/Translation/LameXP_RU.ts +++ b/etc/Translation/LameXP_RU.ts @@ -1611,6 +1611,18 @@ File name without extension + + Rename Pattern: + + + + Example File Name: + + + + Characters forbidden in file names: + + MetaInfo @@ -1900,6 +1912,26 @@ The target output directory is NOT writable: Папка для выходных файлов недоступна для записи: + + Unknown File Name + + + + Unknown Title + Неизвестное Название + + + Unknown Artist + Неизвестный Артист + + + Unknown Album + + + + Unknown Comment + + ProcessingDialog diff --git a/etc/Translation/LameXP_UK.ts b/etc/Translation/LameXP_UK.ts index 51b0aa70..9c16e132 100644 --- a/etc/Translation/LameXP_UK.ts +++ b/etc/Translation/LameXP_UK.ts @@ -1606,6 +1606,18 @@ File name without extension + + Rename Pattern: + + + + Example File Name: + + + + Characters forbidden in file names: + + MetaInfo @@ -1894,6 +1906,26 @@ The target output directory is NOT writable: До вихідної теки неможливо проводити запис: + + Unknown File Name + + + + Unknown Title + Невідомий заголовок + + + Unknown Artist + Невідомий виконавець + + + Unknown Album + + + + Unknown Comment + + ProcessingDialog diff --git a/gui/MainWindow.ui b/gui/MainWindow.ui index e3e925bb..a383c8c6 100644 --- a/gui/MainWindow.ui +++ b/gui/MainWindow.ui @@ -1068,7 +1068,7 @@ 0 0 604 - 1365 + 1393 @@ -2827,7 +2827,7 @@ - + Qt::Horizontal @@ -2843,7 +2843,7 @@ - + Qt::Horizontal @@ -2859,7 +2859,7 @@ - + false @@ -2877,7 +2877,7 @@ - + Qt::Vertical @@ -2893,7 +2893,7 @@ - + Qt::Vertical @@ -2909,20 +2909,14 @@ - + - - - 0 - 0 - - Rename Output Files - + Qt::Vertical @@ -2938,8 +2932,14 @@ - + + + + 0 + 0 + + <a href="reset">Reset</a> &nbsp; <a href="#">Show List of Macros</a> @@ -2948,6 +2948,64 @@ + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 1 + + + + + + + + + 0 + 0 + + + + Rename Pattern: + + + + + + + + 0 + 0 + + + + Example File Name: + + + + + + + + 0 + 0 + + + + QFrame::StyledPanel + + + + + + @@ -3646,6 +3704,11 @@ + + + + + diff --git a/res/localization/LameXP_DE.qm b/res/localization/LameXP_DE.qm index f76af202..61e82227 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 e7e2cb15..4e5cb180 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 bbae5b11..4d1f513c 100644 Binary files a/res/localization/LameXP_FR.qm and b/res/localization/LameXP_FR.qm differ diff --git a/res/localization/LameXP_RU.qm b/res/localization/LameXP_RU.qm index e240f890..2d5fb466 100644 Binary files a/res/localization/LameXP_RU.qm and b/res/localization/LameXP_RU.qm differ diff --git a/res/localization/LameXP_UK.qm b/res/localization/LameXP_UK.qm index 0138b2b4..eb0c9341 100644 Binary files a/res/localization/LameXP_UK.qm and b/res/localization/LameXP_UK.qm differ diff --git a/src/Config.h b/src/Config.h index add1e8e4..d6113714 100644 --- a/src/Config.h +++ b/src/Config.h @@ -30,7 +30,7 @@ #define VER_LAMEXP_MINOR_LO 3 #define VER_LAMEXP_TYPE Alpha #define VER_LAMEXP_PATCH 7 -#define VER_LAMEXP_BUILD 618 +#define VER_LAMEXP_BUILD 621 /////////////////////////////////////////////////////////////////////////////// // Tools versions diff --git a/src/Dialog_MainWindow.cpp b/src/Dialog_MainWindow.cpp index efc3989a..c79632c4 100644 --- a/src/Dialog_MainWindow.cpp +++ b/src/Dialog_MainWindow.cpp @@ -731,6 +731,7 @@ void MainWindow::changeEvent(QEvent *e) updateEncoder(m_settings->compressionEncoder()); updateLameAlgoQuality(sliderLameAlgoQuality->value()); updateMaximumInstances(sliderMaxInstances->value()); + renameOutputPatternChanged(lineEditRenamePattern->text()); //Re-install shell integration if(m_settings->shellIntegrationEnabled()) @@ -2741,15 +2742,15 @@ void MainWindow::renameOutputPatternChanged(void) */ void MainWindow::renameOutputPatternChanged(const QString &text) { - QString pattern(text); + QString pattern(text.simplified()); - pattern.remove("", Qt::CaseInsensitive); - pattern.remove("", Qt::CaseInsensitive); - pattern.remove("", Qt::CaseInsensitive); - pattern.remove("<Artist>", Qt::CaseInsensitive); - pattern.remove("<Album>", Qt::CaseInsensitive); - pattern.remove("<Year>", Qt::CaseInsensitive); - pattern.remove("<Comment>", Qt::CaseInsensitive); + pattern.replace("<BaseName>", "The_White_Stripes_-_Fell_In_Love_With_A_Girl", Qt::CaseInsensitive); + pattern.replace("<TrackNo>", "04", Qt::CaseInsensitive); + pattern.replace("<Title>", "Fell In Love With A Girl", Qt::CaseInsensitive); + pattern.replace("<Artist>", "The White Stripes", Qt::CaseInsensitive); + pattern.replace("<Album>", "White Blood Cells", Qt::CaseInsensitive); + pattern.replace("<Year>", "2001", Qt::CaseInsensitive); + pattern.replace("<Comment>", "Encoded by LameXP", Qt::CaseInsensitive); if(pattern.compare(lamexp_clean_filename(pattern))) { @@ -2767,6 +2768,8 @@ void MainWindow::renameOutputPatternChanged(const QString &text) SET_TEXT_COLOR(lineEditRenamePattern, Qt::black); } } + + labelRanameExample->setText(lamexp_clean_filename(pattern)); } /* @@ -2790,7 +2793,9 @@ void MainWindow::showRenameMacros(const QString &text) message += QString(format).arg("Album", tr("Album name")); message += QString(format).arg("Year", tr("Year with (at least) four digits")); message += QString(format).arg("Comment", tr("Comment")); - message += "</table><br>"; + message += "</table><br><br>"; + message += QString("%1<br>").arg(tr("Characters forbidden in file names:")); + message += "<b><tt>\\ / : * ? < > |<br>"; QMessageBox::information(this, tr("Rename Macros"), message, tr("Discard")); } diff --git a/src/Thread_Process.cpp b/src/Thread_Process.cpp index e55608df..b6898676 100644 --- a/src/Thread_Process.cpp +++ b/src/Thread_Process.cpp @@ -44,6 +44,7 @@ #include <stdlib.h> #define DIFF(X,Y) ((X > Y) ? (X-Y) : (Y-X)) +#define STRDEF(STR,DEF) ((!STR.isEmpty()) ? STR : DEF) QMutex *ProcessThread::m_mutex_genFileName = NULL; @@ -306,13 +307,13 @@ QString ProcessThread::generateOutFileName(void) } QString fileName = m_renamePattern; - fileName.replace("<BaseName>", baseName, Qt::CaseInsensitive); + fileName.replace("<BaseName>", STRDEF(baseName, tr("Unknown File Name")), Qt::CaseInsensitive); fileName.replace("<TrackNo>", QString().sprintf("%02d", m_audioFile.filePosition()), Qt::CaseInsensitive); - fileName.replace("<Title>", m_audioFile.fileName() , Qt::CaseInsensitive); - fileName.replace("<Artist>", m_audioFile.fileArtist(), Qt::CaseInsensitive); - fileName.replace("<Album>", m_audioFile.fileAlbum(), Qt::CaseInsensitive); + fileName.replace("<Title>", STRDEF(m_audioFile.fileName(), tr("Unknown Title")) , Qt::CaseInsensitive); + fileName.replace("<Artist>", STRDEF(m_audioFile.fileArtist(), tr("Unknown Artist")), Qt::CaseInsensitive); + fileName.replace("<Album>", STRDEF(m_audioFile.fileAlbum(), tr("Unknown Album")), Qt::CaseInsensitive); fileName.replace("<Year>", QString().sprintf("%04d", m_audioFile.fileYear()), Qt::CaseInsensitive); - fileName.replace("<Comment>", m_audioFile.fileComment(), Qt::CaseInsensitive); + fileName.replace("<Comment>", STRDEF(m_audioFile.fileComment(), tr("Unknown Comment")), Qt::CaseInsensitive); fileName = lamexp_clean_filename(fileName).simplified(); QString outFileName = QString("%1/%2.%3").arg(targetDir.canonicalPath(), fileName, m_encoder->extension());