From af7bb2026a539e5740c43c6bff0e59b896912367 Mon Sep 17 00:00:00 2001 From: lordmulder Date: Thu, 6 Oct 2011 23:55:42 +0200 Subject: [PATCH] Made the channel equalization mode of the "normalization" filter an advanced option. The "-ne" mode still is default, be you can use "-nb" or even "-n" now. The last one still has problems with multi-channel files. --- etc/Translation/Blank.ts | 556 ++++++++++++++++++---------------- etc/Translation/LameXP_DE.ts | 16 + etc/Translation/LameXP_ES.ts | 16 + etc/Translation/LameXP_FR.ts | 16 + etc/Translation/LameXP_IT.ts | 16 + etc/Translation/LameXP_KR.ts | 16 + etc/Translation/LameXP_PL.ts | 556 ++++++++++++++++++---------------- etc/Translation/LameXP_RU.ts | 16 + etc/Translation/LameXP_UK.ts | 16 + gui/MainWindow.ui | 120 ++++++-- res/localization/LameXP_DE.qm | Bin 71708 -> 71997 bytes src/Config.h | 2 +- src/Dialog_MainWindow.cpp | 15 +- src/Dialog_MainWindow.h | 1 + src/Dialog_Processing.cpp | 2 +- src/Filter_Normalize.cpp | 6 +- src/Filter_Normalize.h | 3 +- src/Model_Settings.cpp | 2 + src/Model_Settings.h | 1 + 19 files changed, 806 insertions(+), 570 deletions(-) diff --git a/etc/Translation/Blank.ts b/etc/Translation/Blank.ts index e198bdac..6168ae89 100644 --- a/etc/Translation/Blank.ts +++ b/etc/Translation/Blank.ts @@ -689,7 +689,7 @@ - + Source Files @@ -710,13 +710,13 @@ - + Show Details - + Output Directory @@ -752,7 +752,7 @@ - + Meta Data @@ -793,7 +793,7 @@ - + Compression @@ -869,7 +869,7 @@ - + Advanced Options @@ -1050,1096 +1050,1116 @@ - + + Peak Level + + + + + RMS Level + + + + + None + + + + + Equalization Mode: + + + + Tone Adjustment - + Adjust Treble (dB): - + Adjust Bass (dB): - + Custom Encoder Parameters - - - - - + + + + + You can eneter 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: - + 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: - + 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 - + Adding file(s), please wait... - - + + Access Denied - + %1 file(s) have been rejected, because read access was not granted! - + This usually means the file is locked by another process. - + CDDA Files - + %1 file(s) have been rejected, because they are dummy CDDA files! - + Sorry, LameXP cannot extract audio tracks from an Audio&minus;CD at present. - + We recommend using %1 for that purpose. - + Cue Sheet - + %1 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 - + %1 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 - + You can drop in audio files here! - + Open File in External Application - + Browse File Location - + Browse Selected Folder - + Bookmark Current Output Folder - + 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! diff --git a/etc/Translation/LameXP_DE.ts b/etc/Translation/LameXP_DE.ts index 0c028ff3..2be1e068 100644 --- a/etc/Translation/LameXP_DE.ts +++ b/etc/Translation/LameXP_DE.ts @@ -1654,6 +1654,22 @@ Warning: Processing speed will be very slow. Please do <u>not</u> complain about processing speed! Achtung: Die Geschwindigkeit wird sehr gering sein. Bitte <u>nicht</u> über die Geschwindigkeit beschweren! + + Peak Level + Max. Pegel + + + RMS Level + Max. Energie + + + None + Keiner + + + Equalization Mode: + Angleichungsmodus: + MetaInfo diff --git a/etc/Translation/LameXP_ES.ts b/etc/Translation/LameXP_ES.ts index 83d21ebc..8587bcc6 100644 --- a/etc/Translation/LameXP_ES.ts +++ b/etc/Translation/LameXP_ES.ts @@ -1653,6 +1653,22 @@ Warning: Processing speed will be very slow. Please do <u>not</u> complain about processing speed! Aviso: ¡La velocidad de proceso será muy lenta. Por favor, <u>no</u> se queje de la velocidad de proceso! + + Peak Level + + + + RMS Level + + + + None + + + + Equalization Mode: + + MetaInfo diff --git a/etc/Translation/LameXP_FR.ts b/etc/Translation/LameXP_FR.ts index ff2f560f..efce9df1 100644 --- a/etc/Translation/LameXP_FR.ts +++ b/etc/Translation/LameXP_FR.ts @@ -1663,6 +1663,22 @@ Ouvrir le dossier récursivement... Warning: Processing speed will be very slow. Please do <u>not</u> complain about processing speed! + + Peak Level + + + + RMS Level + + + + None + + + + Equalization Mode: + + MetaInfo diff --git a/etc/Translation/LameXP_IT.ts b/etc/Translation/LameXP_IT.ts index 76a51547..52e17b18 100644 --- a/etc/Translation/LameXP_IT.ts +++ b/etc/Translation/LameXP_IT.ts @@ -1654,6 +1654,22 @@ Warning: Processing speed will be very slow. Please do <u>not</u> complain about processing speed! + + Peak Level + + + + RMS Level + + + + None + + + + Equalization Mode: + + MetaInfo diff --git a/etc/Translation/LameXP_KR.ts b/etc/Translation/LameXP_KR.ts index c761ae13..c507e630 100644 --- a/etc/Translation/LameXP_KR.ts +++ b/etc/Translation/LameXP_KR.ts @@ -1653,6 +1653,22 @@ Warning: Processing speed will be very slow. Please do <u>not</u> complain about processing speed! + + Peak Level + + + + RMS Level + + + + None + + + + Equalization Mode: + + MetaInfo diff --git a/etc/Translation/LameXP_PL.ts b/etc/Translation/LameXP_PL.ts index 9c937c4d..7973dec7 100644 --- a/etc/Translation/LameXP_PL.ts +++ b/etc/Translation/LameXP_PL.ts @@ -689,7 +689,7 @@ - + Source Files Pliki źródłowe @@ -710,13 +710,13 @@ - + Show Details Pokaż szczegóły - + Output Directory Folder docelowy @@ -752,7 +752,7 @@ - + Meta Data Tagi @@ -793,7 +793,7 @@ - + Compression Kompresja @@ -869,7 +869,7 @@ - + Advanced Options Opcje zaawansowane @@ -1050,1096 +1050,1116 @@ Najwyższa głośność (dB): - + + Peak Level + + + + + RMS Level + + + + + None + + + + + Equalization Mode: + + + + 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 eneter 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: - + 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 rdzeni (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 Mowa - + 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: Wzór wyjściowy: - + Example File Name: Przykładowa nazwa pliku: - + 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)... - - + + 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 - + Adding file(s), please wait... Dodawanie plików, prosze czekać... - - + + Access Denied Dostęp zablokowany - + %1 file(s) have been rejected, because read access was not granted! %1 plik(ów) zostało odrzuconych z powodu braku dostępu do pliku! - + 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 - + %1 file(s) have been rejected, because they are dummy CDDA files! %1 plik(ów) zostało odrzuconych ponieważ to nie są właściwe pliki CDDA! - + Sorry, LameXP cannot extract audio tracks from an Audio&minus;CD at present. LameXP nie może teraz wyekstrachować ścieżki z płyty Audio&minus;CD. - + We recommend using %1 for that purpose. Zaleca się użycie w tym celu %1. - + Cue Sheet Cue Sheet - + %1 file(s) have been rejected, because they appear to be Cue Sheet images! %1 plik(ów) zostało odrzuconych, ponieważ to nie są pliki obrazów 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 - + %1 file(s) have been rejected, because the file format could not be recognized! %1 plik(ów) zostało odrzuconych, ponieważ ich format nie został rozpoznany! - + 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ć... - + DEMO VERSION WERSJA DEMO - + 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 demo (beta) 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. - + 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 n/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. - + 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 - + 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. - - - + + + 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 - - + + 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 (Very Slow) Najlepsza jakość (Bardzo wolno) - + High Quality (Recommended) Wysoka jakość (Zalecane) - + Average Quality (Default) Średnia jakość (Domyślnie) - + Low Quality (Fast) Niska jakość (Szybko) - + 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 - + %1 Instance(s) %1 wątek/ki - + Cannot write to the selected directory. Please choose another directory! Nie można zapisać do wybranej lokalizacji. Prosze wybierz inną lokalizację! - + Already Running Już działa - + LameXP is already running, please use the running instance! LameXP już działa, przejdź do działającego programu! diff --git a/etc/Translation/LameXP_RU.ts b/etc/Translation/LameXP_RU.ts index e8639426..97986619 100644 --- a/etc/Translation/LameXP_RU.ts +++ b/etc/Translation/LameXP_RU.ts @@ -1659,6 +1659,22 @@ Warning: Processing speed will be very slow. Please do <u>not</u> complain about processing speed! + + Peak Level + + + + RMS Level + + + + None + + + + Equalization Mode: + + MetaInfo diff --git a/etc/Translation/LameXP_UK.ts b/etc/Translation/LameXP_UK.ts index d604d1cb..c2d9cf7f 100644 --- a/etc/Translation/LameXP_UK.ts +++ b/etc/Translation/LameXP_UK.ts @@ -1654,6 +1654,22 @@ Warning: Processing speed will be very slow. Please do <u>not</u> complain about processing speed! Попередження: Швидкість обробки буде дуже низькою. Будь ласка, <u>не</u> жалійтеся потім на швидкість обробки! + + Peak Level + + + + RMS Level + + + + None + + + + Equalization Mode: + + MetaInfo diff --git a/gui/MainWindow.ui b/gui/MainWindow.ui index 4610e39e..87309051 100644 --- a/gui/MainWindow.ui +++ b/gui/MainWindow.ui @@ -1100,7 +1100,7 @@ 0 0 604 - 1486 + 1524 @@ -1918,32 +1918,6 @@ - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - @@ -1960,7 +1934,7 @@ - + Qt::Vertical @@ -1976,6 +1950,80 @@ + + + + false + + + 0 + + + + Peak Level + + + + + RMS Level + + + + + None + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Equalization Mode: + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 6 + + + + @@ -4354,5 +4402,21 @@ + + checkBoxNormalizationFilter + clicked(bool) + comboBoxNormalizationMode + setEnabled(bool) + + + 80 + 89 + + + 80 + 89 + + + diff --git a/res/localization/LameXP_DE.qm b/res/localization/LameXP_DE.qm index f56c615e5ba39b443c07658ffa7197d9073edf44..572783ec94573193906956dfb1cff9f0c36831d9 100644 GIT binary patch delta 3747 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 diff --git a/src/Config.h b/src/Config.h index 26ae9b1e..ac2153ca 100644 --- a/src/Config.h +++ b/src/Config.h @@ -30,7 +30,7 @@ #define VER_LAMEXP_MINOR_LO 3 #define VER_LAMEXP_TYPE Beta #define VER_LAMEXP_PATCH 3 -#define VER_LAMEXP_BUILD 714 +#define VER_LAMEXP_BUILD 716 /////////////////////////////////////////////////////////////////////////////// // Tools versions diff --git a/src/Dialog_MainWindow.cpp b/src/Dialog_MainWindow.cpp index 0bd5e0d3..7c487cec 100644 --- a/src/Dialog_MainWindow.cpp +++ b/src/Dialog_MainWindow.cpp @@ -237,6 +237,7 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S comboBoxAACProfile->setCurrentIndex(m_settings->aacEncProfile()); comboBoxAftenCodingMode->setCurrentIndex(m_settings->aftenAudioCodingMode()); comboBoxAftenDRCMode->setCurrentIndex(m_settings->aftenDynamicRangeCompression()); + comboBoxNormalizationMode->setCurrentIndex(m_settings->normalizationFilterEqualizationMode()); while(checkBoxBitrateManagement->isChecked() != m_settings->bitrateManagementEnabled()) checkBoxBitrateManagement->click(); while(checkBoxNeroAAC2PassMode->isChecked() != m_settings->neroAACEnable2Pass()) checkBoxNeroAAC2PassMode->click(); while(checkBoxAftenFastAllocation->isChecked() != m_settings->aftenFastBitAllocation()) checkBoxAftenFastAllocation->click(); @@ -267,6 +268,7 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S connect(spinBoxAftenSearchSize, SIGNAL(valueChanged(int)), this, SLOT(aftenSearchSizeChanged(int))); connect(checkBoxAftenFastAllocation, SIGNAL(clicked(bool)), this, SLOT(aftenFastAllocationChanged(bool))); connect(spinBoxNormalizationFilter, SIGNAL(valueChanged(double)), this, SLOT(normalizationMaxVolumeChanged(double))); + connect(comboBoxNormalizationMode, SIGNAL(currentIndexChanged(int)), this, SLOT(normalizationModeChanged(int))); connect(spinBoxToneAdjustBass, SIGNAL(valueChanged(double)), this, SLOT(toneAdjustBassChanged(double))); connect(spinBoxToneAdjustTreble, SIGNAL(valueChanged(double)), this, SLOT(toneAdjustTrebleChanged(double))); connect(buttonToneAdjustReset, SIGNAL(clicked()), this, SLOT(toneAdjustTrebleReset())); @@ -657,7 +659,7 @@ void MainWindow::changeEvent(QEvent *e) { if(e->type() == QEvent::LanguageChange) { - int comboBoxIndex[5]; + int comboBoxIndex[6]; //Backup combobox indices, as retranslateUi() resets comboBoxIndex[0] = comboBoxMP3ChannelMode->currentIndex(); @@ -665,6 +667,7 @@ void MainWindow::changeEvent(QEvent *e) comboBoxIndex[2] = comboBoxAACProfile->currentIndex(); comboBoxIndex[3] = comboBoxAftenCodingMode->currentIndex(); comboBoxIndex[4] = comboBoxAftenDRCMode->currentIndex(); + comboBoxIndex[5] = comboBoxNormalizationMode->currentIndex(); //Re-translate from UIC Ui::MainWindow::retranslateUi(this); @@ -675,6 +678,7 @@ void MainWindow::changeEvent(QEvent *e) comboBoxAACProfile->setCurrentIndex(comboBoxIndex[2]); comboBoxAftenCodingMode->setCurrentIndex(comboBoxIndex[3]); comboBoxAftenDRCMode->setCurrentIndex(comboBoxIndex[4]); + comboBoxNormalizationMode->setCurrentIndex(comboBoxIndex[5]); //Update the window title if(LAMEXP_DEBUG) @@ -2790,6 +2794,14 @@ void MainWindow::normalizationMaxVolumeChanged(double value) m_settings->normalizationFilterMaxVolume(static_cast(value * 100.0)); } +/* + * Normalization equalization mode changed + */ +void MainWindow::normalizationModeChanged(int mode) +{ + m_settings->normalizationFilterEqualizationMode(mode); +} + /* * Tone adjustment has changed (Bass) */ @@ -3022,6 +3034,7 @@ void MainWindow::resetAdvancedOptionsButtonClicked(void) comboBoxAACProfile->setCurrentIndex(m_settings->aacEncProfileDefault()); comboBoxAftenCodingMode->setCurrentIndex(m_settings->aftenAudioCodingModeDefault()); comboBoxAftenDRCMode->setCurrentIndex(m_settings->aftenDynamicRangeCompressionDefault()); + comboBoxNormalizationMode->setCurrentIndex(m_settings->normalizationFilterEqualizationModeDefault()); while(checkBoxBitrateManagement->isChecked() != m_settings->bitrateManagementEnabledDefault()) checkBoxBitrateManagement->click(); while(checkBoxNeroAAC2PassMode->isChecked() != m_settings->neroAACEnable2PassDefault()) checkBoxNeroAAC2PassMode->click(); while(checkBoxNormalizationFilter->isChecked() != m_settings->normalizationFilterEnabledDefault()) checkBoxNormalizationFilter->click(); diff --git a/src/Dialog_MainWindow.h b/src/Dialog_MainWindow.h index d92e10a5..7dfcf5e4 100644 --- a/src/Dialog_MainWindow.h +++ b/src/Dialog_MainWindow.h @@ -97,6 +97,7 @@ private slots: void neroAACProfileChanged(int value); void normalizationEnabledChanged(bool checked); void normalizationMaxVolumeChanged(double volume); + void normalizationModeChanged(int mode); void notifyOtherInstance(void); void openFolderActionActivated(void); void outputFolderContextMenu(const QPoint &pos); diff --git a/src/Dialog_Processing.cpp b/src/Dialog_Processing.cpp index fdb6e872..b4b586b4 100644 --- a/src/Dialog_Processing.cpp +++ b/src/Dialog_Processing.cpp @@ -692,7 +692,7 @@ void ProcessingDialog::startNextJob(void) } if(m_settings->normalizationFilterEnabled()) { - thread->addFilter(new NormalizeFilter(m_settings->normalizationFilterMaxVolume())); + thread->addFilter(new NormalizeFilter(m_settings->normalizationFilterMaxVolume(), m_settings->normalizationFilterEqualizationMode())); } if(m_settings->renameOutputFilesEnabled() && (!m_settings->renameOutputFilesPattern().simplified().isEmpty())) { diff --git a/src/Filter_Normalize.cpp b/src/Filter_Normalize.cpp index fe3c785e..7facb3bf 100644 --- a/src/Filter_Normalize.cpp +++ b/src/Filter_Normalize.cpp @@ -27,7 +27,7 @@ #include #include -NormalizeFilter::NormalizeFilter(int peakVolume) +NormalizeFilter::NormalizeFilter(int peakVolume, int equalizationMode) : m_binary(lamexp_lookup_tool("sox.exe")) { @@ -37,6 +37,7 @@ NormalizeFilter::NormalizeFilter(int peakVolume) } m_peakVolume = min(-50, max(-3200, peakVolume)); + m_equalizationMode = min(2, max(0, equalizationMode)); } NormalizeFilter::~NormalizeFilter(void) @@ -47,6 +48,7 @@ bool NormalizeFilter::apply(const QString &sourceFile, const QString &outputFile { QProcess process; QStringList args; + QString eqMode = (m_equalizationMode == 0) ? "-ne" : ((m_equalizationMode == 1) ? "-nb" : "-n"); process.setWorkingDirectory(QFileInfo(outputFile).canonicalPath()); @@ -55,7 +57,7 @@ bool NormalizeFilter::apply(const QString &sourceFile, const QString &outputFile args << QDir::toNativeSeparators(sourceFile); args << QDir::toNativeSeparators(outputFile); args << "gain"; - args << "-ne" << QString().sprintf("%.2f", static_cast(m_peakVolume) / 100.0); + args << eqMode << QString().sprintf("%.2f", static_cast(m_peakVolume) / 100.0); if(!startProcess(process, m_binary, args)) { diff --git a/src/Filter_Normalize.h b/src/Filter_Normalize.h index bb9f80b1..8bbc57cc 100644 --- a/src/Filter_Normalize.h +++ b/src/Filter_Normalize.h @@ -26,7 +26,7 @@ class NormalizeFilter : public AbstractFilter { public: - NormalizeFilter(int peakVolume = -50); + NormalizeFilter(int peakVolume = -50, int equalizationMode = 0); ~NormalizeFilter(void); virtual bool apply(const QString &sourceFile, const QString &outputFile, volatile bool *abortFlag); @@ -34,4 +34,5 @@ public: private: const QString m_binary; int m_peakVolume; + int m_equalizationMode; }; diff --git a/src/Model_Settings.cpp b/src/Model_Settings.cpp index bd15a519..fb4baad9 100644 --- a/src/Model_Settings.cpp +++ b/src/Model_Settings.cpp @@ -103,6 +103,7 @@ LAMEXP_MAKE_ID(neroAACEnable2Pass, "AdvancedOptions/AACEnc/Enable2Pass"); LAMEXP_MAKE_ID(aacEncProfile, "AdvancedOptions/AACEnc/ForceProfile"); LAMEXP_MAKE_ID(normalizationFilterEnabled, "AdvancedOptions/VolumeNormalization/Enabled"); LAMEXP_MAKE_ID(normalizationFilterMaxVolume, "AdvancedOptions/VolumeNormalization/MaxVolume"); +LAMEXP_MAKE_ID(normalizationFilterEqualizationMode, "AdvancedOptions/VolumeNormalization/EqualizationMode"); LAMEXP_MAKE_ID(toneAdjustBass, "AdvancedOptions/ToneAdjustment/Bass"); LAMEXP_MAKE_ID(toneAdjustTreble, "AdvancedOptions/ToneAdjustment/Treble"); LAMEXP_MAKE_ID(customParametersLAME, "AdvancedOptions/CustomParameters/LAME"); @@ -346,6 +347,7 @@ LAMEXP_MAKE_OPTION_B(aftenFastBitAllocation, false); LAMEXP_MAKE_OPTION_I(aftenExponentSearchSize, 8); LAMEXP_MAKE_OPTION_B(normalizationFilterEnabled, false) LAMEXP_MAKE_OPTION_I(normalizationFilterMaxVolume, -50) +LAMEXP_MAKE_OPTION_I(normalizationFilterEqualizationMode, 0); LAMEXP_MAKE_OPTION_I(toneAdjustBass, 0) LAMEXP_MAKE_OPTION_I(toneAdjustTreble, 0) LAMEXP_MAKE_OPTION_S(customParametersLAME, QString()); diff --git a/src/Model_Settings.h b/src/Model_Settings.h index bb6d9689..01bbf433 100644 --- a/src/Model_Settings.h +++ b/src/Model_Settings.h @@ -112,6 +112,7 @@ public: LAMEXP_MAKE_OPTION_I(aftenExponentSearchSize); LAMEXP_MAKE_OPTION_B(normalizationFilterEnabled); LAMEXP_MAKE_OPTION_I(normalizationFilterMaxVolume); + LAMEXP_MAKE_OPTION_I(normalizationFilterEqualizationMode); LAMEXP_MAKE_OPTION_I(toneAdjustBass); LAMEXP_MAKE_OPTION_I(toneAdjustTreble); LAMEXP_MAKE_OPTION_S(customParametersLAME);