diff --git a/LameXP_VS2013.vcxproj b/LameXP_VS2013.vcxproj index dc7825be..485da211 100644 --- a/LameXP_VS2013.vcxproj +++ b/LameXP_VS2013.vcxproj @@ -317,6 +317,7 @@ del "$(TargetDir)imageformats\q???d4.dll" + @@ -381,6 +382,7 @@ del "$(TargetDir)imageformats\q???d4.dll" + @@ -571,6 +573,17 @@ del "$(TargetDir)imageformats\q???d4.dll" $(SolutionDir)tmp\MOC_%(Filename).cpp;%(Outputs) $(SolutionDir)tmp\MOC_%(Filename).cpp;%(Outputs) + + "$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)" + "$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)" + "$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)" + MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp" + MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp" + MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp" + $(SolutionDir)tmp\MOC_%(Filename).cpp;%(Outputs) + $(SolutionDir)tmp\MOC_%(Filename).cpp;%(Outputs) + $(SolutionDir)tmp\MOC_%(Filename).cpp;%(Outputs) + "$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)" diff --git a/LameXP_VS2013.vcxproj.filters b/LameXP_VS2013.vcxproj.filters index 61cc9e9d..1d09f0c2 100644 --- a/LameXP_VS2013.vcxproj.filters +++ b/LameXP_VS2013.vcxproj.filters @@ -424,6 +424,12 @@ Generated Files\QRC + + Source Files\Encoders + + + Generated Files\MOC + @@ -558,6 +564,9 @@ Header Files\Misc\3rd Party + + Header Files\Encoders + diff --git a/doc/Changelog.html b/doc/Changelog.html index c89f1aea..c185e7a3 100644 --- a/doc/Changelog.html +++ b/doc/Changelog.html @@ -21,10 +21,12 @@ a:visited { color: #0000EE; }
  • Upgraded build environment to Microsoft Visual Studio 2013 RTM
  • Complete overhaul of the file analyzer, resulting in up to 2.5x faster file import speed
  • Reworked the application initialization code, resulting in notably faster startup speed +
  • Added encoding support for Monkey's Audio format, including APEv2 tagging support
  • Improved file analyzer to retain the original ordering of files imported from a playlist
  • Improved internal encoder API, so each encoder can define its own configuration options
  • Improved splash screen and working banner, using "sheet of glass" effect on supported OS
  • Improved dropbox widget, including proper multi-monitor support +
  • Updated Monkey's Audio binary to v4.12 (2013-06-26)
  • Updated mpg123 decoder to v1.16.0 (2013-10-06), compiled with GCC 4.8.1
  • Updated GNU Wget binary to v1.14.0 (2012-08-05), compiled with GCC 4.8.1
  • Updated GnuPG to v1.4.15 (2013-10-05), compiled with GCC 4.8.1 diff --git a/etc/Translation/Blank.ts b/etc/Translation/Blank.ts index 15e89bb5..bb0f5750 100644 --- a/etc/Translation/Blank.ts +++ b/etc/Translation/Blank.ts @@ -861,7 +861,7 @@ - + Source Files @@ -882,13 +882,13 @@ - + Show Details - + Output Directory @@ -939,7 +939,7 @@ - + Meta Data @@ -960,7 +960,7 @@ - + Reset @@ -981,7 +981,7 @@ - + Compression @@ -991,1613 +991,1618 @@ - + MP3 - + Ogg/Vorbis - + AAC/MP4 - + PCM/Wave - + A/52 - + DCA - + FLAC - + Opus - + + APE + + + + Rate Control Method - + Quality-based (VBR) - + Average Bitrate (ABR) - + Constant Bitrate (CBR) - + Quality / Bitrate - + Minimum - + Maximum - + Show Help - - + + Advanced Options - + Bitrate Management (LAME and OggEnc2) - + Enable Bitrate Management - + Minimum (kbps): - + Maximum (kbps): - + LAME Algorithm Quality - + Faster Processing - + Better quality - + Warning: Audio quality will be very poor. Please do <u>not</u> complain about audio quality! - + Warning: Processing speed will be very slow. Please do <u>not</u> complain about processing speed! - + Channel Mode / Sampling Rate - - + + Auto Select (Default) - + Joint Stereo - + Forced Joint Stereo - + Simple - + Dual Mono - + Mono - + MP3 Channel Mode: - + Sampling Rate (Hz): - + 16.000 - + 22.050 - + 24.000 - + 32.000 - + 44.100 - + 48.000 - + Enforce Stereo Downmix of Surround (Multi-Channel) Sources - + AAC Encoder-Options - + Enable 2-Pass Processing (ABR Mode) - + Select AAC Profile: - + Auto Select (Recommended) - + Enforce LC-AAC - + Enforce HE-AAC (AAC + SBR) - + Enforce HE-AAC v2 (AAC + SBR + PS) - + Volume Normalization - + Enable Normalization Filter - + Peak Volume (dB): - + None - + Peak Level - + RMS Level - + Equalization Mode: - + Tone Adjustment - + Adjust Treble (dB): - + Adjust Bass (dB): - + Custom Encoder Parameters - - - - - - + + + + + + You can enter custom parameters here! - + Lame MP3: - + OggEnc2: - + MPEG-4 AAC: - + FLAC: - + Warning: Custom parameters won't be checked at all. Use them at your own risk !!! - + Aften A/52: - + OpusEnc: - + Multi-Threading - + Choose the number of parallel instances based on the number of CPU cores (Recommended) - + Fewer Instances - + More Instances - + Temp Directory - + Browse... - + Store temporary files in your system's default TEMP directory (Recommended) - + Aften A/52 Options - + Film Light - + Film Standard - + Music Light - + Music Standard - + Speech - + None (Default) - + Auto Select - + 1+1 (Ch1,Ch2) - + 1/0 (C) - + 2/0 (L,R) - + 3/0 (L,R,C) - + 2/1 (L,R,S) - + 3/1 (L,R,C,S) - + 2/2 (L,R,SL,SR) - + 3/2 (L,R,C,SL,SR) - + Audio Coding Mode: - + Dynamic Range Compression: - + Fast Bit Allocation (Less Accurate) - + Exponent Search Size: - + Rename Output Files - + Enter the pattern to rename the output files here! - + Rename Output Files - + <a href="reset">Reset</a> &nbsp; <a href="#">Show List of Macros</a> - + Rename Pattern: - + Example File Name: - + Opus Encoder Options - + Encoding Complexity: - + Frame Size: - + Disable Opus-Decoder Resampling (i.e. always output as 48.000 Hz) - + Overwrite Mode - + Overwrite Existing File - + Skip File - + Keep Both Files (Default) - + If Target File Already Exists: - + Reset Advanced Options - + Encode Now! - - + + About... - + Exit Program - + File - + ? - + View - + Style - + Language - + Tools - + Configuration - + Quit - + Open File(s)... - + Official LameXP Project Web-Site - + 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 - + Hibernate Computer On Shutdown - + MuldeR's OpenSource Projects - + Adding file(s), please wait... - - + + Access Denied - + %n file(s) have been rejected, because read access was not granted! - + This usually means the file is locked by another process. - + CDDA Files - + %n file(s) have been rejected, because they are dummy CDDA files! - + Sorry, LameXP cannot extract audio tracks from an Audio-CD at present. - + We recommend using %1 for that purpose. - + Cue Sheet - + %n file(s) have been rejected, because they appear to be Cue Sheet images! - + Please use LameXP's Cue Sheet wizard for importing Cue Sheet files. - + Files Rejected - + %n file(s) have been rejected, because the file format could not be recognized! - + This usually means the file is damaged or the file format is not supported. - + Scanning folder(s) for files, please wait... - + DEMO VERSION - + Initializing directory outline, please be patient... - + You can drop in audio files here! - + Open File in External Application - + Browse File Location - + Browse Selected Folder - + Refresh Directory Outline - + Go To Parent Directory - + Bookmark Current Output Folder - + Export Meta Tags to CSV File - + Import Meta Tags from CSV File - + 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! - - + + Ignore - + Skipping update check this time, please be patient... - - - + + + 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: - + (Hint: Please ignore the name of the downloaded ZIP file and check the included 'changelog.txt' instead!) - + 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 - + 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: - + Low Diskspace Warning - + Abort Encoding Process - + Clean Disk Now - + 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. - - + + Hibernate Computer - + Do you really want the computer to be hibernated on shutdown? - + LameXP will hibernate the computer on shutdown from now on. - + LameXP will <i>not</i> hibernate the computer on shutdown 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 - + Loading dropped files or folders, please wait... - - + + Save CSV file - - - - + + + + CSV File - - - - + + + + CSV Export - + Sorry, there are no meta tags that can be exported! - + Sorry, failed to open CSV file for writing! - + Sorry, failed to write to the CSV file! - + The CSV files was created successfully! - - + + Open CSV file - - - - - + + + + + CSV Import - + Sorry, failed to open CSV file for reading! - + Sorry, failed to read from the CSV file! - + Sorry, the CSV file does not contain any known fields! - + CSV file is incomplete. Not all files were updated! - + The CSV files was imported successfully! - - + + 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! - + Current Encoder: %1 - - + + Quality Level %1 - + Compression %1 - + Uncompressed - + Best Quality (Slow) - + High Quality (Recommended) - + Acceptable 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 - + %n Instance(s) - + Cannot write to the selected directory. Please choose another directory! - + Overwrite Mode - + Warning: This mode may overwrite existing files with no way to revert! - + Continue - + Revert - + Already Running - + LameXP is already running, please use the running instance! diff --git a/etc/Translation/LameXP_DE.ts b/etc/Translation/LameXP_DE.ts index 0fa3610e..e68be8ae 100644 --- a/etc/Translation/LameXP_DE.ts +++ b/etc/Translation/LameXP_DE.ts @@ -2022,6 +2022,10 @@ Loading dropped files or folders, please wait... Abgelegte Dateien werden geladen, bitte warten... + + APE + + MetaInfo diff --git a/etc/Translation/LameXP_EN.ts b/etc/Translation/LameXP_EN.ts index de0f54ca..efee8a70 100644 --- a/etc/Translation/LameXP_EN.ts +++ b/etc/Translation/LameXP_EN.ts @@ -31,7 +31,7 @@ MainWindow - + %n file(s) have been rejected, because read access was not granted! %n file have been rejected, because read access was not granted! @@ -39,7 +39,7 @@ - + %n file(s) have been rejected, because they are dummy CDDA files! %n file have been rejected, because they are dummy CDDA files! @@ -47,7 +47,7 @@ - + %n file(s) have been rejected, because they appear to be Cue Sheet images! %n file have been rejected, because they appear to be Cue Sheet images! @@ -55,7 +55,7 @@ - + %n file(s) have been rejected, because the file format could not be recognized! %n file have been rejected, because the file format could not be recognized! @@ -63,7 +63,7 @@ - + %n Instance(s) %n Instance diff --git a/etc/Translation/LameXP_ES.ts b/etc/Translation/LameXP_ES.ts index f9fc1f01..c78634c4 100644 --- a/etc/Translation/LameXP_ES.ts +++ b/etc/Translation/LameXP_ES.ts @@ -2021,6 +2021,10 @@ Loading dropped files or folders, please wait... + + APE + + MetaInfo diff --git a/etc/Translation/LameXP_FR.ts b/etc/Translation/LameXP_FR.ts index 6e234817..6d3ddc06 100644 --- a/etc/Translation/LameXP_FR.ts +++ b/etc/Translation/LameXP_FR.ts @@ -2030,6 +2030,10 @@ Ouvrir le dossier récursivement... Loading dropped files or folders, please wait... + + APE + + MetaInfo diff --git a/etc/Translation/LameXP_IT.ts b/etc/Translation/LameXP_IT.ts index a1963986..144b42e4 100644 --- a/etc/Translation/LameXP_IT.ts +++ b/etc/Translation/LameXP_IT.ts @@ -2022,6 +2022,10 @@ Loading dropped files or folders, please wait... + + APE + + MetaInfo diff --git a/etc/Translation/LameXP_KR.ts b/etc/Translation/LameXP_KR.ts index e3c93ec6..4b37f179 100644 --- a/etc/Translation/LameXP_KR.ts +++ b/etc/Translation/LameXP_KR.ts @@ -2014,6 +2014,10 @@ Loading dropped files or folders, please wait... + + APE + + MetaInfo diff --git a/etc/Translation/LameXP_PL.ts b/etc/Translation/LameXP_PL.ts index 1dfb3a1f..da1db550 100644 --- a/etc/Translation/LameXP_PL.ts +++ b/etc/Translation/LameXP_PL.ts @@ -867,7 +867,7 @@ - + Source Files Pliki źródłowe @@ -888,13 +888,13 @@ - + Show Details Pokaż szczegóły - + Output Directory Folder docelowy @@ -930,7 +930,7 @@ - + Meta Data Tagi @@ -951,7 +951,7 @@ - + Reset Resetuj @@ -972,7 +972,7 @@ - + Compression Kompresja @@ -982,239 +982,239 @@ Koder/Format - + FLAC FLAC - + Rate Control Method Tryby przepływności bitów - + Quality-based (VBR) Jakość - Zmienny bitrate (VBR) - + Average Bitrate (ABR) Średni bitrate (ABR) - + Constant Bitrate (CBR) Stały bitrate (CBR) - + Quality / Bitrate Jakość/Przepływność bitów - + Minimum Minimalna - + Maximum Maksymalna - - + + Advanced Options Opcje zaawansowane - + Bitrate Management (LAME and OggEnc2) Zarządzanie bitami (LAME i OggEnc2) - + Enable Bitrate Management Włącz zarządzanie bitami - + Minimum (kbps): Minimalny (kbps): - + Maximum (kbps): Maksymalny (kbps): - + LAME Algorithm Quality Jakość algorytmu LAME - + Faster Processing Szybsza kompresja - + Better quality Lepsza jakość - + Warning: Audio quality will be very poor. Please do <u>not</u> complain about audio quality! Ostrzeżnie: Jakość dźwięku będzie bardzo niska. Prosze <b>nie<b> kierować skarg do autora programu! - + Warning: Processing speed will be very slow. Please do <u>not</u> complain about processing speed! Ostrzeżenie: Kompresja może trwać bardzo długo. Prosze <b>nie<b> kierować skarg do autora programu! - + Channel Mode / Sampling Rate Tryb kanałów/Częstotliwość próbkowania - - + + Auto Select (Default) Automatycznie (Domyślnie) - + Joint Stereo Joint Stereo - + Forced Joint Stereo Wymuś Joint Stereo - + Simple Simple - + Dual Mono Dual Mono - + Mono Mono - + MP3 Channel Mode: Tryb kanałów MP3: - + Sampling Rate (Hz): Próbkowanie (Hz): - + 16.000 16.000 - + 22.050 22.050 - + 24.000 24.000 - + 32.000 32.000 - + 44.100 44.100 - + 48.000 48.000 - + Enforce Stereo Downmix of Surround (Multi-Channel) Sources Wymuś miksowanie plików wielokanałowych do stereo - + AAC Encoder-Options Opcje kodera AAC - + Enable 2-Pass Processing (ABR Mode) Włącz kompresję dwuprzebiegową (w trybie ABR) - + Select AAC Profile: Wybierz profil AAC: - + Auto Select (Recommended) Automatyczny (Zalecane) - + Enforce LC-AAC Wymuś LC-AAC - + Enforce HE-AAC (AAC + SBR) Wymuś HE-AAC (AAC + SBR) - + Enforce HE-AAC v2 (AAC + SBR + PS) Wymuś HE-AAC v2 (AAC + SBR + PS) - + Volume Normalization Normalizacja dźwięku - + Enable Normalization Filter Włącz filtr normalizacji - + Peak Volume (dB): Najwyższa głośność (dB): - + Peak Level Wg poziomu szczytowego - + RMS Level Wg poziomu RMS - + None Żaden @@ -1234,846 +1234,851 @@ Pokaż ulubione - + MP3 MP3 - + Ogg/Vorbis Ogg/Vorbis - + AAC/MP4 AAC/MP4 - + PCM/Wave PCM/Wave - + A/52 A/52 - + DCA DCA - + Opus Opus - + + APE + + + + Show Help Pokaż pomoc - + Equalization Mode: Tryb korekcji: - + Tone Adjustment Zmiana tonów - + Adjust Treble (dB): Zmień tony wysokie (dB): - + Adjust Bass (dB): Zmień tony niskie (dB): - + Custom Encoder Parameters Własne parametry kodowania - - - - - - + + + + + + You can enter custom parameters here! Tutaj możesz wpisać własne parametry kodowania! - + Lame MP3: Lame MP3: - + OggEnc2: OggEnc2: - + MPEG-4 AAC: MPEG-4 AAC: - + FLAC: FLAC: - + Warning: Custom parameters won't be checked at all. Use them at your own risk !!! Ostrzeżenie: Włąśne parametry kompresji nie będą weryfikowane. Używasz je na własne ryzyko!!! - + Aften A/52: Aften A/52: - + OpusEnc: OpusEnc: - + Multi-Threading Wielowątkowość - + Choose the number of parallel instances based on the number of CPU cores (Recommended) Wybierz ilość równoległych kodowań na podstawie ilości wątków procesora (Zalecane) - + Fewer Instances Mniej - + More Instances Więcej - + Temp Directory Folder tymczasowy - + Browse... Wybierz... - + Store temporary files in your system's default TEMP directory (Recommended) Zapisuj pliki tymczasowe w systemowej lokalizacji TEMP (Zalecane) - + Aften A/52 Options Opcje A/52 - + Film Light - + Film Standard - + Music Light - + Music Standard - + Speech Speech - + None (Default) Żadna (Domyślnie) - + Auto Select Automatycznie - + 1+1 (Ch1,Ch2) 1+1 (Ch1,Ch2) - + 1/0 (C) 1/0 (C) - + 2/0 (L,R) 2/0 (L,R) - + 3/0 (L,R,C) 3/0 (L,R,C) - + 2/1 (L,R,S) 2/1 (L,R,S) - + 3/1 (L,R,C,S) 3/1 (L,R,C,S) - + 2/2 (L,R,SL,SR) 2/2 (L,R,SL,SR) - + 3/2 (L,R,C,SL,SR) 3/2 (L,R,C,SL,SR) - + Audio Coding Mode: Ilość kanałów: - + Dynamic Range Compression: Kompresja dynamiki (DRC): - + Fast Bit Allocation (Less Accurate) Szybka alokacja bitów (Mniejsza dokładność) - + Exponent Search Size: - + Rename Output Files Zmiana nazwy plików wyjściowych - + Enter the pattern to rename the output files here! Zapisz tutaj wzór wg którego zmienisz nazwy! - + Rename Output Files Zmieniaj nazwy plików - + <a href="reset">Reset</a> &nbsp; <a href="#">Show List of Macros</a> <a href="reset">Resetuj</a> &nbsp; <a href="#">Pokaż listę makr</a> - + Rename Pattern: Format wyjściowy: - + Example File Name: Przykładowa nazwa pliku: - + Opus Encoder Options Opcje kodera Opus Opcje kodera Opus - + Encoding Complexity: Złożoność kompresji: - + Frame Size: Rozmiar ramki: - + Disable Opus-Decoder Resampling (i.e. always output as 48.000 Hz) Wyłącz zmianę częstotliwości dźwięku dekodera Opus (np. zawsze na wyjściu 48.000 Hz) - + Overwrite Mode Tryb nadpisywania - + Overwrite Existing File Nadpisz istniejący plik - + Skip File Pomiń plik - + Keep Both Files (Default) Zachowaj obydwa pliki (Domyślnie) - + If Target File Already Exists: Jeśli plik o takiej samej nazwie już istnieje to: - + Reset Advanced Options Resetuj opcje zaawansowane - + Encode Now! Kompresuj! - - + + About... Info... - + Exit Program Wyjdź z programu - + File Plik - + ? ? - + View Widok - + Style Styl - + Language Język - + Tools Narzędzia - + Configuration Konfiguracja - + Quit Zamknij - + Open File(s)... Otwórz plik(i)... - + Official LameXP Project Web-Site Oficjalna strona programu LameXP - + Visit Official Web-Site Odwiedź oficjalną stronę - - - - + + + + Check for Updates Sprawdź aktualizacje - + Open Folder... Otwórz folder... - + Clear All Wyczyść wszystko - + Plastique Plastique - + Cleanlooks Cleanlooks - + Windows Vista ("Aero") Windows Vista ("Aero") - + Windows Classic Windows Classic - + Windows XP ("Luna") Windows XP ("Luna") - - + + Disable Update Reminder Wyłącz przypominanie o aktualizacji - - + + Disable Sound Effects Wyłącz efekty dźwiękowe - + Install WMA Decoder Zainstaluj Dekoder WMA - + Disable Nero AAC Notifications Wyłącz powiadomienia Nero AAC - + Show DropBox Pokaż DropBoxa - + From File... Z pliku... - + Encode! Kompresuj! - + Disable Shell Integration Wyłącz integrację z systemem - + Frequently Asked Questions Pytania i Odpowiedzi - + Changelog Lista zmian - + Translator's Guide Przewodnik tłumacza - + Help && Support Pomoc i Wsparcie - + Open Folder Recursively... Otwórz folder rekurencyjnie... - + Check for Beta Updates Sprawdzaj czy jest Beta - + Import Cue Sheet Importuj plik Cue - + Disable Slow Startup Notifications Wyłącz powiadomienia o powolnym starcie - + Hibernate Computer On Shutdown Hibernuj zamiast zamykać - + MuldeR's OpenSource Projects Otwartoźródłowe projekty MuldeR'a - + Adding file(s), please wait... Dodawanie plików, prosze czekać... - - + + Access Denied Dostęp zablokowany - + This usually means the file is locked by another process. To przeważnie oznacza, że plik jest zablokowany przez inny proces. - + CDDA Files Pliki CDDA - + Sorry, LameXP cannot extract audio tracks from an Audio-CD at present. LameXP nie może teraz wyekstrachować ścieżki z płyty Audio-CD. - + We recommend using %1 for that purpose. Zaleca się użycie w tym celu %1. - + Cue Sheet Cue Sheet - + Please use LameXP's Cue Sheet wizard for importing Cue Sheet files. Prosze użyć przewodnika Cue Sheet w LameXP w celu importowania tych plików. - + Files Rejected Pliki odrzucone - + This usually means the file is damaged or the file format is not supported. To przeważnie oznacza że plik jest uszkodzony lub format pliku nie jest wspierany. - + Scanning folder(s) for files, please wait... Skanowanie folderu/ów, prosze czekać... - + You can drop in audio files here! Tutaj możesz upuścić pliki dźwiękowe! - + Open File in External Application Otwórz plik w zewnętrznym programie - + Browse File Location Otwórz lokalizację pliku - + Browse Selected Folder Otwórz wybrany folder - + Bookmark Current Output Folder Zapamiętaj wybrany folder - + License Declined Licencja odrzucona - + You have declined the license. Consequently the application will exit now! Odrzuciłeś licencję. W takim razie program zostanie teraz zamknięty! - + Goodbye! Naraska! - + LameXP - Expired LameXP - Termin wygasł - + This demo (pre-release) version of LameXP has expired at %1. Ta wersja próbna LameXP wygasła %1. - + LameXP is free software and release versions won't expire. LameXP jest darmowym oprogramowaniem i pełna wersja nie wygasa. - - + + Exit Program Wyjdź z programu - + It seems that a bogus anti-virus software is slowing down the startup of LameXP. Najwyraźniej twoje oprogramowanie antywirusowe spowalnia uruchamianie się LameXP. - + Please refer to the %1 document for details and solutions! Prosze sprawdzić dokument %1 w celu dalszych szcegółów i rozwiązań! - + Slow Startup Powolny start - - - - - + + + + + Discard Zamknij - - + + Don't Show Again Nie pokazuj ponownie - + Urgent Update Ważna aktualizacja - + Your version of LameXP is more than a year old. Time for an update! Twoja wersja LameXP jest starsza niż rok! Czas na aktualizację! - - - + + + Update Reminder Powiadomienie aktualizacji - + Your last update check was more than 14 days ago. Check for updates now? Ostatnie sprawdzenie aktualizacji było ponad 14 dni temu. Sprawdzić teraz aktualizacje? - + Your did not check for LameXP updates yet. Check for updates now? Nie sprawdzałeś jeszcze aktualizacji LameXP. Sprawdzić teraz aktualizacje? - + Postpone Przełóż - + LameXP detected that your version of the Nero AAC encoder is outdated! LameXP wykrył że Twoja wersja kodera Nero AAC jest nieaktualna! - + The current version available is %1 (or later), but you still have version %2 installed. Wersją dostępną obecnie jest %1, Twoja wersja to %2. - + n/a b/d - + You can download the latest version of the Nero AAC encoder from the Nero website at: Możesz pobrać najnowszą wersję kodera Nero AAC ze strony Nero: - + AAC Encoder Outdated Koder AAC jest nieaktualny - + The Nero AAC encoder could not be found. AAC encoding support will be disabled. Nie można odnaleźć kodera Nero AAC. Kompresja formatu AAC zostanie wyłączona. - + Please put 'neroAacEnc.exe', 'neroAacDec.exe' and 'neroAacTag.exe' into the LameXP directory! Prosze skopiować 'neroAacEnc.exe', 'neroAacDec.exe', oraz 'neroAacTag.exe' do folderu LameXP! - + Your LameXP directory is located here: Folder aplikacji LameXP znajduje się tutaj: - + You can download the Nero AAC encoder for free from the official Nero website at: Możesz pobrać koder Nero AAC za darmo z oficjalnej strony Nero: - + AAC Support Disabled Wsparcie dla AAC wyłączone - - - + + + LameXP LameXP - + You must add at least one file to the list before proceeding! Powinienieś dodać przynajmniej jeden plik do listy aby zacząć działać! - + Not Found Nie znaleziono - + Your currently selected TEMP folder does not exist anymore: Wybrany przez Ciebie folder tymczasowy TEMP już nie istnieje: - + Restore Default Przywróć domyślne - + Cancel Anuluj - + Low Diskspace Warning Ostrzeżenie o małej ilości miejsca na dysku - + There are less than %1 GB of free diskspace available on your system's TEMP folder. Jest mniej niż %1 GB dostępnego miejsca w systemowym folderze TEMP. - + DEMO VERSION WERSJA PRÓBNA - + (Hint: Please ignore the name of the downloaded ZIP file and check the included 'changelog.txt' instead!) (Podpowiedź: Zignoruj nazwę pobranego pliku ZIP, w zamian sprawdż załączony w archiwum plik "changelog.txt"!) - + It is highly recommend to free up more diskspace before proceeding with the encode! Jest wysoce zalecane zwolnić miejsce na dysku zanim zaczniesz kompresję! - + Your TEMP folder is located at: Twój folder TEMP znajduję się: - + Abort Encoding Process Przerwij proces kompresji - + Clean Disk Now Wykonaj oczyszczanie dysku - - + + Ignore Ignoruj - + %n file(s) have been rejected, because read access was not granted! %n plik został odrzucony, ponieważ nie dano praw odczytu! @@ -2082,7 +2087,7 @@ - + %n file(s) have been rejected, because they are dummy CDDA files! %n plik został odrzucony, ponieważ jest to plik CDDA! @@ -2091,7 +2096,7 @@ - + %n file(s) have been rejected, because they appear to be Cue Sheet images! %n plik został odrzucony, ponieważ jest to plik Cue! @@ -2100,7 +2105,7 @@ - + %n file(s) have been rejected, because the file format could not be recognized! %n plik został odrzucony, ponieważ jego format nie został rozpoznany! @@ -2109,473 +2114,473 @@ - + Initializing directory outline, please be patient... Ładowanie zestawu folderów, prosze czekać... - + Refresh Directory Outline Odśwież foldery - + Go To Parent Directory Idź do głównego folderu - + Export Meta Tags to CSV File Eksportuj Tagi do pliku CVS - + Import Meta Tags from CSV File Importuj Tagi do pliku CVS - + Skipping update check this time, please be patient... Pomijanie sprawdzania aktualizacji, prosze czekać... - + Low Diskspace Mało miejsca na dysku - + You are proceeding with low diskspace. Problems might occur! Chcesz zacząć działać z małą ilością miejsca na dysku. Mogą wystąpić problemy! - + Sorry, an unsupported encoder has been chosen! Został wybrany koder, który nie jest wspierany! - + Cannot write to the selected output directory. Nie można zapisać do wybranej lokalizacji. - + Please choose a different directory! Prosze wybrać inną lokalizację! - + Load Translation Zaladuj plik językowy - + Translation Files Pliki językowe - + Do you really want to disable the update reminder? Czy na pewno chcesz wyłączyć przypominanie o aktualizacjach? - - - - - - - + + + + + + + Yes Tak - - - - - - - + + + + + + + No Nie - + The update reminder has been disabled. Przypominanie o aktualizacjach wyłączone. - + Please remember to check for updates at regular intervals! Prosze pamiętać o okresowym sprawdzaniu aktualizacji! - + The update reminder has been re-enabled. Przypominanie o aktualizacjach ponownie włączone. - + Do you really want to disable all sound effects? Czy na pewno chcesz wyłączyć wszystkie dźwiękowe? - - + + Sound Effects Efekty dźwiękowe - + All sound effects have been disabled. Wszystkie efekty dźwiękowe zostały wyłączone. - + The sound effects have been re-enabled. Efekty dźwiękowe zostały ponownie włączone. - - + + Nero AAC Notifications Powiadomienia Nero AAC - + Do you really want to disable all Nero AAC Encoder notifications? Czy na pewno chcesz wyłączyć wszystkie powiadomienia Nero AAC? - + All Nero AAC Encoder notifications have been disabled. Wszystkie powiadomienia kodera Nero AAC zostały wyłączone. - + The Nero AAC Encoder notifications have been re-enabled. Powiadomienia Nero AAC zostały ponownie włączone. - - + + Slow Startup Notifications Powiadomienia o powolnym starcie - + Do you really want to disable the slow startup notifications? Czy na pewno chcesz wyłączyć powiadomienia o powolnym starcie? - + The slow startup notifications have been disabled. Powiadomienia o powolnym starcie zostały wyłączone. - + The slow startup notifications have been re-enabled. Powiadomienia o powolnym starcie zostały ponownie włączone. - - + + Open Cue Sheet Otwórz plik Cue Sheet - - + + Cue Sheet File Plik Cue Sheet - - + + Beta Updates Aktualizacje Beta - + Do you really want LameXP to check for Beta (pre-release) updates? Czy na pewno chcesz aby LameXP sprawdzał aktualizacje Beta? - + LameXP will check for Beta (pre-release) updates from now on. Od teraz LameXP będzie sprawdzał aktualizacje Beta. - + Check Now Sprawdź teraz - + LameXP will <i>not</i> check for Beta (pre-release) updates from now on. LameXP od teraz <i>nie będzie</i> sprawdzał aktualizacji Beta. - - + + Hibernate Computer Hibernuj komputer - + Do you really want the computer to be hibernated on shutdown? Czy na pewno chcesz aby komputer był hibernowany zamiast zamykany? - + LameXP will hibernate the computer on shutdown from now on. Od teraz LameXP będzie hibernował komputer zamiast zamykać. - + LameXP will <i>not</i> hibernate the computer on shutdown from now on. LameXP od teraz <i>nie</i> będzie hibernował komputera tylko zamykał. - - - + + + Shell Integration Integracja z systemem - + Do you really want to disable the LameXP shell integration? Czy na pewno chcesz wyłączyć integrację LameXP z systemem? - + The LameXP shell integration has been disabled. Integracja LameXP z systemem zostałą wyłączona. - + The LameXP shell integration has been re-enabled. Integracja LameXP z systemem została ponownie włączona. - - + + Add file(s) Dodaj plik(i) - - + + Add Folder Dodaj folder - + Loading dropped files or folders, please wait... Ładowanie upuszczonych plików lub folderów, prosze czekać... - - + + Save CSV file Zapisz plik CSV - - - - + + + + CSV File Plik CSV - - - - + + + + CSV Export Eksportowanie CSV - + Sorry, there are no meta tags that can be exported! Nie ma żadnych tagów, które można eksportować! - + Sorry, failed to open CSV file for writing! Nie można otworzyć pliku CSV aby go zapisać! - + Sorry, failed to write to the CSV file! Nie można zapisać do pliku CSV! - + The CSV files was created successfully! Pliki CSV utworzone pomyślnie! - - + + Open CSV file Otwórz plik CSV - + Sorry, failed to open CSV file for reading! Nie można otworzyć pliku CSV aby go wczytać! - - - - - + + + + + CSV Import Importowanie CSV - + Sorry, failed to read from the CSV file! Próba odczytania pliku CSV zakończona niepowodzeniem! - + Sorry, the CSV file does not contain any known fields! Plik CSV nie zawiera żadnych znanych pól! - + CSV file is incomplete. Not all files were updated! Plik CSV nie jest kompletny. Nie wszystkie pliki zostały zaktualizowane! - + The CSV files was imported successfully! Pliki CSV zaimportowano pomyślnie! - - + + New Folder Nowy folder - + Enter the name of the new folder: Wprowadź nazwę nowego folderu: - + Failed to create folder Utworzenie folderu zakończone niepowodzeniem - + The new folder could not be created: Nowy folder nie mógł zostać stworzony: - + Drive is read-only or insufficient access rights! Dysk tylko do odczytu lub brak praw dostępu! - - + + Quality Level %1 Poziom jakości %1 - + Compression %1 Kompresja %1 - + Uncompressed Nieskompresowany - + Best Quality (Slow) Najlepsza jakość (Powoli) - + Acceptable Quality (Fast) Akceptowalna jakość (Szybko) - + High Quality (Recommended) Wysoka jakość (Zalecane) - + Current Encoder: %1 Obecny koder: %1 - + Poor Quality (Very Fast) Najniższa jakość (Bardzo szybko) - + File name without extension Nazwa pliku bez rozszerzenia - + Track number with leading zero Numer ścieżki z zerem na początku - + Track title Nazwa ścieżki - + Artist name Nazwa Artysty - + Album name Nazwa Albumu - + Year with (at least) four digits Rok z (przynajmniej) czterema cyframi - + Comment Komentarz - + Characters forbidden in file names: Zabronione znaki w nazwach plików: - + Rename Macros Zmień nazwy makr - + %n Instance(s) %n wątek @@ -2584,37 +2589,37 @@ - + Cannot write to the selected directory. Please choose another directory! Nie można zapisać do wybranej lokalizacji. Prosze wybierz inną lokalizację! - + Overwrite Mode Tryb nadpisywania - + Warning: This mode may overwrite existing files with no way to revert! Ostrzeżenie: W tym trybie istniejące pliki będą nadpisywane bez możliwości ich odzyskania! - + Continue Kontynuuj - + Revert Cofnij - + Already Running Już działa - + LameXP is already running, please use the running instance! LameXP już działa, przejdź do działającego procesu! diff --git a/etc/Translation/LameXP_RU.ts b/etc/Translation/LameXP_RU.ts index 2d4cc0f0..015575ba 100644 --- a/etc/Translation/LameXP_RU.ts +++ b/etc/Translation/LameXP_RU.ts @@ -2035,6 +2035,10 @@ Loading dropped files or folders, please wait... + + APE + + MetaInfo diff --git a/etc/Translation/LameXP_SV.ts b/etc/Translation/LameXP_SV.ts index 4cc28694..d791f655 100644 --- a/etc/Translation/LameXP_SV.ts +++ b/etc/Translation/LameXP_SV.ts @@ -865,7 +865,7 @@ - + Source Files Källfiler @@ -886,13 +886,13 @@ - + Show Details Visa detaljer - + Output Directory Målmapp @@ -943,7 +943,7 @@ - + Meta Data Metadata @@ -964,7 +964,7 @@ - + Reset Återställ @@ -985,7 +985,7 @@ - + Compression Komprimering @@ -995,791 +995,796 @@ Kodare / Format - + MP3 MP3 - + Ogg/Vorbis Ogg/Vorbis - + AAC/MP4 AAC/MP4 - + PCM/Wave PCM/Wave - + A/52 A/52 - + DCA DCA - + FLAC FLAC - + Opus Opus - + + APE + + + + Rate Control Method Bithastighet - + Quality-based (VBR) Kvallitetsbaserad bithastighet (VBR) - + Average Bitrate (ABR) Genomsnittlig bithastighet (ABR) - + Constant Bitrate (CBR) Konstant bithastighet - + Quality / Bitrate Kvallitet / Bithastighet - + Minimum Minimum - + Maximum Maximum - + Show Help Visa hjälp - - + + Advanced Options Avancerat - + Bitrate Management (LAME and OggEnc2) Bithastighetshantering (LAME och OggEnc2) - + Enable Bitrate Management Aktivera bithastighetshantering - + Minimum (kbps): Minimum (kbps): - + Maximum (kbps): Maximum (kbps): - + LAME Algorithm Quality Lame algoritm-kvallitet - + Faster Processing Snabbare bearbetning - + Better quality Bättre kvallitet - + Warning: Audio quality will be very poor. Please do <u>not</u> complain about audio quality! Varning! Ljudkvalliteten kommer att bli mycket dålig. Klagomål angående ljudkvallitet <u>undanbedes</u>! - + Warning: Processing speed will be very slow. Please do <u>not</u> complain about processing speed! Varning! Bearbetningen kommer att gå väldigt långsamt. Klagomål angående bearbetningshastigheten <u>undanbedes</u>! - + Channel Mode / Sampling Rate Kanalläge / Samplingsfrekvens - - + + Auto Select (Default) Automatiskt (Standard) - + Joint Stereo Joint Stereo - + Forced Joint Stereo Framtvingad Joint Stereo - + Simple Enkel - + Dual Mono Dual Mono - + Mono Mono - + MP3 Channel Mode: MP3-kanalläge: - + Sampling Rate (Hz): Samplingsfrekvens (Hz): - + 16.000 16.000 - + 22.050 22.050 - + 24.000 24.000 - + 32.000 32.000 - + 44.100 44.100 - + 48.000 48.000 - + Enforce Stereo Downmix of Surround (Multi-Channel) Sources Framtvinga stereo-nedmixning av surround-källor (multikanal) - + AAC Encoder-Options AAC-alternativ - + Enable 2-Pass Processing (ABR Mode) Aktivera bearbetning i 2-pass (ABR-läge) - + Select AAC Profile: AAC-profil: - + Auto Select (Recommended) Automatiskt (rekommenderas) - + Enforce LC-AAC Framtvinga LC-AAC - + Enforce HE-AAC (AAC + SBR) Framtvinga HE-AAC (AAC + SBR) - + Enforce HE-AAC v2 (AAC + SBR + PS) Framtvinga HE-AAC v2 (AAC + SBR + PS) - + Volume Normalization Volymnormalisering - + Enable Normalization Filter Aktivera volymnormalisering - + Peak Volume (dB): Toppvolym (dB): - + None Ingen - + Peak Level Toppnivå - + RMS Level RMS-nivå - + Equalization Mode: Utjämningsläge: - + Tone Adjustment Tonjustering - + Adjust Treble (dB): Diskant (dB): - + Adjust Bass (dB): Bas (dB): - + Custom Encoder Parameters Anpassade kodningsparametrar - - - - - - + + + + + + You can enter custom parameters here! Du kan ange anpassade parametrar här! - + Lame MP3: Lame MP3: - + OggEnc2: OggEnc2: - + MPEG-4 AAC: MPEG-4 AAC: - + FLAC: FLAC: - + Warning: Custom parameters won't be checked at all. Use them at your own risk !!! Varning! Anpassade parametrar kommer inte att kontrolleras. Använd dem på eget ansvar! - + Aften A/52: Aften A/52: - + OpusEnc: OpusEnc: - + Multi-Threading Flertrådskörning - + Choose the number of parallel instances based on the number of CPU cores (Recommended) Välj antal parallella instanser baserat på antal processorkärnor (rekommenderas) - + Fewer Instances Färre instanser - + More Instances Fler instanser - + Temp Directory Temporär destination - + Browse... Bläddra... - + Store temporary files in your system's default TEMP directory (Recommended) Lagra temporära filer i systemets standardmapp (rekommenderas) - + Aften A/52 Options Aften A/52-alternativ - + Film Light Film lätt - + Film Standard Film standard - + Music Light Musik lätt - + Music Standard Musik standard - + Speech Tal - + None (Default) Ingen (standard) - + Auto Select Automatiskt - + 1+1 (Ch1,Ch2) 1+1 (Ch1,Ch2) - + 1/0 (C) 1/0 (C) - + 2/0 (L,R) 2/0 (V,H) - + 3/0 (L,R,C) 3/0 (V,H,C) - + 2/1 (L,R,S) 2/1 (V,H,S) - + 3/1 (L,R,C,S) 3/1 (V,H,C,S) - + 2/2 (L,R,SL,SR) 2/2 (V,H,SV,SH) - + 3/2 (L,R,C,SL,SR) 3/2 (V,H,C,SV,SH) - + Audio Coding Mode: Ljudkodningsläge: - + Dynamic Range Compression: Dynamisk intervallkomprimering: - + Fast Bit Allocation (Less Accurate) Snabb bitallokering (mindre exakt) - + Exponent Search Size: Exponentsökstorlek: - + Rename Output Files Namnändra utdatafiler - + Enter the pattern to rename the output files here! Ange namnändringsmall för utdatafiler här! - + Rename Output Files Namnändra utdatafiler - + <a href="reset">Reset</a> &nbsp; <a href="#">Show List of Macros</a> <a href="reset">Återställ</a> &nbsp; <a href="#">Visa lista över Macron</a> - + Rename Pattern: Namnändringsmall: - + Example File Name: Exempelnamn: - + Opus Encoder Options Opus-alternativ - + Encoding Complexity: Kodningskomplexitet: - + Frame Size: Ramstorlek: - + Disable Opus-Decoder Resampling (i.e. always output as 48.000 Hz) Inaktivera omsampling för Opus-avkodare (all utdata 48.000 Hz) - + Overwrite Mode Överskrivningsläge - + Overwrite Existing File Skriv över befintlig fil - + Skip File Hoppa över fil - + Keep Both Files (Default) Behåll båda filerna (Standard) - + If Target File Already Exists: Om målfilen redan finns: - + Reset Advanced Options Återställ avancerade inställningar - + Encode Now! Koda om nu! - - + + About... Om... - + Exit Program Avsluta LameXP - + File Arkiv - + ? ? - + View Visa - + Style Stil - + Language Språk - + Tools Verktyg - + Configuration Inställningar - + Quit Avsluta - + Open File(s)... Öppna fil(er)... - + Official LameXP Project Web-Site Officiell LameXP projektwebbsida - + Visit Official Web-Site Besök hemsidan - - - - + + + + Check for Updates Sök efter uppdateringar - + Open Folder... Öppna mapp... - + Clear All Rensa alla - + Plastique Plastique - + Cleanlooks Cleanlooks - + Windows Vista ("Aero") Windows Vista ("Aero") - + Windows Classic Windows Classic - + Windows XP ("Luna") Windows XP ("Luna") - - + + Disable Update Reminder Inaktivera uppdateringsmeddelande - - + + Disable Sound Effects Inaktivera ljudeffekter - + Install WMA Decoder Installera WMA-avkodare - + Disable Nero AAC Notifications Inaktivera Nero AAC-meddelanden - + Show DropBox Visa DropBox - + From File... Från fil... - + Encode! Koda om! - + Disable Shell Integration Inaktivera utforskarintegration - + Frequently Asked Questions Vanliga frågor - + Changelog Ändringslogg - + Translator's Guide Översättningsguide - + Help && Support Hjälp && support - + Open Folder Recursively... Öppna mapp rekursivt... - + Check for Beta Updates Sök efter beta-uppdateringar - + Import Cue Sheet Importera cue-fil - + Disable Slow Startup Notifications Inaktivera meddelanden om långsam uppstart - + Hibernate Computer On Shutdown Försätt datorn i viloläge vid avslut - + MuldeR's OpenSource Projects MuldeRs Öppen källkodsprojekt - + Adding file(s), please wait... Lägger till fil(er), vänta... - - + + Access Denied Åtkomst nekad - + This usually means the file is locked by another process. Det innebär oftast att filen är låst av någon annan process. - + %n file(s) have been rejected, because read access was not granted! %n fil har avvisats, eftersom läsbehörighet saknas! @@ -1787,22 +1792,22 @@ - + CDDA Files CDDA-filer - + Sorry, LameXP cannot extract audio tracks from an Audio-CD at present. LameXP kan för närvarande inte extrahera ljudspår från en ljud-CD. - + We recommend using %1 for that purpose. Vi rekommenderar att du använder %1 för det ändamålet. - + %n file(s) have been rejected, because they are dummy CDDA files! %n fil har avvisats, eftersom det är en CDDA attrappfil (dummy)! @@ -1810,17 +1815,17 @@ - + Cue Sheet Cue-fil - + Please use LameXP's Cue Sheet wizard for importing Cue Sheet files. Använd LameXPs cue-guide för att importera cue-filer. - + %n file(s) have been rejected, because they appear to be Cue Sheet images! %n fil har avvisats, eftersom det verkar vara en cue-avbildning! @@ -1828,17 +1833,17 @@ - + Files Rejected Undantagna filer - + This usually means the file is damaged or the file format is not supported. Det innebär oftast att filen är skadad eller att filformatet inte stöds. - + %n file(s) have been rejected, because the file format could not be recognized! %n fil har avvisats, eftersom filformatet inte känns igen! @@ -1846,729 +1851,729 @@ - + Scanning folder(s) for files, please wait... Genomsöker mapp(ar) efter fil(er), vänta... - + DEMO VERSION DEMOVERSION - + You can drop in audio files here! Du kan dra och släppa filer här! - + Initializing directory outline, please be patient... Initierar mappdisposition, vänta... - + Open File in External Application Öppna fil i externt program - + Browse File Location Öppna målmappen - + Browse Selected Folder Öppna markerad mapp - + Refresh Directory Outline Uppdatera mappdisposition - + Go To Parent Directory Gå till överordnad mapp - + Bookmark Current Output Folder Lägg till aktuell utdatamapp i favoriter - + Export Meta Tags to CSV File Exportera metadata till CSV-fil - + Import Meta Tags from CSV File Importera metadata från CSV-fil - + License Declined Licensavtal avvisat - + You have declined the license. Consequently the application will exit now! Du har nekat att godkänna licensavtalet. Programmet kommer nu att avslutas! - + Goodbye! Hej då! - + LameXP - Expired LameXP - Upphört - + This demo (pre-release) version of LameXP has expired at %1. Denna demoversion av LameXP har upphört att gälla från %1. - + LameXP is free software and release versions won't expire. LameXP är kostnadsfritt och release-versionerna upphör inte att gälla. - - + + Exit Program Avsluta programmet - + It seems that a bogus anti-virus software is slowing down the startup of LameXP. Det verkar som ett antivirusprogram orsakar långsammare uppstart av LameXP. - + Please refer to the %1 document for details and solutions! Läs gärna %1 för detaljer och lösningar! - + Slow Startup Långsam uppstart - - - - - + + + + + Discard Stäng - - + + Don't Show Again Visa inte igen - + Urgent Update Viktig uppdatering - + Your version of LameXP is more than a year old. Time for an update! Din version av LameXP är mer än ett år gammal. Dags att uppdatera! - - + + Ignore Ignorera - + Skipping update check this time, please be patient... Hoppar över uppdateringskontrollen den här gången, vänta... - - - + + + Update Reminder Uppdateringspåminnelse - + Your last update check was more than 14 days ago. Check for updates now? Din senaste uppdateringskontroll var för mer än 14 dagar sedan. Vill du söka efter uppdateringar nu? - + Your did not check for LameXP updates yet. Check for updates now? Du har inte genomfört uppdateringskontroll ännu. Vill du söka efter uppdateringar nu? - + Postpone Skjut upp - + LameXP detected that your version of the Nero AAC encoder is outdated! LameXP har uptäckt att din version av Nero AAC-kodare är utdaterad! - + The current version available is %1 (or later), but you still have version %2 installed. Aktuell version är %1 (eller senare), men du har fortfarande version %2. - + n/a n/a - + You can download the latest version of the Nero AAC encoder from the Nero website at: Du kan ladda ner senaste versionen av Nero AAC-kodare från Neros webbsida: - + (Hint: Please ignore the name of the downloaded ZIP file and check the included 'changelog.txt' instead!) (Tips: Bortse från den nedladde zipfilens namn, och kontrollera istället den inkluderade textfilen 'changelog.txt'!) - + AAC Encoder Outdated AAC-kodare utdaterad - + The Nero AAC encoder could not be found. AAC encoding support will be disabled. Neros AAC-kodare kan inte hittas. Stödet för AAC-kodning kommer att inaktiveras. - + Please put 'neroAacEnc.exe', 'neroAacDec.exe' and 'neroAacTag.exe' into the LameXP directory! Placera 'neroAacEnc.exe', 'neroAacDec.exe' och 'neroAacTag.exe' i LameXPs programmmapp! - + Your LameXP directory is located here: Din LameXP programmapp finns här: - + You can download the Nero AAC encoder for free from the official Nero website at: Du kan ladda ner Nero AAC-kodare gratis från den officiella webbsidan: - + AAC Support Disabled AAC-stödet är inaktiverat - - - + + + LameXP LameXP - + You must add at least one file to the list before proceeding! Du måste lägga till minst en fil till listan innan du fortsätter! - + Not Found Kan inte hittas - + Your currently selected TEMP folder does not exist anymore: Din aktuella TEMP-mapp finns inte längre: - + Restore Default Återställ standard - + Cancel Avbryt - + There are less than %1 GB of free diskspace available on your system's TEMP folder. Det finns mindre än %1 GB ledigt diskutrymme i systemets temp-mapp. - + It is highly recommend to free up more diskspace before proceeding with the encode! Du behöver frigöra mer diskutrymme innan du fortsätter med omkodningen! - + Your TEMP folder is located at: Temp-mappens placering: - + Low Diskspace Warning Varning för dåligt diskutrymme - + Abort Encoding Process Avbryt omkodningsprocessen - + Clean Disk Now Rensa disken nu - + Low Diskspace Dåligt diskutrymme - + You are proceeding with low diskspace. Problems might occur! Du fortsätter med dåligt diskutrymme. Problem kan uppstå! - + Sorry, an unsupported encoder has been chosen! En kodare som saknar stöd har valts! - + Cannot write to the selected output directory. Kan inte skriva till den valda utdatamappen. - + Please choose a different directory! Välj en annan målmapp! - + Load Translation Läs in översättning - + Translation Files Översättningsfiler - + Do you really want to disable the update reminder? Vill du verkligen inaktivera uppdateringspåminnelsen? - - - - - - - + + + + + + + Yes Ja - - - - - - - + + + + + + + No Nej - + The update reminder has been disabled. Uppdateringspåminnelsen har inaktiverats. - + Please remember to check for updates at regular intervals! Glöm inte att söka efter uppdateringar med jämna mellanrum! - + The update reminder has been re-enabled. Uppdateringspåminnelsen har återaktiverats. - + Do you really want to disable all sound effects? Vill du verkligen inaktivera alla ljudeffekter? - - + + Sound Effects Ljudeffekter - + All sound effects have been disabled. Alla ljudeffekter har inaktiverats. - + The sound effects have been re-enabled. Ljudeffekterna har återaktiverats. - - + + Nero AAC Notifications Nero AAC-meddelanden - + Do you really want to disable all Nero AAC Encoder notifications? Vill du verkligen inaktivera alla Nero AAC-meddelanden? - + All Nero AAC Encoder notifications have been disabled. Alla Nero AAC-meddelanden har inaktiverats. - + The Nero AAC Encoder notifications have been re-enabled. Nero AAC-meddelanden har återaktiverats. - - + + Slow Startup Notifications Meddelande om långsam uppstart - + Do you really want to disable the slow startup notifications? Vill du verkligen inaktivera meddelanden om långsam uppstart? - + The slow startup notifications have been disabled. Meddelanden om långsam uppstart har inaktiverats. - + The slow startup notifications have been re-enabled. Meddelanden om långsam uppstart har återaktiverats. - - + + Open Cue Sheet Öppna cue-fil - - + + Cue Sheet File Cue-fil - - + + Beta Updates Beta-uppdateringar - + Do you really want LameXP to check for Beta (pre-release) updates? Vill du verkligen att LameXP skall söka efter beta-uppdateringar? - + LameXP will check for Beta (pre-release) updates from now on. LameXP kommer i fortsättningen att söka efter beta-uppdatyeringar. - + Check Now Sök nu - + LameXP will <i>not</i> check for Beta (pre-release) updates from now on. LameXP kommer i fortsättningen <i>inte</i> att söka efter beta-uppdateringar. - - + + Hibernate Computer Viloläge - + Do you really want the computer to be hibernated on shutdown? Vill du verkligen att datorn skall försättas i viloläge vid avslut? - + LameXP will hibernate the computer on shutdown from now on. LameXP kommer i fortsättningen att försätta datorn i viloläge vid avslut. - + LameXP will <i>not</i> hibernate the computer on shutdown from now on. LameXP kommer i fortsättningen <i>inte</i> att försätta datorn i viloläge vid avslut. - - - + + + Shell Integration Utforskarintegrering - + Do you really want to disable the LameXP shell integration? Vill du verkligen inaktivera LameXPs utforskarintegration? - + The LameXP shell integration has been disabled. LameXPs utforskarintegration har inaktiverats. - + The LameXP shell integration has been re-enabled. LameXPs utforskarintegration har återaktiverats. - - + + Add file(s) Lägg till fil(er) - - + + Add Folder Lägg till mapp - + Loading dropped files or folders, please wait... - - + + Save CSV file Spara CSV-fil - - - - + + + + CSV File CSV-fil - - - - + + + + CSV Export CSV-export - + Sorry, there are no meta tags that can be exported! Det finns ingen meta-data som kan exporteras! - + Sorry, failed to open CSV file for writing! Kunde inte öppna CSV-filen för skrivning! - + Sorry, failed to write to the CSV file! Kunde inte skriva till CSV-filen! - + The CSV files was created successfully! CSV-filen skapades korrekt! - - + + Open CSV file Öppna CSV-fil - - - - - + + + + + CSV Import CSV-import - + Sorry, failed to open CSV file for reading! Kunde inte öppna CSV-filen för läsning! - + Sorry, failed to read from the CSV file! Kunde inte läsa från CSV-filen! - + Sorry, the CSV file does not contain any known fields! CSV-filen innehåller inga kända fält! - + CSV file is incomplete. Not all files were updated! CSV-filen är inte komplett. Alla filer uppdaterades inte! - + The CSV files was imported successfully! CSV-filen importerades korrekt! - - + + New Folder Ny mapp - + Enter the name of the new folder: Namn på den nya mappen: - + Failed to create folder Kunde inte skapa någon mapp - + The new folder could not be created: Den nya mappen kunde inte skapas: - + Drive is read-only or insufficient access rights! Diskenheten är skrivskyddad eller åtkomsträttigheter saknas! - - + + Quality Level %1 Kvallitetsnivå %1 - + Compression %1 Kompression %1 - + Uncompressed Okomprimerad - + Best Quality (Slow) Bäst kvalitet (Långsam) - + Acceptable Quality (Fast) Acceptabel kvalitet (Snabb) - + High Quality (Recommended) Hög kvallitet (rekommenderas) - + Current Encoder: %1 - + Poor Quality (Very Fast) Dålig kvallitet (mycket snabb) - + File name without extension Filnamn utan filtillägg - + Track number with leading zero Spårnummer med inledande nolla - + Track title Spårtitel - + Artist name Artistnamn - + Album name Albumnamn - + Year with (at least) four digits Årtal med (minst) fyra siffror - + Comment Kommentar - + Characters forbidden in file names: Förbjudna tecken i filnamn: - + Rename Macros Namnändra macron - + %n Instance(s) %n instans @@ -2576,37 +2581,37 @@ - + Cannot write to the selected directory. Please choose another directory! Kan inte skriva till den specificerade mappen. Välj en annan destination! - + Overwrite Mode Överskrivningsläge - + Warning: This mode may overwrite existing files with no way to revert! Varning! Det här läget kan skriva över befintliga filer, utan möjlighet att återskapa! - + Continue Fortsätt - + Revert Återställ - + Already Running Körs redan - + LameXP is already running, please use the running instance! LameXP körs redan, använd den redan startade instansen! diff --git a/etc/Translation/LameXP_TW.ts b/etc/Translation/LameXP_TW.ts index 3be77925..2a15d75b 100644 --- a/etc/Translation/LameXP_TW.ts +++ b/etc/Translation/LameXP_TW.ts @@ -2013,6 +2013,10 @@ Loading dropped files or folders, please wait... + + APE + + MetaInfo diff --git a/etc/Translation/LameXP_UK.ts b/etc/Translation/LameXP_UK.ts index c35112af..3d676e75 100644 --- a/etc/Translation/LameXP_UK.ts +++ b/etc/Translation/LameXP_UK.ts @@ -2030,6 +2030,10 @@ Loading dropped files or folders, please wait... + + APE + + MetaInfo diff --git a/etc/Translation/LameXP_ZH.ts b/etc/Translation/LameXP_ZH.ts index 40429040..d7b895df 100644 --- a/etc/Translation/LameXP_ZH.ts +++ b/etc/Translation/LameXP_ZH.ts @@ -2013,6 +2013,10 @@ Loading dropped files or folders, please wait... 载入收集的文件或文件夹中,请稍候…… + + APE + + MetaInfo diff --git a/gui/MainWindow.ui b/gui/MainWindow.ui index 700ecf5f..276f6312 100644 --- a/gui/MainWindow.ui +++ b/gui/MainWindow.ui @@ -6,7 +6,7 @@ 0 0 - 667 + 676 443 @@ -805,39 +805,8 @@ - - - - - MP3 - - - true - - - - - - - Ogg/Vorbis - - - - - - - AAC/MP4 - - - - - - - PCM/Wave - - - - + + Qt::Horizontal @@ -853,21 +822,17 @@ - - + + - A/52 + MP3 + + + true - - - - DCA - - - - + Qt::Horizontal @@ -880,7 +845,34 @@ - + + + + Ogg/Vorbis + + + + + + + Qt::Horizontal + + + + 1 + 20 + + + + + + + + Opus + + + + Qt::Horizontal @@ -893,7 +885,14 @@ - + + + + AAC/MP4 + + + + Qt::Horizontal @@ -906,53 +905,34 @@ - - - - Qt::Horizontal - - - - 1 - 20 - - - - - - - - Qt::Horizontal - - - - 1 - 20 - - - - - - - - Qt::Horizontal - - - - 1 - 20 - - - - - + FLAC - + + + + Qt::Horizontal + + + + 1 + 20 + + + + + + + + APE + + + + Qt::Horizontal @@ -965,15 +945,55 @@ - - + + - Opus + A/52 - - + + + + Qt::Horizontal + + + + 1 + 20 + + + + + + + + DCA + + + + + + + Qt::Horizontal + + + + 1 + 20 + + + + + + + + PCM/Wave + + + + + Qt::Horizontal @@ -1009,32 +1029,8 @@ - - - - - Quality-based (VBR) - - - true - - - - - - - Average Bitrate (ABR) - - - - - - - Constant Bitrate (CBR) - - - - + + Qt::Horizontal @@ -1050,7 +1046,17 @@ - + + + + Quality-based (VBR) + + + true + + + + Qt::Horizontal @@ -1063,7 +1069,14 @@ - + + + + Average Bitrate (ABR) + + + + Qt::Horizontal @@ -1076,7 +1089,14 @@ - + + + + Constant Bitrate (CBR) + + + + Qt::Horizontal @@ -1489,8 +1509,8 @@ 0 0 - 604 - 1759 + 602 + 1750 @@ -4286,7 +4306,7 @@ 0 0 - 667 + 676 21 diff --git a/res/Tools_Misc_A.qrc b/res/Tools_Misc_A.qrc index 1d8ed440..4bd5185b 100644 --- a/res/Tools_Misc_A.qrc +++ b/res/Tools_Misc_A.qrc @@ -5,6 +5,7 @@ tools/gpgv.exe tools/gpgv.gpg tools/sox.exe + tools/tag.exe tools/wget.exe tools/wupdate.exe diff --git a/res/tools/mac.exe b/res/tools/mac.exe index 7d0c77de..9095fc42 100644 Binary files a/res/tools/mac.exe and b/res/tools/mac.exe differ diff --git a/res/tools/tag.exe b/res/tools/tag.exe new file mode 100644 index 00000000..2c30d1ff Binary files /dev/null and b/res/tools/tag.exe differ diff --git a/src/Config.h b/src/Config.h index cb3ea1b5..52df9e77 100644 --- a/src/Config.h +++ b/src/Config.h @@ -34,8 +34,8 @@ #define VER_LAMEXP_MINOR_HI 0 #define VER_LAMEXP_MINOR_LO 9 #define VER_LAMEXP_TYPE Alpha -#define VER_LAMEXP_PATCH 9 -#define VER_LAMEXP_BUILD 1499 +#define VER_LAMEXP_PATCH 10 +#define VER_LAMEXP_BUILD 1502 #define VER_LAMEXP_CONFG 1348 /////////////////////////////////////////////////////////////////////////////// diff --git a/src/Dialog_MainWindow.cpp b/src/Dialog_MainWindow.cpp index 85149318..2b546ba5 100644 --- a/src/Dialog_MainWindow.cpp +++ b/src/Dialog_MainWindow.cpp @@ -385,6 +385,7 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel_MetaInfo *me m_encoderButtonGroup->addButton(ui->radioButtonEncoderAAC, SettingsModel::AACEncoder); m_encoderButtonGroup->addButton(ui->radioButtonEncoderAC3, SettingsModel::AC3Encoder); m_encoderButtonGroup->addButton(ui->radioButtonEncoderFLAC, SettingsModel::FLACEncoder); + m_encoderButtonGroup->addButton(ui->radioButtonEncoderAPE, SettingsModel::MACEncoder); m_encoderButtonGroup->addButton(ui->radioButtonEncoderOpus, SettingsModel::OpusEncoder); m_encoderButtonGroup->addButton(ui->radioButtonEncoderDCA, SettingsModel::DCAEncoder); m_encoderButtonGroup->addButton(ui->radioButtonEncoderPCM, SettingsModel::PCMEncoder); @@ -1578,6 +1579,7 @@ void MainWindow::encodeButtonClicked(void) case SettingsModel::FLACEncoder: case SettingsModel::OpusEncoder: case SettingsModel::DCAEncoder: + case SettingsModel::MACEncoder: case SettingsModel::PCMEncoder: break; default: diff --git a/src/Encoder_MAC.cpp b/src/Encoder_MAC.cpp new file mode 100644 index 00000000..2bfc3c29 --- /dev/null +++ b/src/Encoder_MAC.cpp @@ -0,0 +1,302 @@ +/////////////////////////////////////////////////////////////////////////////// +// LameXP - Audio Encoder Front-End +// Copyright (C) 2004-2013 LoRd_MuldeR +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version, but always including the *additional* +// restrictions defined in the "License.txt" file. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License along +// with this program; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +// +// http://www.gnu.org/licenses/gpl-2.0.txt +/////////////////////////////////////////////////////////////////////////////// + +#include "Encoder_MAC.h" + +#include "Global.h" +#include "Model_Settings.h" + +#include +#include + +/////////////////////////////////////////////////////////////////////////////// +// Encoder Info +/////////////////////////////////////////////////////////////////////////////// + +class MACEncoderInfo : public AbstractEncoderInfo +{ + virtual bool isModeSupported(int mode) const + { + switch(mode) + { + case SettingsModel::VBRMode: + return true; + break; + case SettingsModel::ABRMode: + case SettingsModel::CBRMode: + return false; + break; + default: + THROW("Bad RC mode specified!"); + } + } + + virtual int valueCount(int mode) const + { + switch(mode) + { + case SettingsModel::VBRMode: + return 5; + break; + case SettingsModel::ABRMode: + case SettingsModel::CBRMode: + return -1; + break; + default: + THROW("Bad RC mode specified!"); + } + } + + virtual int valueAt(int mode, int index) const + { + switch(mode) + { + case SettingsModel::VBRMode: + return qBound(0, index + 1, 8); + break; + case SettingsModel::ABRMode: + case SettingsModel::CBRMode: + return -1; + break; + default: + THROW("Bad RC mode specified!"); + } + } + + virtual int valueType(int mode) const + { + switch(mode) + { + case SettingsModel::VBRMode: + return TYPE_COMPRESSION_LEVEL; + break; + case SettingsModel::ABRMode: + case SettingsModel::CBRMode: + return -1; + break; + default: + THROW("Bad RC mode specified!"); + } + } + + virtual const char *description(void) const + { + static const char* s_description = "Monkey's Audio (MAC)"; + return s_description; + } +} +static const g_macEncoderInfo; + +/////////////////////////////////////////////////////////////////////////////// +// Encoder implementation +/////////////////////////////////////////////////////////////////////////////// + +MACEncoder::MACEncoder(void) +: + m_binary_enc(lamexp_lookup_tool("mac.exe")), + m_binary_tag(lamexp_lookup_tool("tag.exe")) +{ + if(m_binary_enc.isEmpty() || m_binary_tag.isEmpty()) + { + THROW("Error initializing MAC encoder. Tool 'mac.exe' or 'tag.exe' is not registred!"); + } +} + +MACEncoder::~MACEncoder(void) +{ +} + +bool MACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo &metaInfo, const unsigned int duration, const QString &outputFile, volatile bool *abortFlag) +{ + QProcess process; + QStringList args; + + const QString baseName = QFileInfo(outputFile).fileName(); + + args << QDir::toNativeSeparators(sourceFile); + args << QDir::toNativeSeparators(outputFile); + + switch(m_configRCMode) + { + case SettingsModel::VBRMode: + args << QString().sprintf("-c%d", (m_configBitrate + 1) * 1000); + break; + default: + THROW("Bad rate-control mode!"); + break; + } + + if(!startProcess(process, m_binary_enc, args)) + { + return false; + } + + bool bTimeout = false; + bool bAborted = false; + int prevProgress = -1; + + QRegExp regExp("Progress: (\\d+).(\\d+)%"); + + while(process.state() != QProcess::NotRunning) + { + if(*abortFlag) + { + process.kill(); + bAborted = true; + emit messageLogged("\nABORTED BY USER !!!"); + break; + } + process.waitForReadyRead(m_processTimeoutInterval); + if(!process.bytesAvailable() && process.state() == QProcess::Running) + { + process.kill(); + qWarning("MAC process timed out <-- killing!"); + emit messageLogged("\nPROCESS TIMEOUT !!!"); + bTimeout = true; + break; + } + while(process.bytesAvailable() > 0) + { + QByteArray line = process.readLine(); + QString text = QString::fromUtf8(line.constData()).simplified(); + if(regExp.lastIndexIn(text) >= 0) + { + bool ok = false; + int progress = regExp.cap(1).toInt(&ok); + if(ok && (progress > prevProgress)) + { + emit statusUpdated(progress); + prevProgress = qMin(progress + 2, 99); + } + } + else if(!text.isEmpty()) + { + emit messageLogged(text); + } + } + } + + process.waitForFinished(); + if(process.state() != QProcess::NotRunning) + { + process.kill(); + process.waitForFinished(-1); + } + + emit statusUpdated(100); + emit messageLogged(QString().sprintf("\nExited with code: 0x%04X", process.exitCode())); + + if(bTimeout || bAborted || process.exitCode() != EXIT_SUCCESS) + { + return false; + } + + emit messageLogged("\n-------------------------------\n"); + + args.clear(); + args << "APE2" << QDir::toNativeSeparators(outputFile); + + if(!metaInfo.title().isEmpty()) args << QString("Title=%1").arg(cleanTag(metaInfo.title())); + if(!metaInfo.artist().isEmpty()) args << QString("Artist=%1").arg(cleanTag(metaInfo.artist())); + if(!metaInfo.album().isEmpty()) args << QString("Album=%1").arg(cleanTag(metaInfo.album())); + if(!metaInfo.genre().isEmpty()) args << QString("Genre=%1").arg(cleanTag(metaInfo.genre())); + if(!metaInfo.comment().isEmpty()) args << QString("Comment=%1").arg(cleanTag(metaInfo.comment())); + if(metaInfo.year()) args << QString("Year=%1").arg(QString::number(metaInfo.year())); + if(metaInfo.position()) args << QString("Track=%1").arg(QString::number(metaInfo.position())); + + //if(!metaInfo.cover().isEmpty()) args << QString("-add-cover:%1:%2").arg("front", metaInfo.cover()); + + if(!startProcess(process, m_binary_tag, args)) + { + return false; + } + + bTimeout = false; + + while(process.state() != QProcess::NotRunning) + { + if(*abortFlag) + { + process.kill(); + bAborted = true; + emit messageLogged("\nABORTED BY USER !!!"); + break; + } + process.waitForReadyRead(m_processTimeoutInterval); + if(!process.bytesAvailable() && process.state() == QProcess::Running) + { + process.kill(); + qWarning("Tag process timed out <-- killing!"); + emit messageLogged("\nPROCESS TIMEOUT !!!"); + bTimeout = true; + break; + } + while(process.bytesAvailable() > 0) + { + QByteArray line = process.readLine(); + QString text = QString::fromUtf8(line.constData()).simplified(); + if(!text.isEmpty()) + { + emit messageLogged(text); + } + } + } + + process.waitForFinished(); + if(process.state() != QProcess::NotRunning) + { + process.kill(); + process.waitForFinished(-1); + } + + emit messageLogged(QString().sprintf("\nExited with code: 0x%04X", process.exitCode())); + + if(bTimeout || bAborted || process.exitCode() != EXIT_SUCCESS) + { + return false; + } + + return true; +} + +QString MACEncoder::extension(void) +{ + return "ape"; +} + +bool MACEncoder::isFormatSupported(const QString &containerType, const QString &containerProfile, const QString &formatType, const QString &formatProfile, const QString &formatVersion) +{ + if(containerType.compare("Wave", Qt::CaseInsensitive) == 0) + { + if(formatType.compare("PCM", Qt::CaseInsensitive) == 0) + { + return true; + } + } + + return false; +} + +const AbstractEncoderInfo *MACEncoder::getEncoderInfo(void) +{ + return &g_macEncoderInfo; +} diff --git a/src/Encoder_MAC.h b/src/Encoder_MAC.h new file mode 100644 index 00000000..cfd73a0c --- /dev/null +++ b/src/Encoder_MAC.h @@ -0,0 +1,47 @@ +/////////////////////////////////////////////////////////////////////////////// +// LameXP - Audio Encoder Front-End +// Copyright (C) 2004-2013 LoRd_MuldeR +// +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version, but always including the *additional* +// restrictions defined in the "License.txt" file. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License along +// with this program; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +// +// http://www.gnu.org/licenses/gpl-2.0.txt +/////////////////////////////////////////////////////////////////////////////// + +#pragma once + +#include "Encoder_Abstract.h" + +#include + +class MACEncoder : public AbstractEncoder +{ + Q_OBJECT + +public: + MACEncoder(void); + ~MACEncoder(void); + + virtual bool encode(const QString &sourceFile, const AudioFileModel_MetaInfo &metaInfo, const unsigned int duration, const QString &outputFile, volatile bool *abortFlag); + virtual bool isFormatSupported(const QString &containerType, const QString &containerProfile, const QString &formatType, const QString &formatProfile, const QString &formatVersion); + virtual QString extension(void); + + //Encoder info + static const AbstractEncoderInfo *getEncoderInfo(void); + +private: + const QString m_binary_enc; + const QString m_binary_tag; +}; diff --git a/src/Model_Settings.cpp b/src/Model_Settings.cpp index 4b801c91..ffedd9f5 100644 --- a/src/Model_Settings.cpp +++ b/src/Model_Settings.cpp @@ -184,6 +184,7 @@ LAMEXP_MAKE_ID(compressionAbrBitrateAften, "Compression/AbrTaretBitrate/Aften" LAMEXP_MAKE_ID(compressionAbrBitrateDcaEnc, "Compression/AbrTaretBitrate/DcaEnc"); LAMEXP_MAKE_ID(compressionAbrBitrateFLAC, "Compression/AbrTaretBitrate/FLAC"); LAMEXP_MAKE_ID(compressionAbrBitrateLAME, "Compression/AbrTaretBitrate/LAME"); +LAMEXP_MAKE_ID(compressionAbrBitrateMacEnc, "Compression/AbrTaretBitrate/MacEnc"); LAMEXP_MAKE_ID(compressionAbrBitrateOggEnc, "Compression/AbrTaretBitrate/OggEnc"); LAMEXP_MAKE_ID(compressionAbrBitrateOpusEnc, "Compression/AbrTaretBitrate/OpusEnc"); LAMEXP_MAKE_ID(compressionAbrBitrateWave, "Compression/AbrTaretBitrate/Wave"); @@ -192,6 +193,7 @@ LAMEXP_MAKE_ID(compressionCbrBitrateAften, "Compression/CbrTaretBitrate/Aften" LAMEXP_MAKE_ID(compressionCbrBitrateDcaEnc, "Compression/CbrTaretBitrate/DcaEnc"); LAMEXP_MAKE_ID(compressionCbrBitrateFLAC, "Compression/CbrTaretBitrate/FLAC"); LAMEXP_MAKE_ID(compressionCbrBitrateLAME, "Compression/CbrTaretBitrate/LAME"); +LAMEXP_MAKE_ID(compressionCbrBitrateMacEnc, "Compression/CbrTaretBitrate/MacEnc"); LAMEXP_MAKE_ID(compressionCbrBitrateOggEnc, "Compression/CbrTaretBitrate/OggEnc"); LAMEXP_MAKE_ID(compressionCbrBitrateOpusEnc, "Compression/CbrTaretBitrate/OpusEnc"); LAMEXP_MAKE_ID(compressionCbrBitrateWave, "Compression/CbrTaretBitrate/Wave"); @@ -201,6 +203,7 @@ LAMEXP_MAKE_ID(compressionRCModeAften, "Compression/RCMode/Aften"); LAMEXP_MAKE_ID(compressionRCModeDcaEnc, "Compression/RCMode/DcaEnc"); LAMEXP_MAKE_ID(compressionRCModeFLAC, "Compression/RCMode/FLAC"); LAMEXP_MAKE_ID(compressionRCModeLAME, "Compression/RCMode/LAME"); +LAMEXP_MAKE_ID(compressionRCModeMacEnc, "Compression/RCMode/MacEnc"); LAMEXP_MAKE_ID(compressionRCModeOggEnc, "Compression/RCMode/OggEnc"); LAMEXP_MAKE_ID(compressionRCModeOpusEnc, "Compression/RCMode/OpusEnc"); LAMEXP_MAKE_ID(compressionRCModeWave, "Compression/RCMode/Wave"); @@ -209,6 +212,7 @@ LAMEXP_MAKE_ID(compressionVbrQualityAften, "Compression/VbrQualityLevel/Aften" LAMEXP_MAKE_ID(compressionVbrQualityDcaEnc, "Compression/VbrQualityLevel/DcaEnc"); LAMEXP_MAKE_ID(compressionVbrQualityFLAC, "Compression/VbrQualityLevel/FLAC"); LAMEXP_MAKE_ID(compressionVbrQualityLAME, "Compression/VbrQualityLevel/LAME"); +LAMEXP_MAKE_ID(compressionVbrQualityMacEnc, "Compression/VbrQualityLevel/MacEnc"); LAMEXP_MAKE_ID(compressionVbrQualityOggEnc, "Compression/VbrQualityLevel/OggEnc"); LAMEXP_MAKE_ID(compressionVbrQualityOpusEnc, "Compression/VbrQualityLevel/OpusEnc"); LAMEXP_MAKE_ID(compressionVbrQualityWave, "Compression/VbrQualityLevel/Wave"); @@ -220,6 +224,7 @@ LAMEXP_MAKE_ID(customParametersAften, "AdvancedOptions/CustomParameters/A LAMEXP_MAKE_ID(customParametersDcaEnc, "AdvancedOptions/CustomParameters/DcaEnc"); LAMEXP_MAKE_ID(customParametersFLAC, "AdvancedOptions/CustomParameters/FLAC"); LAMEXP_MAKE_ID(customParametersLAME, "AdvancedOptions/CustomParameters/LAME"); +LAMEXP_MAKE_ID(customParametersMacEnc, "AdvancedOptions/CustomParameters/MacEnc"); LAMEXP_MAKE_ID(customParametersOggEnc, "AdvancedOptions/CustomParameters/OggEnc"); LAMEXP_MAKE_ID(customParametersOpusEnc, "AdvancedOptions/CustomParameters/OpusEnc"); LAMEXP_MAKE_ID(customParametersWave, "AdvancedOptions/CustomParameters/Wave"); @@ -571,6 +576,7 @@ LAMEXP_MAKE_OPTION_I(compressionAbrBitrateAften, 17) LAMEXP_MAKE_OPTION_I(compressionAbrBitrateDcaEnc, 13) LAMEXP_MAKE_OPTION_I(compressionAbrBitrateFLAC, 5) LAMEXP_MAKE_OPTION_I(compressionAbrBitrateLAME, 10) +LAMEXP_MAKE_OPTION_I(compressionAbrBitrateMacEnc, 2) LAMEXP_MAKE_OPTION_I(compressionAbrBitrateOggEnc, 16) LAMEXP_MAKE_OPTION_I(compressionAbrBitrateOpusEnc, 11) LAMEXP_MAKE_OPTION_I(compressionAbrBitrateWave, 0) @@ -579,6 +585,7 @@ LAMEXP_MAKE_OPTION_I(compressionCbrBitrateAften, 17) LAMEXP_MAKE_OPTION_I(compressionCbrBitrateDcaEnc, 13) LAMEXP_MAKE_OPTION_I(compressionCbrBitrateFLAC, 5) LAMEXP_MAKE_OPTION_I(compressionCbrBitrateLAME, 10) +LAMEXP_MAKE_OPTION_I(compressionCbrBitrateMacEnc, 2) LAMEXP_MAKE_OPTION_I(compressionCbrBitrateOggEnc, 16) LAMEXP_MAKE_OPTION_I(compressionCbrBitrateOpusEnc, 11) LAMEXP_MAKE_OPTION_I(compressionCbrBitrateWave, 0) @@ -588,6 +595,7 @@ LAMEXP_MAKE_OPTION_I(compressionRCModeAften, 0) LAMEXP_MAKE_OPTION_I(compressionRCModeDcaEnc, 2) LAMEXP_MAKE_OPTION_I(compressionRCModeFLAC, 0) LAMEXP_MAKE_OPTION_I(compressionRCModeLAME, 0) +LAMEXP_MAKE_OPTION_I(compressionRCModeMacEnc, 0) LAMEXP_MAKE_OPTION_I(compressionRCModeOggEnc, 0) LAMEXP_MAKE_OPTION_I(compressionRCModeOpusEnc, 0) LAMEXP_MAKE_OPTION_I(compressionRCModeWave, 2) @@ -596,6 +604,7 @@ LAMEXP_MAKE_OPTION_I(compressionVbrQualityAften, 15) LAMEXP_MAKE_OPTION_I(compressionVbrQualityDcaEnc, 13) LAMEXP_MAKE_OPTION_I(compressionVbrQualityFLAC, 5) LAMEXP_MAKE_OPTION_I(compressionVbrQualityLAME, 7) +LAMEXP_MAKE_OPTION_I(compressionVbrQualityMacEnc, 2) LAMEXP_MAKE_OPTION_I(compressionVbrQualityOggEnc, 7) LAMEXP_MAKE_OPTION_I(compressionVbrQualityOpusEnc, 11) LAMEXP_MAKE_OPTION_I(compressionVbrQualityWave, 0) @@ -607,6 +616,7 @@ LAMEXP_MAKE_OPTION_S(customParametersAften, QString()) LAMEXP_MAKE_OPTION_S(customParametersDcaEnc, QString()) LAMEXP_MAKE_OPTION_S(customParametersFLAC, QString()) LAMEXP_MAKE_OPTION_S(customParametersLAME, QString()) +LAMEXP_MAKE_OPTION_S(customParametersMacEnc, QString()) LAMEXP_MAKE_OPTION_S(customParametersOggEnc, QString()) LAMEXP_MAKE_OPTION_S(customParametersOpusEnc, QString()) LAMEXP_MAKE_OPTION_S(customParametersWave, QString()) diff --git a/src/Model_Settings.h b/src/Model_Settings.h index 0f223127..26c69d36 100644 --- a/src/Model_Settings.h +++ b/src/Model_Settings.h @@ -58,15 +58,16 @@ public: //Enums enum Encoder { - MP3Encoder = 0, + MP3Encoder = 0, VorbisEncoder = 1, - AACEncoder = 2, - AC3Encoder = 3, - FLACEncoder = 4, - OpusEncoder = 5, - DCAEncoder = 6, - PCMEncoder = 7, - ENCODER_COUNT = 8 + AACEncoder = 2, + AC3Encoder = 3, + FLACEncoder = 4, + OpusEncoder = 5, + DCAEncoder = 6, + MACEncoder = 7, + PCMEncoder = 8, + ENCODER_COUNT = 9 }; enum RCMode @@ -113,6 +114,7 @@ public: LAMEXP_MAKE_OPTION_I(compressionAbrBitrateDcaEnc) LAMEXP_MAKE_OPTION_I(compressionAbrBitrateFLAC) LAMEXP_MAKE_OPTION_I(compressionAbrBitrateLAME) + LAMEXP_MAKE_OPTION_I(compressionAbrBitrateMacEnc) LAMEXP_MAKE_OPTION_I(compressionAbrBitrateOggEnc) LAMEXP_MAKE_OPTION_I(compressionAbrBitrateOpusEnc) LAMEXP_MAKE_OPTION_I(compressionAbrBitrateWave) @@ -121,6 +123,7 @@ public: LAMEXP_MAKE_OPTION_I(compressionCbrBitrateDcaEnc) LAMEXP_MAKE_OPTION_I(compressionCbrBitrateFLAC) LAMEXP_MAKE_OPTION_I(compressionCbrBitrateLAME) + LAMEXP_MAKE_OPTION_I(compressionCbrBitrateMacEnc) LAMEXP_MAKE_OPTION_I(compressionCbrBitrateOggEnc) LAMEXP_MAKE_OPTION_I(compressionCbrBitrateOpusEnc) LAMEXP_MAKE_OPTION_I(compressionCbrBitrateWave) @@ -130,6 +133,7 @@ public: LAMEXP_MAKE_OPTION_I(compressionRCModeDcaEnc) LAMEXP_MAKE_OPTION_I(compressionRCModeFLAC) LAMEXP_MAKE_OPTION_I(compressionRCModeLAME) + LAMEXP_MAKE_OPTION_I(compressionRCModeMacEnc) LAMEXP_MAKE_OPTION_I(compressionRCModeOggEnc) LAMEXP_MAKE_OPTION_I(compressionRCModeOpusEnc) LAMEXP_MAKE_OPTION_I(compressionRCModeWave) @@ -138,6 +142,7 @@ public: LAMEXP_MAKE_OPTION_I(compressionVbrQualityDcaEnc) LAMEXP_MAKE_OPTION_I(compressionVbrQualityFLAC) LAMEXP_MAKE_OPTION_I(compressionVbrQualityLAME) + LAMEXP_MAKE_OPTION_I(compressionVbrQualityMacEnc) LAMEXP_MAKE_OPTION_I(compressionVbrQualityOggEnc) LAMEXP_MAKE_OPTION_I(compressionVbrQualityOpusEnc) LAMEXP_MAKE_OPTION_I(compressionVbrQualityWave) @@ -149,6 +154,7 @@ public: LAMEXP_MAKE_OPTION_S(customParametersDcaEnc) LAMEXP_MAKE_OPTION_S(customParametersFLAC) LAMEXP_MAKE_OPTION_S(customParametersLAME) + LAMEXP_MAKE_OPTION_S(customParametersMacEnc) LAMEXP_MAKE_OPTION_S(customParametersOggEnc) LAMEXP_MAKE_OPTION_S(customParametersOpusEnc) LAMEXP_MAKE_OPTION_S(customParametersWave) diff --git a/src/Registry_Encoder.cpp b/src/Registry_Encoder.cpp index b9382813..e1b23694 100644 --- a/src/Registry_Encoder.cpp +++ b/src/Registry_Encoder.cpp @@ -33,6 +33,7 @@ #include "Encoder_MP3.h" #include "Encoder_Vorbis.h" #include "Encoder_Opus.h" +#include "Encoder_MAC.h" #include "Encoder_Wave.h" #define IS_VBR(RC_MODE) ((RC_MODE) == SettingsModel::VBRMode) @@ -154,6 +155,13 @@ AbstractEncoder *EncoderRegistry::createInstance(const int encoderId, const Sett encoder = dcaEncoder; } break; + /*-------- MACEncoder --------*/ + case SettingsModel::MACEncoder: + { + MACEncoder *macEncoder = new MACEncoder(); + encoder = macEncoder; + } + break; /*-------- PCMEncoder --------*/ case SettingsModel::PCMEncoder: { @@ -196,6 +204,7 @@ const AbstractEncoderInfo *EncoderRegistry::getEncoderInfo(const int encoderId) case SettingsModel::FLACEncoder: info = FLACEncoder::getEncoderInfo(); break; case SettingsModel::OpusEncoder: info = OpusEncoder::getEncoderInfo(); break; case SettingsModel::DCAEncoder: info = DCAEncoder::getEncoderInfo(); break; + case SettingsModel::MACEncoder: info = MACEncoder::getEncoderInfo(); break; case SettingsModel::PCMEncoder: info = WaveEncoder::getEncoderInfo(); break; case SettingsModel::AACEncoder: switch(getAacEncoder()) @@ -252,6 +261,7 @@ void EncoderRegistry::saveEncoderMode(SettingsModel *settings, const int encoder case SettingsModel::FLACEncoder: STORE_MODE(FLAC, rcMode); break; case SettingsModel::OpusEncoder: STORE_MODE(OpusEnc, rcMode); break; case SettingsModel::DCAEncoder: STORE_MODE(DcaEnc, rcMode); break; + case SettingsModel::MACEncoder: STORE_MODE(MacEnc, rcMode); break; case SettingsModel::PCMEncoder: STORE_MODE(Wave, rcMode); break; default: THROW("Unsupported encoder!"); } @@ -271,6 +281,7 @@ int EncoderRegistry::loadEncoderMode(const SettingsModel *settings, const int en case SettingsModel::FLACEncoder: LOAD_MODE(rcMode, FLAC); break; case SettingsModel::OpusEncoder: LOAD_MODE(rcMode, OpusEnc); break; case SettingsModel::DCAEncoder: LOAD_MODE(rcMode, DcaEnc); break; + case SettingsModel::MACEncoder: LOAD_MODE(rcMode, MacEnc); break; case SettingsModel::PCMEncoder: LOAD_MODE(rcMode, Wave); break; default: THROW("Unsupported encoder!"); } @@ -316,6 +327,7 @@ void EncoderRegistry::saveEncoderValue(SettingsModel *settings, const int encode case SettingsModel::FLACEncoder: STORE_VALUE(FLAC, rcMode, value); break; case SettingsModel::OpusEncoder: STORE_VALUE(OpusEnc, rcMode, value); break; case SettingsModel::DCAEncoder: STORE_VALUE(DcaEnc, rcMode, value); break; + case SettingsModel::MACEncoder: STORE_VALUE(MacEnc, rcMode, value); break; case SettingsModel::PCMEncoder: STORE_VALUE(Wave, rcMode, value); break; default: THROW("Unsupported encoder!"); } @@ -341,6 +353,7 @@ int EncoderRegistry::loadEncoderValue(const SettingsModel *settings, const int e case SettingsModel::FLACEncoder: LOAD_VALUE(value, FLAC, rcMode); break; case SettingsModel::OpusEncoder: LOAD_VALUE(value, OpusEnc, rcMode); break; case SettingsModel::DCAEncoder: LOAD_VALUE(value, DcaEnc, rcMode); break; + case SettingsModel::MACEncoder: LOAD_VALUE(value, MacEnc, rcMode); break; case SettingsModel::PCMEncoder: LOAD_VALUE(value, Wave, rcMode); break; default: THROW("Unsupported encoder!"); } @@ -376,6 +389,7 @@ void EncoderRegistry::saveEncoderCustomParams(SettingsModel *settings, const int case SettingsModel::FLACEncoder: STORE_PARAMS(FLAC, params.trimmed()); break; case SettingsModel::OpusEncoder: STORE_PARAMS(OpusEnc, params.trimmed()); break; case SettingsModel::DCAEncoder: STORE_PARAMS(DcaEnc, params.trimmed()); break; + case SettingsModel::MACEncoder: STORE_PARAMS(MacEnc, params.trimmed()); break; case SettingsModel::PCMEncoder: STORE_PARAMS(Wave, params.trimmed()); break; default: THROW("Unsupported encoder!"); } @@ -395,6 +409,7 @@ QString EncoderRegistry::loadEncoderCustomParams(const SettingsModel *settings, case SettingsModel::FLACEncoder: LOAD_PARAMS(params, FLAC); break; case SettingsModel::OpusEncoder: LOAD_PARAMS(params, OpusEnc); break; case SettingsModel::DCAEncoder: LOAD_PARAMS(params, DcaEnc); break; + case SettingsModel::MACEncoder: LOAD_PARAMS(params, MacEnc); break; case SettingsModel::PCMEncoder: LOAD_PARAMS(params, Wave); break; default: THROW("Unsupported encoder!"); } @@ -419,6 +434,7 @@ void EncoderRegistry::resetAllEncoders(SettingsModel *settings) RESET_SETTING(settings, compressionAbrBitrateDcaEnc); RESET_SETTING(settings, compressionAbrBitrateFLAC); RESET_SETTING(settings, compressionAbrBitrateLAME); + RESET_SETTING(settings, compressionAbrBitrateMacEnc); RESET_SETTING(settings, compressionAbrBitrateOggEnc); RESET_SETTING(settings, compressionAbrBitrateOpusEnc); RESET_SETTING(settings, compressionAbrBitrateWave); @@ -428,6 +444,7 @@ void EncoderRegistry::resetAllEncoders(SettingsModel *settings) RESET_SETTING(settings, compressionCbrBitrateDcaEnc); RESET_SETTING(settings, compressionCbrBitrateFLAC); RESET_SETTING(settings, compressionCbrBitrateLAME); + RESET_SETTING(settings, compressionCbrBitrateMacEnc); RESET_SETTING(settings, compressionCbrBitrateOggEnc); RESET_SETTING(settings, compressionCbrBitrateOpusEnc); RESET_SETTING(settings, compressionCbrBitrateWave); @@ -437,6 +454,7 @@ void EncoderRegistry::resetAllEncoders(SettingsModel *settings) RESET_SETTING(settings, compressionRCModeDcaEnc); RESET_SETTING(settings, compressionRCModeFLAC); RESET_SETTING(settings, compressionRCModeLAME); + RESET_SETTING(settings, compressionRCModeMacEnc); RESET_SETTING(settings, compressionRCModeOggEnc); RESET_SETTING(settings, compressionRCModeOpusEnc); RESET_SETTING(settings, compressionRCModeWave); @@ -446,6 +464,7 @@ void EncoderRegistry::resetAllEncoders(SettingsModel *settings) RESET_SETTING(settings, compressionVbrQualityDcaEnc); RESET_SETTING(settings, compressionVbrQualityFLAC); RESET_SETTING(settings, compressionVbrQualityLAME); + RESET_SETTING(settings, compressionVbrQualityMacEnc); RESET_SETTING(settings, compressionVbrQualityOggEnc); RESET_SETTING(settings, compressionVbrQualityOpusEnc); RESET_SETTING(settings, compressionVbrQualityWave); diff --git a/src/Thread_CheckUpdate.cpp b/src/Thread_CheckUpdate.cpp index 7eedb273..6138e5f8 100644 --- a/src/Thread_CheckUpdate.cpp +++ b/src/Thread_CheckUpdate.cpp @@ -58,7 +58,7 @@ static const char *update_mirrors_prim[] = "http://muldersoft.zxq.net/", "http://lamexp.sourceforge.net/", "http://lamexp.berlios.de/", - "http://lordmulder.github.com/LameXP/", + "http://lordmulder.github.io/LameXP/", "http://lord_mulder.bitbucket.org/", "http://www.tricksoft.de/", NULL diff --git a/src/Tools.h b/src/Tools.h index 52adfc32..84b93c66 100644 --- a/src/Tools.h +++ b/src/Tools.h @@ -65,7 +65,7 @@ g_lamexp_tools[] = {"19c9dbe9089491c1f59ae48016d95d4336c4d3743577db4e782d8b59eca3b2bda6ed8f92f9004f88f434935b79e4974b", CPU_TYPE_ALL_ALL, "gpgv.gpg", UINT_MAX, ""}, {"53cfab3896a47d48f523315f475fa07856d468ad1aefcc8cce19c18cdf509e2f92840dab92a442995df36d941cb7a6ca", CPU_TYPE_ALL_GEN, "lame.i386.exe", 3995, "Final"}, {"9511e7ef2ad10de05386eedf7f14d637edab894a53dacd2f8f15c6f8ed582f12c25fb5bf88438e62c46b8eb92e7634b2", CPU_TYPE_ALL_SSE, "lame.sse2.exe", 3995, "Final"}, - {"0bc73180090547215d10cb7112d05503f7f666ef60ee0556d0f648a6c65172554ed04a05bc5d08b5645437c5408dffe9", CPU_TYPE_ALL_ALL, "mac.exe", 411, ""}, + {"fdbeb978025b9a5345300f37bb56446c31c7db594cf29407afdcc9ce20f4a5cec6eb8c03962c247d4f45b83c465ac705", CPU_TYPE_ALL_ALL, "mac.exe", 412, ""}, {"21c4e79cc032d3b7ee635295cef99dc8ec1a0bf184ef613cdd372ec6d406ba2f376dc2873f65e6ab7e9fc0b38aabbb59", CPU_TYPE_X86_ALL, "mediainfo.i386.exe", 764, ""}, {"4e74c7802f9b015c7da9a97a37af0c6eced9f0fead3ad6720e76ac9d429d0319b5013e7957106a28a22f7415fb01b3d3", CPU_TYPE_X64_ALL, "mediainfo.x64.exe", 764, ""}, {"7e6346a057634ff07b2e1f427035324f7f02100cc996425990f87f71d767fce4c7b101588c7d944ba49cb2d7e51c9bdb", CPU_TYPE_ALL_ALL, "mpcdec.exe", 475, ""}, @@ -80,7 +80,8 @@ g_lamexp_tools[] = {"bdfa8dec142b6327a33af6bb314d7beb924588d1b73f2ef3f46b31fa6046fe2f4e64ca78b025b7eb9290a78320e2aa57", CPU_TYPE_ALL_ALL, "refalac.exe", 56, ""}, {"d041b60de6c5c6e77cbad84440db57bbeb021af59dd0f7bebd3ede047d9e2ddc2a0c14179472687ba91063743d23e337", CPU_TYPE_ALL_ALL, "shorten.exe", 361, ""}, {"cf988bfbb53e77a1dcaefbd5c08789abb4d67cc210723f1f8ba7850f17d34ebb7d0c426b67b963e7d2290a2744865244", CPU_TYPE_ALL_ALL, "sox.exe", 1441, ""}, - {"5a4261e1b41a59d1a5bc92e1d2766422a67454d77e06ea29af392811b7b4704e0f3e494ab9cb6375ce9e39257867c5ed", CPU_TYPE_ALL_ALL, "speexdec.exe", 12}, + {"5a4261e1b41a59d1a5bc92e1d2766422a67454d77e06ea29af392811b7b4704e0f3e494ab9cb6375ce9e39257867c5ed", CPU_TYPE_ALL_ALL, "speexdec.exe", 12, ""}, + {"75d4c18dbb74e2dbf7342698428248d45cc4070d5f95da8831ef755e63dcd7ff9c3a760f289e8ef8b5c06b82548edbd8", CPU_TYPE_ALL_ALL, "tag.exe", 100, ""}, {"a83628880da0b7519ec368a74a92da5a5099d8d46aa0583131f92d7321f47c9e16a1841b2a3fb8ffcca7205ef4b1bb0a", CPU_TYPE_ALL_ALL, "tta.exe", 21, ""}, {"9e1ade2137ea5cee0ad4657971c314a372df3068594fbe4f77d45b9eb65fa7c69e55027b0df81b6fe072a220e9a8ba8a", CPU_TYPE_ALL_ALL, "valdec.exe", 100, "a"}, {"509df39fdd7033b0f1af831304d0d6c08b74d5a48e2c038857a78b9dfaa4fb83c6b5c7ea202ba2270c0384607f2316ee", CPU_TYPE_ALL_ALL, "wget.exe", 1140, ""},