From 3e18116dd5f8a6c12643d0a42c5214968dbca6d3 Mon Sep 17 00:00:00 2001 From: lordmulder Date: Sun, 29 Jul 2012 22:55:02 +0200 Subject: [PATCH] Added "custom parameters" options for Opus. Also added a "help" button for all "custom parameters" edit boxes, which will simply show the CLI help screen. --- LameXP_VS2010.vcxproj | 35 +- LameXP_VS2010.vcxproj.filters | 6 + etc/Translation/Blank.ts | 682 +++++++++++++++++----------------- etc/Translation/LameXP_DE.ts | 4 + etc/Translation/LameXP_ES.ts | 4 + etc/Translation/LameXP_FR.ts | 4 + etc/Translation/LameXP_IT.ts | 4 + etc/Translation/LameXP_KR.ts | 4 + etc/Translation/LameXP_PL.ts | 682 +++++++++++++++++----------------- etc/Translation/LameXP_RU.ts | 4 + etc/Translation/LameXP_SV.ts | 682 +++++++++++++++++----------------- etc/Translation/LameXP_TW.ts | 4 + etc/Translation/LameXP_UK.ts | 4 + etc/Translation/LameXP_ZH.ts | 4 + gui/MainWindow.ui | 114 +++++- res/Icons.qrc | 1 + src/Config.h | 2 +- src/CustomEventFilter.h | 57 +++ src/Dialog_MainWindow.cpp | 198 ++++++++-- src/Dialog_MainWindow.h | 4 + src/Dialog_Processing.cpp | 2 +- src/Model_Settings.cpp | 2 + src/Model_Settings.h | 1 + 23 files changed, 1446 insertions(+), 1058 deletions(-) create mode 100644 src/CustomEventFilter.h diff --git a/LameXP_VS2010.vcxproj b/LameXP_VS2010.vcxproj index 39b4c7e8..38bb328e 100644 --- a/LameXP_VS2010.vcxproj +++ b/LameXP_VS2010.vcxproj @@ -462,6 +462,7 @@ del "$(TargetDir)imageformats\q???d4.dll" + @@ -516,6 +517,23 @@ del "$(TargetDir)imageformats\q???d4.dll" + + "$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)" + MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp" + "$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)" + MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp" + "$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)" + MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp" + "$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)" + MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp" + "$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)" + MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp" + $(SolutionDir)tmp\MOC_%(Filename).cpp;%(Outputs) + $(SolutionDir)tmp\MOC_%(Filename).cpp;%(Outputs) + $(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)" @@ -726,9 +744,9 @@ del "$(TargetDir)imageformats\q???d4.dll" "$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)" - "$(QTDIR5)\qtbase\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)" - "$(QTDIR5)\qtbase\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" @@ -1332,21 +1350,18 @@ del "$(TargetDir)imageformats\q???d4.dll" MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp" MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp" - "$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)" - - "$(QTDIR5)\qtbase\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)" $(SolutionDir)tmp\MOC_%(Filename).cpp;%(Outputs) $(SolutionDir)tmp\MOC_%(Filename).cpp;%(Outputs) MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp" MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp" - "$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)" - - "$(QTDIR5)\qtbase\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)" $(SolutionDir)tmp\MOC_%(Filename).cpp;%(Outputs) $(SolutionDir)tmp\MOC_%(Filename).cpp;%(Outputs) MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp" - "$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)" - + "$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)" $(SolutionDir)tmp\MOC_%(Filename).cpp;%(Outputs) diff --git a/LameXP_VS2010.vcxproj.filters b/LameXP_VS2010.vcxproj.filters index b201fee4..9d02a6e8 100644 --- a/LameXP_VS2010.vcxproj.filters +++ b/LameXP_VS2010.vcxproj.filters @@ -373,6 +373,9 @@ Source Files\Decoders + + Generated Files\MOC + @@ -686,6 +689,9 @@ Header Files\Encoders + + Header Files\Misc + diff --git a/etc/Translation/Blank.ts b/etc/Translation/Blank.ts index 51e20eae..07bae8e8 100644 --- a/etc/Translation/Blank.ts +++ b/etc/Translation/Blank.ts @@ -760,7 +760,7 @@ - + Source Files @@ -781,13 +781,13 @@ - + Show Details - + Output Directory @@ -833,7 +833,7 @@ - + Meta Data @@ -874,7 +874,7 @@ - + Compression @@ -960,7 +960,7 @@ - + Advanced Options @@ -1186,6 +1186,7 @@ + You can enter custom parameters here! @@ -1220,1239 +1221,1244 @@ - + + 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 - + Optimize for Signal Type: - + Encoding Complexity: - + Music - + (Undefined) - + Frame Size: - + Use Experimental Encoder Perceptual Tuning - + 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 - + Hibernate Computer On Shutdown - + 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-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! - + Initializing directory outline, please be patient... - + Open File in External Application - + Browse File Location - + Browse Selected Folder - + Refresh Directory Outline - + 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 - - + + 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! - + QAAC (Apple) - + FHG AAC (Winamp) - + Nero AAC - + Not available! - + Current AAC Encoder: %1 - - - - + + + + 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! @@ -2908,141 +2914,141 @@ - + Show details for selected job - + Browse Output File Location - + Encoding Files - + Your files are being encoded, please be patient... - + Encoding files, please wait... - + Multi-threading enabled: Running %1 instances in parallel! - + Aborted! Waiting for running jobs to terminate... - + Encoding: %1 files of %2 completed so far, please wait... - + Creating the playlist file, please wait... - + Process was aborted by the user after %1 file(s)! - + Process was aborted prematurely by the user! - + LameXP - Aborted - + Process was aborted by the user. - + Process finished after %1. - + Error: %1 of %2 files failed. Double-click failed items for detailed information! - + LameXP - Error - + At least one file has failed! - - + + All files completed successfully. - + LameXP - Done - + Playlist creation failed - + The playlist file could not be created: - + Warning: Computer will shutdown in %1 seconds... - - + + Cancel Shutdown - + hour(s) - - + + minute(s) - - + + second(s) - + millisecond(s) diff --git a/etc/Translation/LameXP_DE.ts b/etc/Translation/LameXP_DE.ts index 1985ad4a..01d331be 100644 --- a/etc/Translation/LameXP_DE.ts +++ b/etc/Translation/LameXP_DE.ts @@ -1890,6 +1890,10 @@ Use Experimental Encoder Perceptual Tuning Psychoakustische Optimierungen (experimentell) + + OpusEnc: + + MetaInfo diff --git a/etc/Translation/LameXP_ES.ts b/etc/Translation/LameXP_ES.ts index 1e875bcc..f047a461 100644 --- a/etc/Translation/LameXP_ES.ts +++ b/etc/Translation/LameXP_ES.ts @@ -1889,6 +1889,10 @@ Use Experimental Encoder Perceptual Tuning + + OpusEnc: + + MetaInfo diff --git a/etc/Translation/LameXP_FR.ts b/etc/Translation/LameXP_FR.ts index c04e0dd0..009d2727 100644 --- a/etc/Translation/LameXP_FR.ts +++ b/etc/Translation/LameXP_FR.ts @@ -1899,6 +1899,10 @@ Ouvrir le dossier récursivement... Use Experimental Encoder Perceptual Tuning + + OpusEnc: + + MetaInfo diff --git a/etc/Translation/LameXP_IT.ts b/etc/Translation/LameXP_IT.ts index 62add78c..be571acb 100644 --- a/etc/Translation/LameXP_IT.ts +++ b/etc/Translation/LameXP_IT.ts @@ -1890,6 +1890,10 @@ Use Experimental Encoder Perceptual Tuning + + OpusEnc: + + MetaInfo diff --git a/etc/Translation/LameXP_KR.ts b/etc/Translation/LameXP_KR.ts index c93fe5cd..2d04f910 100644 --- a/etc/Translation/LameXP_KR.ts +++ b/etc/Translation/LameXP_KR.ts @@ -1889,6 +1889,10 @@ Use Experimental Encoder Perceptual Tuning + + OpusEnc: + + MetaInfo diff --git a/etc/Translation/LameXP_PL.ts b/etc/Translation/LameXP_PL.ts index 7b39d6e9..0831229b 100644 --- a/etc/Translation/LameXP_PL.ts +++ b/etc/Translation/LameXP_PL.ts @@ -760,7 +760,7 @@ - + Source Files Pliki źródłowe @@ -781,13 +781,13 @@ - + Show Details Pokaż szczegóły - + Output Directory Folder docelowy @@ -823,7 +823,7 @@ - + Meta Data Tagi @@ -864,7 +864,7 @@ - + Compression Kompresja @@ -915,7 +915,7 @@ - + Advanced Options Opcje zaawansowane @@ -1186,6 +1186,7 @@ + You can enter custom parameters here! Tutaj możesz wpisać własne parametry kodowania! @@ -1220,1239 +1221,1244 @@ Aften A/52: - + + 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 - + 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 - + Optimize for Signal Type: - + Encoding Complexity: - + Music - + (Undefined) - + Frame Size: - + Use Experimental Encoder Perceptual Tuning - + 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 - + Hibernate Computer On Shutdown Hibernuj zamiast zamykać - + 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-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 - + %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ć... - + 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. 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 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. - + DEMO VERSION WERSJA DEMO - + (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 - + Initializing directory outline, please be patient... Ładowanie zestawu folderów, prosze czekać... - + Refresh Directory Outline Odśwież foldery - + 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 - - + + 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! - + QAAC (Apple) QAAC (Apple) - + FHG AAC (Winamp) FHG AAC (Winamp) - + Nero AAC Nero AAC - + Not available! Niedostępny! - + Current AAC Encoder: %1 Obecny koder AAC: %1 - - - - + + + + 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! @@ -2908,141 +2914,141 @@ Powrót - + Show details for selected job Pokaż szczegóły wybranego zadania - + Browse Output File Location Wybierz lokalizację dla plików wyjściowych - + Encoding Files Kompresowanie plików - + Your files are being encoded, please be patient... Twoje pliki są właśnie kompresowane, prosze być cierpliwy... - + Encoding files, please wait... Kompresowanie plików, prosze czekać... - + Multi-threading enabled: Running %1 instances in parallel! Wielowątkowosć włączona: Równolegle wykonywanych jest %1 kodowań! - + Aborted! Waiting for running jobs to terminate... Przerwano! Czekanie na wyłączenie procesu... - + Encoding: %1 files of %2 completed so far, please wait... Kompresja: Prosze czekać, jak dotąd wykonano %1 z %2 plików... - + Creating the playlist file, please wait... Tworzenie pliku playlisty, prosze czekać... - + Process was aborted by the user after %1 file(s)! Proces został przerwany przez użytkownika po wykonaniu %1 plików! - + Process was aborted prematurely by the user! Proces został przedwcześnie zakończony przez użytkownika! - + LameXP - Aborted LameXP - Przerwano - + Process was aborted by the user. Proces został przerwany przez użytkownika. - + Process finished after %1. Proces został zakończony po %1. - + Error: %1 of %2 files failed. Double-click failed items for detailed information! Błąd: %1 z %2 plików nie zostało skompresowanych. Kliknij dwukrotnie na plik aby zobaczyć szczegóły! - + LameXP - Error LameXP - Błąd - + At least one file has failed! Przynajmniej jeden plik nie został skompresowany! - - + + All files completed successfully. Kompresja wszystkich plików zakończona powodzeniem. - + LameXP - Done LameXP - Zrobione - + Playlist creation failed Tworzenie playlisty zakończone niepowodzeniem - + The playlist file could not be created: Playlista nie mogła zostać utworzona: - + Warning: Computer will shutdown in %1 seconds... Ostrzeżenie: Komputer zostanie zamknięty za %1 sekund/y... - - + + Cancel Shutdown Anuluj wyłączenie komputera - + hour(s) godzinie/ach - - + + minute(s) minutach - - + + second(s) sekundach - + millisecond(s) milisekundach diff --git a/etc/Translation/LameXP_RU.ts b/etc/Translation/LameXP_RU.ts index d6028b51..091a5fba 100644 --- a/etc/Translation/LameXP_RU.ts +++ b/etc/Translation/LameXP_RU.ts @@ -1895,6 +1895,10 @@ Use Experimental Encoder Perceptual Tuning + + OpusEnc: + + MetaInfo diff --git a/etc/Translation/LameXP_SV.ts b/etc/Translation/LameXP_SV.ts index 0dc354e5..d0e95e3f 100644 --- a/etc/Translation/LameXP_SV.ts +++ b/etc/Translation/LameXP_SV.ts @@ -760,7 +760,7 @@ - + Source Files Källfiler @@ -781,13 +781,13 @@ - + Show Details Visa detaljer - + Output Directory Målmapp @@ -833,7 +833,7 @@ - + Meta Data Metadata @@ -874,7 +874,7 @@ - + Compression Komprimering @@ -960,7 +960,7 @@ - + Advanced Options Avancerat @@ -1186,6 +1186,7 @@ + You can enter custom parameters here! Du kan ange anpassade parametrar här! @@ -1220,1239 +1221,1244 @@ Aften A/52: - + + 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 - + Optimize for Signal Type: - + Encoding Complexity: - + Music - + (Undefined) - + Frame Size: - + Use Experimental Encoder Perceptual Tuning - + Reset Advanced Options Återställ avancerade inställningar - + Encode Now! Koda om nu! - - + + About... Om... - + Exit Program Avsluta LameXP - + File Arkiv - + ? Info - + View Visa - + Style Stil - + Language Språk - + Tools Verktyg - + Configuration Inställningar - + Quit Avsluta - + Open File(s)... Öppna fil(er)... - - + + 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 - + Adding file(s), please wait... Lägger till fil(er), vänta... - - + + Access Denied Åtkomst nekad - + %1 file(s) have been rejected, because read access was not granted! %1 fil(er) har undantagits, på grund av att åtkomst nekades! - + This usually means the file is locked by another process. Det innebär oftast att filen är låst av någon annan process. - + CDDA Files CDDA-filer - + %1 file(s) have been rejected, because they are dummy CDDA files! %1 fil(er) har undantagits, på grund av att det är fejkade 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. - + Cue Sheet Cue-fil - + %1 file(s) have been rejected, because they appear to be Cue Sheet images! %1 fil(er) har undantagits, på grund av att de verkar vara cue-filer! - + Please use LameXP's Cue Sheet wizard for importing Cue Sheet files. Använd LameXPs cue-guide för att importera cue-filer. - + Files Rejected Undantagna filer - + %1 file(s) have been rejected, because the file format could not be recognized! %1 fil(er) har undantagits, på grund av att filformatet inte känns igen! - + 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. - + 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 - + 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 - - + + 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! - + QAAC (Apple) QAAC (Apple) - + FHG AAC (Winamp) FHG AAC (Winamp) - + Nero AAC Nero AAC - + Not available! Ej tillgänglig! - + Current AAC Encoder: %1 Aktuell AAC-kodare: %1 - - - - + + + + Quality Level %1 Kvallitetsnivå %1 - - - + + + Compression %1 Kompression %1 - - - + + + Uncompressed Okomprimerad - + Best Quality (Very Slow) Bäst kvallitet (långsam) - + High Quality (Recommended) Hög kvallitet (rekommenderas) - + Average Quality (Default) Medelkvallitet (standard) - + Low Quality (Fast) Låg kvallitet (snabb) - + 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 - + %1 Instance(s) %1 instans(er) - + Cannot write to the selected directory. Please choose another directory! Kan inte skriva till den specificerade mappen. Välj en annan destination! - + Already Running Körs redan - + LameXP is already running, please use the running instance! LameXP körs redan, använd den redan startade instansen! @@ -2908,141 +2914,141 @@ Stäng - + Show details for selected job Visa detaljerad info för markerad åtgärd - + Browse Output File Location Öppna utdatamnappen - + Encoding Files Kodar om filer - + Your files are being encoded, please be patient... Dina filer kodas om, vänta... - + Encoding files, please wait... Kodar om filer, vänta... - + Multi-threading enabled: Running %1 instances in parallel! Flertrådskörning aktiverad: Kör %1 parallella instanser! - + Aborted! Waiting for running jobs to terminate... Avbrutet! Väntar på att aktiva processer skall avslutas... - + Encoding: %1 files of %2 completed so far, please wait... Omkodning: %1 fil(er) av %2 bearbetade hittills, vänta... - + Creating the playlist file, please wait... Skapar spelningslista, vänta... - + Process was aborted by the user after %1 file(s)! Åtgärden avbröts av användaren efter %1 fil(er)! - + Process was aborted prematurely by the user! Åtgärden avbröts i förtid av användaren! - + LameXP - Aborted LameXP - Avbrutet - + Process was aborted by the user. Åtgärden avbröts av användaren. - + Process finished after %1. Åtgärden slutförd efter %1. - + Error: %1 of %2 files failed. Double-click failed items for detailed information! Fel: %1 av %2 filer misslyckades. Dubbelklicka på det misslyckade objektet för detaljerad information! - + LameXP - Error LameXP - Fel - + At least one file has failed! Minst en fil har misslyckats! - - + + All files completed successfully. Alla filer korrekt omkodade. - + LameXP - Done LameXP - Klar - + Playlist creation failed Kunde inte skapa spelningslista! - + The playlist file could not be created: Spelningslistan kunde inte skapas: - + Warning: Computer will shutdown in %1 seconds... Varning! Datorn kommer att stängas av om %1 sekunder... - - + + Cancel Shutdown Avbryt avstängning - + hour(s) timma(r) - - + + minute(s) minut(er) - - + + second(s) sekund(er) - + millisecond(s) millisekund(er) diff --git a/etc/Translation/LameXP_TW.ts b/etc/Translation/LameXP_TW.ts index da159473..57738701 100644 --- a/etc/Translation/LameXP_TW.ts +++ b/etc/Translation/LameXP_TW.ts @@ -1889,6 +1889,10 @@ Use Experimental Encoder Perceptual Tuning + + OpusEnc: + + MetaInfo diff --git a/etc/Translation/LameXP_UK.ts b/etc/Translation/LameXP_UK.ts index 6a3a9cd7..6fa657a6 100644 --- a/etc/Translation/LameXP_UK.ts +++ b/etc/Translation/LameXP_UK.ts @@ -1890,6 +1890,10 @@ Use Experimental Encoder Perceptual Tuning + + OpusEnc: + + MetaInfo diff --git a/etc/Translation/LameXP_ZH.ts b/etc/Translation/LameXP_ZH.ts index 17f553a3..236caadb 100644 --- a/etc/Translation/LameXP_ZH.ts +++ b/etc/Translation/LameXP_ZH.ts @@ -1889,6 +1889,10 @@ Use Experimental Encoder Perceptual Tuning + + OpusEnc: + + MetaInfo diff --git a/gui/MainWindow.ui b/gui/MainWindow.ui index 7256218e..dbc3fac0 100644 --- a/gui/MainWindow.ui +++ b/gui/MainWindow.ui @@ -1324,7 +1324,7 @@ 0 0 604 - 1651 + 1677 @@ -2539,7 +2539,7 @@ - + Qt::Horizontal @@ -2555,7 +2555,7 @@ - + Qt::Horizontal @@ -2587,7 +2587,7 @@ - + Qt::Vertical @@ -2603,7 +2603,7 @@ - + @@ -2630,7 +2630,7 @@ - + @@ -2671,6 +2671,106 @@ + + + + PointingHandCursor + + + + + + :/icons/help.png + + + + + + + PointingHandCursor + + + + + + :/icons/help.png + + + + + + + PointingHandCursor + + + + + + :/icons/help.png + + + + + + + PointingHandCursor + + + + + + :/icons/help.png + + + + + + + PointingHandCursor + + + + + + :/icons/help.png + + + + + + + OpusEnc: + + + + + + + + Lucida Console + + + + + + + You can enter custom parameters here! + + + + + + + PointingHandCursor + + + + + + :/icons/help.png + + + @@ -4412,6 +4512,8 @@ + + diff --git a/res/Icons.qrc b/res/Icons.qrc index 0352793a..1e812995 100644 --- a/res/Icons.qrc +++ b/res/Icons.qrc @@ -64,6 +64,7 @@ icons/font.png icons/group.png icons/heart.png + icons/help.png icons/house.png icons/hourglass.png icons/information.png diff --git a/src/Config.h b/src/Config.h index e1656bad..744f5a47 100644 --- a/src/Config.h +++ b/src/Config.h @@ -30,7 +30,7 @@ #define VER_LAMEXP_MINOR_LO 5 #define VER_LAMEXP_TYPE Alpha #define VER_LAMEXP_PATCH 11 -#define VER_LAMEXP_BUILD 1061 +#define VER_LAMEXP_BUILD 1064 /////////////////////////////////////////////////////////////////////////////// // Tool versions (minimum expected versions!) diff --git a/src/CustomEventFilter.h b/src/CustomEventFilter.h new file mode 100644 index 00000000..552f9f4f --- /dev/null +++ b/src/CustomEventFilter.h @@ -0,0 +1,57 @@ +/////////////////////////////////////////////////////////////////////////////// +// LameXP - Audio Encoder Front-End +// Copyright (C) 2004-2012 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. +// +// 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 +#include + +class CustomEventFilter: public QObject +{ + Q_OBJECT + +public: + CustomEventFilter(void) {} + + bool eventFilter(QObject *obj, QEvent *event) + { + if(obj != this) + { + switch(event->type()) + { + case QEvent::MouseButtonPress: + emit clicked(obj); + break; + case QEvent::Enter: + emit mouseEntered(obj); + break; + case QEvent::Leave: + emit mouseLeft(obj); + break; + } + } + + return false; + } + +signals: + void clicked(QObject *sender); + void mouseEntered(QObject *sender); + void mouseLeft(QObject *sender); +}; diff --git a/src/Dialog_MainWindow.cpp b/src/Dialog_MainWindow.cpp index 28f63002..14ffc66a 100644 --- a/src/Dialog_MainWindow.cpp +++ b/src/Dialog_MainWindow.cpp @@ -30,6 +30,7 @@ #include "Dialog_Update.h" #include "Dialog_DropBox.h" #include "Dialog_CueImport.h" +#include "Dialog_LogView.h" #include "Thread_FileAnalyzer.h" #include "Thread_FileAnalyzer_ST.h" #include "Thread_MessageHandler.h" @@ -40,6 +41,7 @@ #include "WinSevenTaskbar.h" #include "Registry_Decoder.h" #include "ShellIntegration.h" +#include "CustomEventFilter.h" //Qt includes #include @@ -71,7 +73,7 @@ #include //////////////////////////////////////////////////////////// -//Helper macros +// Helper macros //////////////////////////////////////////////////////////// #define ABORT_IF_BUSY do \ @@ -118,6 +120,25 @@ while(0) } \ while(0) +#define SET_CHECKBOX_STATE(CHCKBX, STATE) do \ +{ \ + if((CHCKBX)->isChecked() != (STATE)) \ + { \ + (CHCKBX)->click(); \ + } \ + if((CHCKBX)->isChecked() != (STATE)) \ + { \ + qWarning("Warning: Failed to set checkbox " #CHCKBX " state!"); \ + } \ +} \ +while(0) + +#define TRIM_STRING_RIGHT(STR) do \ +{ \ + while((STR.length() > 0) && STR[STR.length()-1].isSpace()) STR.chop(1); \ +} \ +while(0) + #define LINK(URL) QString("%2").arg(URL).arg(QString(URL).replace("-", "−")) #define FSLINK(PATH) QString("%2").arg(PATH).arg(QString(PATH).replace("-", "−")) #define USE_NATIVE_FILE_DIALOG (lamexp_themes_enabled() || ((QSysInfo::windowsVersion() & QSysInfo::WV_NT_based) < QSysInfo::WV_XP)) @@ -158,7 +179,10 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S tabWidget->setCurrentIndex(0); connect(tabWidget, SIGNAL(currentChanged(int)), this, SLOT(tabPageChanged(int))); - //Setup "Source" tab + //-------------------------------- + // Setup "Source" tab + //-------------------------------- + sourceFileView->setModel(m_fileListModel); sourceFileView->verticalHeader()->setResizeMode(QHeaderView::ResizeToContents); sourceFileView->horizontalHeader()->setResizeMode(QHeaderView::ResizeToContents); @@ -194,7 +218,10 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S connect(m_exportCsvContextAction, SIGNAL(triggered(bool)), this, SLOT(exportCsvContextActionTriggered())); connect(m_importCsvContextAction, SIGNAL(triggered(bool)), this, SLOT(importCsvContextActionTriggered())); - //Setup "Output" tab + //-------------------------------- + // Setup "Output" tab + //-------------------------------- + outputFolderView->setHeaderHidden(true); outputFolderView->setAnimated(false); outputFolderView->setMouseTracking(false); @@ -203,7 +230,7 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S outputFolderView->installEventFilter(this); outputFoldersEditorLabel->installEventFilter(this); outputFoldersFovoritesLabel->installEventFilter(this); - while(saveToSourceFolderCheckBox->isChecked() != m_settings->outputToSourceDir()) saveToSourceFolderCheckBox->click(); + SET_CHECKBOX_STATE(saveToSourceFolderCheckBox, m_settings->outputToSourceDir()); prependRelativePathCheckBox->setChecked(m_settings->prependRelativeSourcePath()); connect(outputFolderView, SIGNAL(clicked(QModelIndex)), this, SLOT(outputFolderViewClicked(QModelIndex))); connect(outputFolderView, SIGNAL(activated(QModelIndex)), this, SLOT(outputFolderViewClicked(QModelIndex))); @@ -246,7 +273,10 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S outputFolderViewClicked(QModelIndex()); refreshFavorites(); - //Setup "Meta Data" tab + //-------------------------------- + // Setup "Meta Data" tab + //-------------------------------- + m_metaInfoModel = new MetaInfoModel(m_metaData, 6); m_metaInfoModel->clearData(); m_metaInfoModel->setData(m_metaInfoModel->index(4, 1), m_settings->metaInfoPosition()); @@ -254,14 +284,17 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S metaDataView->verticalHeader()->setResizeMode(QHeaderView::ResizeToContents); metaDataView->verticalHeader()->hide(); metaDataView->horizontalHeader()->setResizeMode(QHeaderView::ResizeToContents); - while(writeMetaDataCheckBox->isChecked() != m_settings->writeMetaTags()) writeMetaDataCheckBox->click(); + SET_CHECKBOX_STATE(writeMetaDataCheckBox, m_settings->writeMetaTags()); generatePlaylistCheckBox->setChecked(m_settings->createPlaylist()); connect(buttonEditMeta, SIGNAL(clicked()), this, SLOT(editMetaButtonClicked())); connect(buttonClearMeta, SIGNAL(clicked()), this, SLOT(clearMetaButtonClicked())); connect(writeMetaDataCheckBox, SIGNAL(clicked()), this, SLOT(metaTagsEnabledChanged())); connect(generatePlaylistCheckBox, SIGNAL(clicked()), this, SLOT(playlistEnabledChanged())); + //-------------------------------- //Setup "Compression" tab + //-------------------------------- + m_encoderButtonGroup = new QButtonGroup(this); m_encoderButtonGroup->addButton(radioButtonEncoderMP3, SettingsModel::MP3Encoder); m_encoderButtonGroup->addButton(radioButtonEncoderVorbis, SettingsModel::VorbisEncoder); @@ -293,9 +326,13 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S connect(sliderBitrate, SIGNAL(valueChanged(int)), this, SLOT(updateBitrate(int))); updateEncoder(m_encoderButtonGroup->checkedId()); + //-------------------------------- //Setup "Advanced Options" tab + //-------------------------------- + sliderLameAlgoQuality->setValue(m_settings->lameAlgoQuality()); if(m_settings->maximumInstances() > 0) sliderMaxInstances->setValue(m_settings->maximumInstances()); + spinBoxBitrateManagementMin->setValue(m_settings->bitrateManagementMinRate()); spinBoxBitrateManagementMax->setValue(m_settings->bitrateManagementMaxRate()); spinBoxNormalizationFilter->setValue(static_cast(m_settings->normalizationFilterMaxVolume()) / 100.0); @@ -303,6 +340,7 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S spinBoxToneAdjustTreble->setValue(static_cast(m_settings->toneAdjustTreble()) / 100.0); spinBoxAftenSearchSize->setValue(m_settings->aftenExponentSearchSize()); spinBoxOpusComplexity->setValue(m_settings->opusComplexity()); + comboBoxMP3ChannelMode->setCurrentIndex(m_settings->lameChannelMode()); comboBoxSamplingRate->setCurrentIndex(m_settings->samplingRate()); comboBoxAACProfile->setCurrentIndex(m_settings->aacEncProfile()); @@ -311,23 +349,35 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S comboBoxNormalizationMode->setCurrentIndex(m_settings->normalizationFilterEqualizationMode()); comboBoxOpusOptimize->setCurrentIndex(m_settings->opusOptimizeFor()); comboBoxOpusFramesize->setCurrentIndex(m_settings->opusFramesize()); - while(checkBoxBitrateManagement->isChecked() != m_settings->bitrateManagementEnabled()) checkBoxBitrateManagement->click(); - while(checkBoxNeroAAC2PassMode->isChecked() != m_settings->neroAACEnable2Pass()) checkBoxNeroAAC2PassMode->click(); - while(checkBoxAftenFastAllocation->isChecked() != m_settings->aftenFastBitAllocation()) checkBoxAftenFastAllocation->click(); - while(checkBoxNormalizationFilter->isChecked() != m_settings->normalizationFilterEnabled()) checkBoxNormalizationFilter->click(); - while(checkBoxAutoDetectInstances->isChecked() != (m_settings->maximumInstances() < 1)) checkBoxAutoDetectInstances->click(); - while(checkBoxUseSystemTempFolder->isChecked() == m_settings->customTempPathEnabled()) checkBoxUseSystemTempFolder->click(); - while(checkBoxRenameOutput->isChecked() != m_settings->renameOutputFilesEnabled()) checkBoxRenameOutput->click(); - while(checkBoxForceStereoDownmix->isChecked() != m_settings->forceStereoDownmix()) checkBoxForceStereoDownmix->click(); - while(checkBoxOpusExpAnalysis->isChecked() != m_settings->opusExpAnalysis()) checkBoxOpusExpAnalysis->click(); + + SET_CHECKBOX_STATE(checkBoxBitrateManagement, m_settings->bitrateManagementEnabled()); + SET_CHECKBOX_STATE(checkBoxNeroAAC2PassMode, m_settings->neroAACEnable2Pass()); + SET_CHECKBOX_STATE(checkBoxAftenFastAllocation, m_settings->aftenFastBitAllocation()); + SET_CHECKBOX_STATE(checkBoxNormalizationFilter, m_settings->normalizationFilterEnabled()); + SET_CHECKBOX_STATE(checkBoxAutoDetectInstances, (m_settings->maximumInstances() < 1)); + SET_CHECKBOX_STATE(checkBoxUseSystemTempFolder, m_settings->customTempPathEnabled()); + SET_CHECKBOX_STATE(checkBoxRenameOutput, m_settings->renameOutputFilesEnabled()); + SET_CHECKBOX_STATE(checkBoxForceStereoDownmix, m_settings->forceStereoDownmix()); + SET_CHECKBOX_STATE(checkBoxOpusExpAnalysis, m_settings->opusExpAnalysis()); checkBoxNeroAAC2PassMode->setEnabled(!(m_fhgEncoderAvailable || m_qaacEncoderAvailable)); + lineEditCustomParamLAME->setText(m_settings->customParametersLAME()); lineEditCustomParamOggEnc->setText(m_settings->customParametersOggEnc()); lineEditCustomParamNeroAAC->setText(m_settings->customParametersAacEnc()); lineEditCustomParamFLAC->setText(m_settings->customParametersFLAC()); lineEditCustomParamAften->setText(m_settings->customParametersAften()); + lineEditCustomParamOpus->setText(m_settings->customParametersOpus()); lineEditCustomTempFolder->setText(QDir::toNativeSeparators(m_settings->customTempPath())); lineEditRenamePattern->setText(m_settings->renameOutputFilesPattern()); + + m_evenFilterCustumParamsHelp = new CustomEventFilter(); + helpCustomParamLAME->installEventFilter(m_evenFilterCustumParamsHelp); + helpCustomParamOggEnc->installEventFilter(m_evenFilterCustumParamsHelp); + helpCustomParamNeroAAC->installEventFilter(m_evenFilterCustumParamsHelp); + helpCustomParamFLAC->installEventFilter(m_evenFilterCustumParamsHelp); + helpCustomParamAften->installEventFilter(m_evenFilterCustumParamsHelp); + helpCustomParamOpus->installEventFilter(m_evenFilterCustumParamsHelp); + connect(sliderLameAlgoQuality, SIGNAL(valueChanged(int)), this, SLOT(updateLameAlgoQuality(int))); connect(checkBoxBitrateManagement, SIGNAL(clicked(bool)), this, SLOT(bitrateManagementEnabledChanged(bool))); connect(spinBoxBitrateManagementMin, SIGNAL(valueChanged(int)), this, SLOT(bitrateManagementMinChanged(int))); @@ -351,6 +401,7 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S connect(lineEditCustomParamNeroAAC, SIGNAL(editingFinished()), this, SLOT(customParamsChanged())); connect(lineEditCustomParamFLAC, SIGNAL(editingFinished()), this, SLOT(customParamsChanged())); connect(lineEditCustomParamAften, SIGNAL(editingFinished()), this, SLOT(customParamsChanged())); + connect(lineEditCustomParamOpus, SIGNAL(editingFinished()), this, SLOT(customParamsChanged())); connect(sliderMaxInstances, SIGNAL(valueChanged(int)), this, SLOT(updateMaximumInstances(int))); connect(checkBoxAutoDetectInstances, SIGNAL(clicked(bool)), this, SLOT(autoDetectInstancesChanged(bool))); connect(buttonBrowseCustomTempFolder, SIGNAL(clicked()), this, SLOT(browseCustomTempFolderButtonClicked())); @@ -366,12 +417,22 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S connect(comboBoxOpusFramesize, SIGNAL(currentIndexChanged(int)), this, SLOT(opusSettingsChanged())); connect(spinBoxOpusComplexity, SIGNAL(valueChanged(int)), this, SLOT(opusSettingsChanged())); connect(checkBoxOpusExpAnalysis, SIGNAL(clicked(bool)), this, SLOT(opusSettingsChanged())); + connect(m_evenFilterCustumParamsHelp, SIGNAL(clicked(QObject*)), this, SLOT(customParamsHelpRequested(QObject*))); + + //-------------------------------- + // Force initial GUI update + //-------------------------------- + updateLameAlgoQuality(sliderLameAlgoQuality->value()); updateMaximumInstances(sliderMaxInstances->value()); toneAdjustTrebleChanged(spinBoxToneAdjustTreble->value()); toneAdjustBassChanged(spinBoxToneAdjustBass->value()); customParamsChanged(); + //-------------------------------- + // Initialize actions + //-------------------------------- + //Activate file menu actions actionOpenFolder->setData(QVariant::fromValue(false)); actionOpenFolderRecursively->setData(QVariant::fromValue(true)); @@ -463,6 +524,10 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S connect(actionDocumentChangelog, SIGNAL(triggered()), this, SLOT(documentActionActivated())); connect(actionDocumentTranslate, SIGNAL(triggered()), this, SLOT(documentActionActivated())); + //-------------------------------- + // Prepare to show window + //-------------------------------- + //Center window in screen QRect desktopRect = QApplication::desktop()->screenGeometry(); QRect thisRect = this->geometry(); @@ -550,6 +615,7 @@ MainWindow::~MainWindow(void) LAMEXP_DELETE(m_outputFolderFavoritesMenu); LAMEXP_DELETE(m_outputFolderContextMenu); LAMEXP_DELETE(m_dropBox); + LAMEXP_DELETE(m_evenFilterCustumParamsHelp); } //////////////////////////////////////////////////////////// @@ -1471,7 +1537,7 @@ void MainWindow::encodeButtonClicked(void) { if(QMessageBox::warning(this, tr("Not Found"), QString("%1
%2").arg(NOBR(tr("Your currently selected TEMP folder does not exist anymore:")), NOBR(QDir::toNativeSeparators(tempFolder))), tr("Restore Default"), tr("Cancel")) == 0) { - while(checkBoxUseSystemTempFolder->isChecked() == m_settings->customTempPathEnabledDefault()) checkBoxUseSystemTempFolder->click(); + SET_CHECKBOX_STATE(checkBoxUseSystemTempFolder, m_settings->customTempPathEnabledDefault()); } return; } @@ -3535,6 +3601,7 @@ void MainWindow::customParamsChanged(void) lineEditCustomParamNeroAAC->setText(lineEditCustomParamNeroAAC->text().simplified()); lineEditCustomParamFLAC->setText(lineEditCustomParamFLAC->text().simplified()); lineEditCustomParamAften->setText(lineEditCustomParamAften->text().simplified()); + lineEditCustomParamOpus->setText(lineEditCustomParamOpus->text().simplified()); bool customParamsUsed = false; if(!lineEditCustomParamLAME->text().isEmpty()) customParamsUsed = true; @@ -3542,6 +3609,7 @@ void MainWindow::customParamsChanged(void) if(!lineEditCustomParamNeroAAC->text().isEmpty()) customParamsUsed = true; if(!lineEditCustomParamFLAC->text().isEmpty()) customParamsUsed = true; if(!lineEditCustomParamAften->text().isEmpty()) customParamsUsed = true; + if(!lineEditCustomParamOpus->text().isEmpty()) customParamsUsed = true; labelCustomParamsIcon->setVisible(customParamsUsed); labelCustomParamsText->setVisible(customParamsUsed); @@ -3552,9 +3620,9 @@ void MainWindow::customParamsChanged(void) m_settings->customParametersAacEnc(lineEditCustomParamNeroAAC->text()); m_settings->customParametersFLAC(lineEditCustomParamFLAC->text()); m_settings->customParametersAften(lineEditCustomParamAften->text()); + m_settings->customParametersOpus(lineEditCustomParamOpus->text()); } - /* * Rename output files enabled changed */ @@ -3711,6 +3779,83 @@ void MainWindow::useCustomTempFolderChanged(bool checked) m_settings->customTempPathEnabled(!checked); } +/* + * Show help for custom parameters + */ +void MainWindow::customParamsHelpRequested(QObject *obj) +{ + QString toolName, command; + + if(obj == helpCustomParamLAME) { toolName = "lame.exe"; command = "--help"; } + if(obj == helpCustomParamOggEnc) { toolName = "oggenc2.exe"; command = "--help"; } + if(obj == helpCustomParamNeroAAC) + { + if(m_qaacEncoderAvailable) { toolName = "qaac.exe"; command = "--help"; } + else if(m_fhgEncoderAvailable) { toolName = "fhgaacenc.exe"; command = ""; } + else if(m_neroEncoderAvailable) { toolName = "neroAacEnc.exe"; command = "-help"; } + } + if(obj == helpCustomParamFLAC) { toolName = "flac.exe"; command = "--help"; } + if(obj == helpCustomParamAften) { toolName = "aften.exe"; command = "-h"; } + if(obj == helpCustomParamOpus) { toolName = "opusenc_std.exe"; command = "--help"; } + + if(toolName.isEmpty() || command.isNull()) + { + MessageBeep(MB_ICONERROR); + return; + } + + const QString binary = lamexp_lookup_tool(toolName); + if(binary.isEmpty()) + { + MessageBeep(MB_ICONERROR); + qWarning("customParamsHelpRequested: Binary could not be found!"); + return; + } + + QProcess *process = new QProcess(); + process->setProcessChannelMode(QProcess::MergedChannels); + process->setReadChannel(QProcess::StandardOutput); + process->start(binary, command.isEmpty() ? QStringList() : QStringList() << command); + + if(process->waitForStarted(15000)) + { + qApp->processEvents(); + process->waitForFinished(15000); + } + if(process->state() != QProcess::NotRunning) + { + process->kill(); + process->waitForFinished(-1); + } + + QStringList output; bool spaceFlag = true; + + while(process->canReadLine()) + { + QString temp = QString::fromUtf8(process->readLine()); + TRIM_STRING_RIGHT(temp); + if(temp.isEmpty()) + { + if(!spaceFlag) { output << temp; spaceFlag = true; } + } + else + { + output << temp; spaceFlag = false; + } + } + + LAMEXP_DELETE(process); + + if(output.count() < 1) + { + MessageBeep(MB_ICONERROR); + } + + LogViewDialog *dialog = new LogViewDialog(this); + TEMP_HIDE_DROPBOX( dialog->exec(output); ); + LAMEXP_DELETE(dialog); +} + /* * Reset all advanced options to their defaults */ @@ -3732,19 +3877,20 @@ void MainWindow::resetAdvancedOptionsButtonClicked(void) comboBoxNormalizationMode->setCurrentIndex(m_settings->normalizationFilterEqualizationModeDefault()); comboBoxOpusOptimize->setCurrentIndex(m_settings->opusOptimizeForDefault()); comboBoxOpusFramesize->setCurrentIndex(m_settings->opusFramesizeDefault()); - while(checkBoxBitrateManagement->isChecked() != m_settings->bitrateManagementEnabledDefault()) checkBoxBitrateManagement->click(); - while(checkBoxNeroAAC2PassMode->isChecked() != m_settings->neroAACEnable2PassDefault()) checkBoxNeroAAC2PassMode->click(); - while(checkBoxNormalizationFilter->isChecked() != m_settings->normalizationFilterEnabledDefault()) checkBoxNormalizationFilter->click(); - while(checkBoxAutoDetectInstances->isChecked() != (m_settings->maximumInstancesDefault() < 1)) checkBoxAutoDetectInstances->click(); - while(checkBoxUseSystemTempFolder->isChecked() == m_settings->customTempPathEnabledDefault()) checkBoxUseSystemTempFolder->click(); - while(checkBoxAftenFastAllocation->isChecked() != m_settings->aftenFastBitAllocationDefault()) checkBoxAftenFastAllocation->click(); - while(checkBoxRenameOutput->isChecked() != m_settings->renameOutputFilesEnabledDefault()) checkBoxRenameOutput->click(); - while(checkBoxForceStereoDownmix->isChecked() != m_settings->forceStereoDownmixDefault()) checkBoxForceStereoDownmix->click(); - while(checkBoxOpusExpAnalysis->isChecked() != m_settings->opusExpAnalysisDefault()) checkBoxOpusExpAnalysis->click(); + SET_CHECKBOX_STATE(checkBoxBitrateManagement, m_settings->bitrateManagementEnabledDefault()); + SET_CHECKBOX_STATE(checkBoxNeroAAC2PassMode, m_settings->neroAACEnable2PassDefault()); + SET_CHECKBOX_STATE(checkBoxNormalizationFilter, m_settings->normalizationFilterEnabledDefault()); + SET_CHECKBOX_STATE(checkBoxAutoDetectInstances, (m_settings->maximumInstancesDefault() < 1)); + SET_CHECKBOX_STATE(checkBoxUseSystemTempFolder, m_settings->customTempPathEnabledDefault()); + SET_CHECKBOX_STATE(checkBoxAftenFastAllocation, m_settings->aftenFastBitAllocationDefault()); + SET_CHECKBOX_STATE(checkBoxRenameOutput, m_settings->renameOutputFilesEnabledDefault()); + SET_CHECKBOX_STATE(checkBoxForceStereoDownmix, m_settings->forceStereoDownmixDefault()); + SET_CHECKBOX_STATE(checkBoxOpusExpAnalysis, m_settings->opusExpAnalysisDefault()); lineEditCustomParamLAME->setText(m_settings->customParametersLAMEDefault()); lineEditCustomParamOggEnc->setText(m_settings->customParametersOggEncDefault()); lineEditCustomParamNeroAAC->setText(m_settings->customParametersAacEncDefault()); lineEditCustomParamFLAC->setText(m_settings->customParametersFLACDefault()); + lineEditCustomParamOpus->setText(m_settings->customParametersFLACDefault()); lineEditCustomTempFolder->setText(QDir::toNativeSeparators(m_settings->customTempPathDefault())); lineEditRenamePattern->setText(m_settings->renameOutputFilesPatternDefault()); customParamsChanged(); diff --git a/src/Dialog_MainWindow.h b/src/Dialog_MainWindow.h index 85dff572..f8f5b426 100644 --- a/src/Dialog_MainWindow.h +++ b/src/Dialog_MainWindow.h @@ -35,6 +35,7 @@ class FileListModel; class AbstractEncoder; class QMenu; class DropBox; +class CustomEventFilter; class MainWindow: public QMainWindow, private Ui::MainWindow { @@ -71,6 +72,7 @@ private slots: void clearMetaButtonClicked(void); void closeButtonClicked(void); void customParamsChanged(void); + void customParamsHelpRequested(QObject*); void customTempFolderChanged(const QString &text); void disableNeroAacNotificationsActionTriggered(bool checked); void disableShellIntegrationActionTriggered(bool); @@ -205,4 +207,6 @@ private: QActionGroup *m_tabActionGroup; QButtonGroup *m_encoderButtonGroup; QButtonGroup *m_modeButtonGroup; + + CustomEventFilter *m_evenFilterCustumParamsHelp; }; diff --git a/src/Dialog_Processing.cpp b/src/Dialog_Processing.cpp index f7f982ca..2cb0ea5f 100644 --- a/src/Dialog_Processing.cpp +++ b/src/Dialog_Processing.cpp @@ -857,7 +857,7 @@ AbstractEncoder *ProcessingDialog::makeEncoder(bool *nativeResampling) opusEncoder->setEncodeComplexity(m_settings->opusComplexity()); opusEncoder->setFrameSize(m_settings->opusFramesize()); opusEncoder->setExpAnalysisOn(m_settings->opusExpAnalysis()); - //TODO: opusEncoder->setCustomParams(m_settings->customParametersOpus()); + opusEncoder->setCustomParams(m_settings->customParametersOpus()); encoder = opusEncoder; } break; case SettingsModel::DCAEncoder: diff --git a/src/Model_Settings.cpp b/src/Model_Settings.cpp index bf8e2ef1..ac10e7dd 100644 --- a/src/Model_Settings.cpp +++ b/src/Model_Settings.cpp @@ -115,6 +115,7 @@ LAMEXP_MAKE_ID(customParametersOggEnc, "AdvancedOptions/CustomParameters/OggEnc" LAMEXP_MAKE_ID(customParametersAacEnc, "AdvancedOptions/CustomParameters/AacEnc"); LAMEXP_MAKE_ID(customParametersAften, "AdvancedOptions/CustomParameters/Aften"); LAMEXP_MAKE_ID(customParametersFLAC, "AdvancedOptions/CustomParameters/FLAC"); +LAMEXP_MAKE_ID(customParametersOpus, "AdvancedOptions/CustomParameters/OpusEnc"); LAMEXP_MAKE_ID(renameOutputFilesEnabled, "AdvancedOptions/RenameOutputFiles/Enabled"); LAMEXP_MAKE_ID(renameOutputFilesPattern, "AdvancedOptions/RenameOutputFiles/Pattern"); LAMEXP_MAKE_ID(hibernateComputer, "AdvancedOptions/HibernateComputerOnShutdown"); @@ -396,6 +397,7 @@ LAMEXP_MAKE_OPTION_S(customParametersOggEnc, QString()); LAMEXP_MAKE_OPTION_S(customParametersAacEnc, QString()); LAMEXP_MAKE_OPTION_S(customParametersAften, QString()); LAMEXP_MAKE_OPTION_S(customParametersFLAC, QString()); +LAMEXP_MAKE_OPTION_S(customParametersOpus, QString()); LAMEXP_MAKE_OPTION_B(renameOutputFilesEnabled, false); LAMEXP_MAKE_OPTION_S(renameOutputFilesPattern, "[] - "); LAMEXP_MAKE_OPTION_U(metaInfoPosition, UINT_MAX); diff --git a/src/Model_Settings.h b/src/Model_Settings.h index 3968d240..ade6bace 100644 --- a/src/Model_Settings.h +++ b/src/Model_Settings.h @@ -126,6 +126,7 @@ public: LAMEXP_MAKE_OPTION_S(customParametersAacEnc); LAMEXP_MAKE_OPTION_S(customParametersAften); LAMEXP_MAKE_OPTION_S(customParametersFLAC); + LAMEXP_MAKE_OPTION_S(customParametersOpus); LAMEXP_MAKE_OPTION_B(renameOutputFilesEnabled); LAMEXP_MAKE_OPTION_S(renameOutputFilesPattern); LAMEXP_MAKE_OPTION_U(metaInfoPosition);