From 8a64624ba40a2944c47d14802b726903213f7980 Mon Sep 17 00:00:00 2001 From: LoRd_MuldeR Date: Fri, 18 Oct 2013 21:37:40 +0200 Subject: [PATCH] Use the THROW macro instead of plain "throw" in the complete project. --- etc/Translation/Blank.ts | 506 +++++++++++++++---------------- etc/Translation/LameXP_EN.ts | 16 +- etc/Translation/LameXP_PL.ts | 506 +++++++++++++++---------------- etc/Translation/LameXP_SV.ts | 506 +++++++++++++++---------------- src/Config.h | 2 +- src/Decoder_AAC.cpp | 2 +- src/Decoder_AC3.cpp | 2 +- src/Decoder_ADPCM.cpp | 2 +- src/Decoder_ALAC.cpp | 2 +- src/Decoder_Avisynth.cpp | 2 +- src/Decoder_FLAC.cpp | 2 +- src/Decoder_MAC.cpp | 2 +- src/Decoder_MP3.cpp | 2 +- src/Decoder_Musepack.cpp | 2 +- src/Decoder_Opus.cpp | 2 +- src/Decoder_Shorten.cpp | 2 +- src/Decoder_Speex.cpp | 2 +- src/Decoder_TTA.cpp | 2 +- src/Decoder_Vorbis.cpp | 2 +- src/Decoder_WMA.cpp | 2 +- src/Decoder_WavPack.cpp | 2 +- src/Dialog_CueImport.cpp | 10 +- src/Dialog_MainWindow.cpp | 10 +- src/Dialog_Update.cpp | 2 +- src/Encoder_AAC.cpp | 12 +- src/Encoder_AAC_FHG.cpp | 12 +- src/Encoder_AAC_QAAC.cpp | 12 +- src/Encoder_AC3.cpp | 12 +- src/Encoder_Abstract.h | 3 +- src/Encoder_DCA.cpp | 10 +- src/Encoder_FLAC.cpp | 10 +- src/Encoder_MP3.cpp | 12 +- src/Encoder_Opus.cpp | 12 +- src/Encoder_Vorbis.cpp | 12 +- src/Encoder_Wave.cpp | 8 +- src/Filter_Downmix.cpp | 2 +- src/Filter_Normalize.cpp | 2 +- src/Filter_Resample.cpp | 2 +- src/Filter_ToneAdjust.cpp | 2 +- src/Global.cpp | 14 +- src/Global.h | 14 +- src/Main.cpp | 21 +- src/Registry_Encoder.cpp | 30 +- src/ShellIntegration.cpp | 2 +- src/Thread_CPUObserver.cpp | 13 +- src/Thread_DiskObserver.cpp | 13 +- src/Thread_FileAnalyzer.cpp | 7 +- src/Thread_FileAnalyzer_Task.cpp | 10 +- src/Thread_Initialization.cpp | 6 +- src/Thread_Process.cpp | 17 +- src/Thread_RAMObserver.cpp | 13 +- src/Tool_WaveProperties.cpp | 2 +- src/WinSevenTaskbar.cpp | 2 +- 53 files changed, 955 insertions(+), 922 deletions(-) diff --git a/etc/Translation/Blank.ts b/etc/Translation/Blank.ts index 784bec78..2f2ebe11 100644 --- a/etc/Translation/Blank.ts +++ b/etc/Translation/Blank.ts @@ -464,8 +464,8 @@ - - + + Cue Sheet Error @@ -572,63 +572,63 @@ - + Analyzing file(s), please wait... - + Analysis Failed - + Warning: The format of some of the input files could not be determined! - + Continue Anyway - + Abort - + Splitting file(s), please wait... - + Process was aborted by the user after %n track(s)! - + An unexpected error has occured while splitting the Cue Sheet! - + Imported %n track(s) from the Cue Sheet. - + Skipped %n track(s). - + Cue Sheet Completed @@ -748,7 +748,7 @@ DiskObserverThread - + Low diskspace on drive '%1' detected (only %2 MB are free), problems can occur! @@ -872,7 +872,7 @@ - + Show Details @@ -1615,9 +1615,9 @@ - - - + + + Check for Updates @@ -1658,13 +1658,13 @@ - + Disable Update Reminder - + Disable Sound Effects @@ -1749,840 +1749,840 @@ - + Adding file(s), please wait... - - + + Access Denied - + %n file(s) have been rejected, because read access was not granted! - + This usually means the file is locked by another process. - + CDDA Files - + %n file(s) have been rejected, because they are dummy CDDA files! - + Sorry, LameXP cannot extract audio tracks from an Audio-CD at present. - + We recommend using %1 for that purpose. - + Cue Sheet - + %n file(s) have been rejected, because they appear to be Cue Sheet images! - + Please use LameXP's Cue Sheet wizard for importing Cue Sheet files. - + Files Rejected - + %n file(s) have been rejected, because the file format could not be recognized! - + This usually means the file is damaged or the file format is not supported. - + Scanning folder(s) for files, please wait... - + DEMO VERSION - + Initializing directory outline, please be patient... - + You can drop in audio files here! - + Open File in External Application - + Browse File Location - + Browse Selected Folder - + Refresh Directory Outline - + Go To Parent Directory - + Bookmark Current Output Folder - + Export Meta Tags to CSV File - + Import Meta Tags from CSV File - + License Declined - + You have declined the license. Consequently the application will exit now! - + Goodbye! - + LameXP - Expired - + This demo (pre-release) version of LameXP has expired at %1. - + LameXP is free software and release versions won't expire. - - + + Exit Program - + It seems that a bogus anti-virus software is slowing down the startup of LameXP. - + Please refer to the %1 document for details and solutions! - + Slow Startup - - - - - + + + + + Discard - - + + Don't Show Again - + Urgent Update - + Your version of LameXP is more than a year old. Time for an update! - - + + Ignore - + Skipping update check this time, please be patient... - - - + + + Update Reminder - + Your last update check was more than 14 days ago. Check for updates now? - + Your did not check for LameXP updates yet. Check for updates now? - + Postpone - + LameXP detected that your version of the Nero AAC encoder is outdated! - + The current version available is %1 (or later), but you still have version %2 installed. - + n/a - + You can download the latest version of the Nero AAC encoder from the Nero website at: - + (Hint: Please ignore the name of the downloaded ZIP file and check the included 'changelog.txt' instead!) - + AAC Encoder Outdated - + The Nero AAC encoder could not be found. AAC encoding support will be disabled. - + Please put 'neroAacEnc.exe', 'neroAacDec.exe' and 'neroAacTag.exe' into the LameXP directory! - + Your LameXP directory is located here: - + You can download the Nero AAC encoder for free from the official Nero website at: - + AAC Support Disabled - - - + + + LameXP - + You must add at least one file to the list before proceeding! - + Not Found - + Your currently selected TEMP folder does not exist anymore: - + Restore Default - + Cancel - + There are less than %1 GB of free diskspace available on your system's TEMP folder. - + It is highly recommend to free up more diskspace before proceeding with the encode! - + Your TEMP folder is located at: - + Low Diskspace Warning - + Abort Encoding Process - + Clean Disk Now - + Low Diskspace - + You are proceeding with low diskspace. Problems might occur! - + Sorry, an unsupported encoder has been chosen! - + Cannot write to the selected output directory. - + Please choose a different directory! - + Load Translation - + Translation Files - + Do you really want to disable the update reminder? - - - - - - - + + + + + + + Yes - - - - - - - + + + + + + + No - + The update reminder has been disabled. - + Please remember to check for updates at regular intervals! - + The update reminder has been re-enabled. - + Do you really want to disable all sound effects? - - + + Sound Effects - + All sound effects have been disabled. - + The sound effects have been re-enabled. - - - + + + Nero AAC Notifications - + Do you really want to disable all Nero AAC Encoder notifications? - + All Nero AAC Encoder notifications have been disabled. - + The Nero AAC Encoder notifications have been re-enabled. - - - + + + Slow Startup Notifications - + Do you really want to disable the slow startup notifications? - + The slow startup notifications have been disabled. - + The slow startup notifications have been re-enabled. - - + + Open Cue Sheet - - + + Cue Sheet File - - - + + + Beta Updates - + Do you really want LameXP to check for Beta (pre-release) updates? - + LameXP will check for Beta (pre-release) updates from now on. - + Check Now - + LameXP will <i>not</i> check for Beta (pre-release) updates from now on. - - - + + + Hibernate Computer - + Do you really want the computer to be hibernated on shutdown? - + LameXP will hibernate the computer on shutdown from now on. - + LameXP will <i>not</i> hibernate the computer on shutdown from now on. - - - + + + Shell Integration - + Do you really want to disable the LameXP shell integration? - + The LameXP shell integration has been disabled. - + The LameXP shell integration has been re-enabled. - - + + Add file(s) - - + + Add Folder - - + + Save CSV file - - - - + + + + CSV File - - - - + + + + CSV Export - + Sorry, there are no meta tags that can be exported! - + Sorry, failed to open CSV file for writing! - + Sorry, failed to write to the CSV file! - + The CSV files was created successfully! - - + + Open CSV file - - - - - + + + + + CSV Import - + Sorry, failed to open CSV file for reading! - + Sorry, failed to read from the CSV file! - + Sorry, the CSV file does not contain any known fields! - + CSV file is incomplete. Not all files were updated! - + The CSV files was imported successfully! - - + + New Folder - + Enter the name of the new folder: - + Failed to create folder - + The new folder could not be created: - + Drive is read-only or insufficient access rights! - + Current Encoder: %1 - - + + Quality Level %1 - + Compression %1 - + Uncompressed - + Best Quality (Slow) - + High Quality (Recommended) - + Acceptable Quality (Fast) - + Poor Quality (Very Fast) - + File name without extension - + Track number with leading zero - + Track title - + Artist name - + Album name - + Year with (at least) four digits - + Comment - + Characters forbidden in file names: - + Rename Macros - + %n Instance(s) - + Cannot write to the selected directory. Please choose another directory! - + Overwrite Mode - + Warning: This mode may overwrite existing files with no way to revert! - + Continue - + Revert - + Already Running - + LameXP is already running, please use the running instance! @@ -2893,128 +2893,128 @@ - + WARNING: Decoded file size exceeds 4 GB, problems might occur! - + The format of this file is NOT supported: - + Container Format: - + Audio Format: - + Unsupported! - + Aborted! - + Done. - + Failed! - + Encoding - + Analyzing - + Filtering - + Decoding - + The source audio file could not be found: - + The source audio file could not be opened for reading: - + The target output directory doesn't exist and could NOT be created: - + The target output directory is NOT writable: - + Unknown File Name - + Unknown Title - + Unknown Artist - + Unknown Album - + Unknown Comment - + Target output file already exists, going to skip this file: - + If you don't want existing files to be skipped, please change the overwrite mode! - + Target output file already exists, going to delete existing file: - + Failed to delete existing target file, will save to another file name! diff --git a/etc/Translation/LameXP_EN.ts b/etc/Translation/LameXP_EN.ts index 35490959..6fb96359 100644 --- a/etc/Translation/LameXP_EN.ts +++ b/etc/Translation/LameXP_EN.ts @@ -4,7 +4,7 @@ CueImportDialog - + Process was aborted by the user after %n track(s)! Process was aborted by the user after %n track! @@ -12,7 +12,7 @@ - + Imported %n track(s) from the Cue Sheet. Imported %n track from the Cue Sheet. @@ -20,7 +20,7 @@ - + Skipped %n track(s). Skipped %n track. @@ -31,7 +31,7 @@ MainWindow - + %n file(s) have been rejected, because read access was not granted! %n file have been rejected, because read access was not granted! @@ -39,7 +39,7 @@ - + %n file(s) have been rejected, because they are dummy CDDA files! %n file have been rejected, because they are dummy CDDA files! @@ -47,7 +47,7 @@ - + %n file(s) have been rejected, because they appear to be Cue Sheet images! %n file have been rejected, because they appear to be Cue Sheet images! @@ -55,7 +55,7 @@ - + %n file(s) have been rejected, because the file format could not be recognized! %n file have been rejected, because the file format could not be recognized! @@ -63,7 +63,7 @@ - + %n Instance(s) %n Instance diff --git a/etc/Translation/LameXP_PL.ts b/etc/Translation/LameXP_PL.ts index 3c7156ba..f41f3882 100644 --- a/etc/Translation/LameXP_PL.ts +++ b/etc/Translation/LameXP_PL.ts @@ -464,8 +464,8 @@ - - + + Cue Sheet Error Błąd pliku Cue Sheet @@ -572,37 +572,37 @@ Jest wysoce zalecane zwolnić miejsce na dysku zanim zaczniesz importować! - + Analyzing file(s), please wait... Analizowanie pliku/ów, prosze czekać... - + Analysis Failed Analiza zakończona niepowodzeniem - + Warning: The format of some of the input files could not be determined! Ostrzeżenie: Nie można rozpoznać formatu kilku plików wejściowych! - + Continue Anyway Kontynuuj pomimo to - + Abort Przerwij - + Splitting file(s), please wait... Dzielenie pliku/ów, prosze czekać... - + Process was aborted by the user after %n track(s)! Proces został przerwany przez użytkownika po zakończeniu %n ścieżki! @@ -611,12 +611,12 @@ - + An unexpected error has occured while splitting the Cue Sheet! Wystąpił nieoczekiwany błąd podczas podziału pliku Cue Sheet! - + Imported %n track(s) from the Cue Sheet. Zaimportowano %n ścieżkę z pliku Cue Sheet. @@ -625,7 +625,7 @@ - + Skipped %n track(s). Pominięto %n ścieżkę. @@ -634,7 +634,7 @@ - + Cue Sheet Completed Stworzono plik Cue Sheet @@ -754,7 +754,7 @@ DiskObserverThread - + Low diskspace on drive '%1' detected (only %2 MB are free), problems can occur! Mało miejsca na dysku '%1' (tylko %2 MB dostępnych), mogą wystąpić problemy! @@ -878,7 +878,7 @@ - + Show Details Pokaż szczegóły @@ -1622,9 +1622,9 @@ - - - + + + Check for Updates Sprawdź aktualizacje @@ -1665,13 +1665,13 @@ - + Disable Update Reminder Wyłącz przypominanie o aktualizacji - + Disable Sound Effects Wyłącz efekty dźwiękowe @@ -1756,314 +1756,314 @@ Otwartoźródłowe projekty MuldeR'a - + Adding file(s), please wait... Dodawanie plików, prosze czekać... - - + + Access Denied Dostęp zablokowany - + This usually means the file is locked by another process. To przeważnie oznacza, że plik jest zablokowany przez inny proces. - + CDDA Files Pliki CDDA - + Sorry, LameXP cannot extract audio tracks from an Audio-CD at present. LameXP nie może teraz wyekstrachować ścieżki z płyty Audio-CD. - + We recommend using %1 for that purpose. Zaleca się użycie w tym celu %1. - + Cue Sheet Cue Sheet - + Please use LameXP's Cue Sheet wizard for importing Cue Sheet files. Prosze użyć przewodnika Cue Sheet w LameXP w celu importowania tych plików. - + Files Rejected Pliki odrzucone - + This usually means the file is damaged or the file format is not supported. To przeważnie oznacza że plik jest uszkodzony lub format pliku nie jest wspierany. - + Scanning folder(s) for files, please wait... Skanowanie folderu/ów, prosze czekać... - + You can drop in audio files here! Tutaj możesz upuścić pliki dźwiękowe! - + Open File in External Application Otwórz plik w zewnętrznym programie - + Browse File Location Otwórz lokalizację pliku - + Browse Selected Folder Otwórz wybrany folder - + Bookmark Current Output Folder Zapamiętaj wybrany folder - + License Declined Licencja odrzucona - + You have declined the license. Consequently the application will exit now! Odrzuciłeś licencję. W takim razie program zostanie teraz zamknięty! - + Goodbye! Naraska! - + LameXP - Expired LameXP - Termin wygasł - + This demo (pre-release) version of LameXP has expired at %1. Ta wersja próbna LameXP wygasła %1. - + LameXP is free software and release versions won't expire. LameXP jest darmowym oprogramowaniem i pełna wersja nie wygasa. - - + + Exit Program Wyjdź z programu - + It seems that a bogus anti-virus software is slowing down the startup of LameXP. Najwyraźniej twoje oprogramowanie antywirusowe spowalnia uruchamianie się LameXP. - + Please refer to the %1 document for details and solutions! Prosze sprawdzić dokument %1 w celu dalszych szcegółów i rozwiązań! - + Slow Startup Powolny start - - - - - + + + + + Discard Zamknij - - + + Don't Show Again Nie pokazuj ponownie - + Urgent Update Ważna aktualizacja - + Your version of LameXP is more than a year old. Time for an update! Twoja wersja LameXP jest starsza niż rok! Czas na aktualizację! - - - + + + Update Reminder Powiadomienie aktualizacji - + Your last update check was more than 14 days ago. Check for updates now? Ostatnie sprawdzenie aktualizacji było ponad 14 dni temu. Sprawdzić teraz aktualizacje? - + Your did not check for LameXP updates yet. Check for updates now? Nie sprawdzałeś jeszcze aktualizacji LameXP. Sprawdzić teraz aktualizacje? - + Postpone Przełóż - + LameXP detected that your version of the Nero AAC encoder is outdated! LameXP wykrył że Twoja wersja kodera Nero AAC jest nieaktualna! - + The current version available is %1 (or later), but you still have version %2 installed. Wersją dostępną obecnie jest %1, Twoja wersja to %2. - + n/a b/d - + You can download the latest version of the Nero AAC encoder from the Nero website at: Możesz pobrać najnowszą wersję kodera Nero AAC ze strony Nero: - + AAC Encoder Outdated Koder AAC jest nieaktualny - + The Nero AAC encoder could not be found. AAC encoding support will be disabled. Nie można odnaleźć kodera Nero AAC. Kompresja formatu AAC zostanie wyłączona. - + Please put 'neroAacEnc.exe', 'neroAacDec.exe' and 'neroAacTag.exe' into the LameXP directory! Prosze skopiować 'neroAacEnc.exe', 'neroAacDec.exe', oraz 'neroAacTag.exe' do folderu LameXP! - + Your LameXP directory is located here: Folder aplikacji LameXP znajduje się tutaj: - + You can download the Nero AAC encoder for free from the official Nero website at: Możesz pobrać koder Nero AAC za darmo z oficjalnej strony Nero: - + AAC Support Disabled Wsparcie dla AAC wyłączone - - - + + + LameXP LameXP - + You must add at least one file to the list before proceeding! Powinienieś dodać przynajmniej jeden plik do listy aby zacząć działać! - + Not Found Nie znaleziono - + Your currently selected TEMP folder does not exist anymore: Wybrany przez Ciebie folder tymczasowy TEMP już nie istnieje: - + Restore Default Przywróć domyślne - + Cancel Anuluj - + Low Diskspace Warning Ostrzeżenie o małej ilości miejsca na dysku - + There are less than %1 GB of free diskspace available on your system's TEMP folder. Jest mniej niż %1 GB dostępnego miejsca w systemowym folderze TEMP. - + DEMO VERSION WERSJA PRÓBNA - + (Hint: Please ignore the name of the downloaded ZIP file and check the included 'changelog.txt' instead!) (Podpowiedź: Zignoruj nazwę pobranego pliku ZIP, w zamian sprawdż załączony w archiwum plik "changelog.txt"!) - + It is highly recommend to free up more diskspace before proceeding with the encode! Jest wysoce zalecane zwolnić miejsce na dysku zanim zaczniesz kompresję! - + Your TEMP folder is located at: Twój folder TEMP znajduję się: - + Abort Encoding Process Przerwij proces kompresji - + Clean Disk Now Wykonaj oczyszczanie dysku - - + + Ignore Ignoruj - + %n file(s) have been rejected, because read access was not granted! %n plik został odrzucony, ponieważ nie dano praw odczytu! @@ -2072,7 +2072,7 @@ - + %n file(s) have been rejected, because they are dummy CDDA files! %n plik został odrzucony, ponieważ jest to plik CDDA! @@ -2081,7 +2081,7 @@ - + %n file(s) have been rejected, because they appear to be Cue Sheet images! %n plik został odrzucony, ponieważ jest to plik Cue! @@ -2090,7 +2090,7 @@ - + %n file(s) have been rejected, because the file format could not be recognized! %n plik został odrzucony, ponieważ jego format nie został rozpoznany! @@ -2099,468 +2099,468 @@ - + Initializing directory outline, please be patient... Ładowanie zestawu folderów, prosze czekać... - + Refresh Directory Outline Odśwież foldery - + Go To Parent Directory Idź do głównego folderu - + Export Meta Tags to CSV File Eksportuj Tagi do pliku CVS - + Import Meta Tags from CSV File Importuj Tagi do pliku CVS - + Skipping update check this time, please be patient... Pomijanie sprawdzania aktualizacji, prosze czekać... - + Low Diskspace Mało miejsca na dysku - + You are proceeding with low diskspace. Problems might occur! Chcesz zacząć działać z małą ilością miejsca na dysku. Mogą wystąpić problemy! - + Sorry, an unsupported encoder has been chosen! Został wybrany koder, który nie jest wspierany! - + Cannot write to the selected output directory. Nie można zapisać do wybranej lokalizacji. - + Please choose a different directory! Prosze wybrać inną lokalizację! - + Load Translation Zaladuj plik językowy - + Translation Files Pliki językowe - + Do you really want to disable the update reminder? Czy na pewno chcesz wyłączyć przypominanie o aktualizacjach? - - - - - - - + + + + + + + Yes Tak - - - - - - - + + + + + + + No Nie - + The update reminder has been disabled. Przypominanie o aktualizacjach wyłączone. - + Please remember to check for updates at regular intervals! Prosze pamiętać o okresowym sprawdzaniu aktualizacji! - + The update reminder has been re-enabled. Przypominanie o aktualizacjach ponownie włączone. - + Do you really want to disable all sound effects? Czy na pewno chcesz wyłączyć wszystkie dźwiękowe? - - + + Sound Effects Efekty dźwiękowe - + All sound effects have been disabled. Wszystkie efekty dźwiękowe zostały wyłączone. - + The sound effects have been re-enabled. Efekty dźwiękowe zostały ponownie włączone. - - - + + + Nero AAC Notifications Powiadomienia Nero AAC - + Do you really want to disable all Nero AAC Encoder notifications? Czy na pewno chcesz wyłączyć wszystkie powiadomienia Nero AAC? - + All Nero AAC Encoder notifications have been disabled. Wszystkie powiadomienia kodera Nero AAC zostały wyłączone. - + The Nero AAC Encoder notifications have been re-enabled. Powiadomienia Nero AAC zostały ponownie włączone. - - - + + + Slow Startup Notifications Powiadomienia o powolnym starcie - + Do you really want to disable the slow startup notifications? Czy na pewno chcesz wyłączyć powiadomienia o powolnym starcie? - + The slow startup notifications have been disabled. Powiadomienia o powolnym starcie zostały wyłączone. - + The slow startup notifications have been re-enabled. Powiadomienia o powolnym starcie zostały ponownie włączone. - - + + Open Cue Sheet Otwórz plik Cue Sheet - - + + Cue Sheet File Plik Cue Sheet - - - + + + Beta Updates Aktualizacje Beta - + Do you really want LameXP to check for Beta (pre-release) updates? Czy na pewno chcesz aby LameXP sprawdzał aktualizacje Beta? - + LameXP will check for Beta (pre-release) updates from now on. Od teraz LameXP będzie sprawdzał aktualizacje Beta. - + Check Now Sprawdź teraz - + LameXP will <i>not</i> check for Beta (pre-release) updates from now on. LameXP od teraz <i>nie będzie</i> sprawdzał aktualizacji Beta. - - - + + + Hibernate Computer Hibernuj komputer - + Do you really want the computer to be hibernated on shutdown? Czy na pewno chcesz aby komputer był hibernowany zamiast zamykany? - + LameXP will hibernate the computer on shutdown from now on. Od teraz LameXP będzie hibernował komputer zamiast zamykać. - + LameXP will <i>not</i> hibernate the computer on shutdown from now on. LameXP od teraz <i>nie</i> będzie hibernował komputera tylko zamykał. - - - + + + Shell Integration Integracja z systemem - + Do you really want to disable the LameXP shell integration? Czy na pewno chcesz wyłączyć integrację LameXP z systemem? - + The LameXP shell integration has been disabled. Integracja LameXP z systemem zostałą wyłączona. - + The LameXP shell integration has been re-enabled. Integracja LameXP z systemem została ponownie włączona. - - + + Add file(s) Dodaj plik(i) - - + + Add Folder Dodaj folder - - + + Save CSV file Zapisz plik CSV - - - - + + + + CSV File Plik CSV - - - - + + + + CSV Export Eksportowanie CSV - + Sorry, there are no meta tags that can be exported! Nie ma żadnych tagów, które można eksportować! - + Sorry, failed to open CSV file for writing! Nie można otworzyć pliku CSV aby go zapisać! - + Sorry, failed to write to the CSV file! Nie można zapisać do pliku CSV! - + The CSV files was created successfully! Pliki CSV utworzone pomyślnie! - - + + Open CSV file Otwórz plik CSV - + Sorry, failed to open CSV file for reading! Nie można otworzyć pliku CSV aby go wczytać! - - - - - + + + + + CSV Import Importowanie CSV - + Sorry, failed to read from the CSV file! Próba odczytania pliku CSV zakończona niepowodzeniem! - + Sorry, the CSV file does not contain any known fields! Plik CSV nie zawiera żadnych znanych pól! - + CSV file is incomplete. Not all files were updated! Plik CSV nie jest kompletny. Nie wszystkie pliki zostały zaktualizowane! - + The CSV files was imported successfully! Pliki CSV zaimportowano pomyślnie! - - + + New Folder Nowy folder - + Enter the name of the new folder: Wprowadź nazwę nowego folderu: - + Failed to create folder Utworzenie folderu zakończone niepowodzeniem - + The new folder could not be created: Nowy folder nie mógł zostać stworzony: - + Drive is read-only or insufficient access rights! Dysk tylko do odczytu lub brak praw dostępu! - - + + Quality Level %1 Poziom jakości %1 - + Compression %1 Kompresja %1 - + Uncompressed Nieskompresowany - + Best Quality (Slow) Najlepsza jakość (Powoli) - + Acceptable Quality (Fast) Akceptowalna jakość (Szybko) - + High Quality (Recommended) Wysoka jakość (Zalecane) - + Current Encoder: %1 - + Poor Quality (Very Fast) Najniższa jakość (Bardzo szybko) - + File name without extension Nazwa pliku bez rozszerzenia - + Track number with leading zero Numer ścieżki z zerem na początku - + Track title Nazwa ścieżki - + Artist name Nazwa Artysty - + Album name Nazwa Albumu - + Year with (at least) four digits Rok z (przynajmniej) czterema cyframi - + Comment Komentarz - + Characters forbidden in file names: Zabronione znaki w nazwach plików: - + Rename Macros Zmień nazwy makr - + %n Instance(s) %n wątek @@ -2569,37 +2569,37 @@ - + Cannot write to the selected directory. Please choose another directory! Nie można zapisać do wybranej lokalizacji. Prosze wybierz inną lokalizację! - + Overwrite Mode Tryb nadpisywania - + Warning: This mode may overwrite existing files with no way to revert! Ostrzeżenie: W tym trybie istniejące pliki będą nadpisywane bez możliwości ich odzyskania! - + Continue Kontynuuj - + Revert Cofnij - + Already Running Już działa - + LameXP is already running, please use the running instance! LameXP już działa, przejdź do działającego procesu! @@ -2910,128 +2910,128 @@ Nie znaleziono! - + WARNING: Decoded file size exceeds 4 GB, problems might occur! UWAGA: Plik po zdekodowaniu przekracza 4 GB, mogą wystąpić problemy! - + The format of this file is NOT supported: Format tego pliku NIE jest obsługiwany: - + Container Format: Format kontenera: - + Audio Format: Format dźwięku: - + Unsupported! Nieobsługiwany! - + Done. Zrobione. - + Aborted! Przerwano! - + Failed! Niepowodzenie! - + Encoding Kompresowanie - + Analyzing Analizowanie - + Filtering Filtrowanie - + Decoding Dekodowanie - + The source audio file could not be found: Źródłowy plik dźwiękowy nie został odnaleziony: - + The source audio file could not be opened for reading: Źródłowy plik dźwiękowy nie mógł zostać otworzony: - + The target output directory doesn't exist and could NOT be created: Lokalizacja docelowa nie istnieje lu NIE mogła zostać utworzona: - + The target output directory is NOT writable: Nie można zapisać do lokalizacji docelowej: - + Unknown File Name Nieznana nazwa pliku - + Unknown Title Nieznany Tytuł - + Unknown Artist Nieznany Artysta - + Unknown Album Nieznany Album - + Unknown Comment Nieznany Komentarz - + Target output file already exists, going to skip this file: Plik wynikowy już istnieje, zostanie pominięty plik: - + If you don't want existing files to be skipped, please change the overwrite mode! Jeśli nie chcesz aby istniejące pliki były pomijane, zmień tryb nadpisywania! - + Target output file already exists, going to delete existing file: Plik wynikowy już istnieje, zostanie usunięty plik: - + Failed to delete existing target file, will save to another file name! Usuwanie istniejącego pliku zakończone niepowodzeniem, nowy plik zostanie zapisany pod inną nazwą! diff --git a/etc/Translation/LameXP_SV.ts b/etc/Translation/LameXP_SV.ts index c93276de..9025e098 100644 --- a/etc/Translation/LameXP_SV.ts +++ b/etc/Translation/LameXP_SV.ts @@ -465,8 +465,8 @@ - - + + Cue Sheet Error Cue-fel @@ -573,37 +573,37 @@ Du bör frigöra mer diskutrymme innan du fortsätter med importen! - + Analyzing file(s), please wait... Analyserar fil(er), vänta... - + Analysis Failed Analys misslyckades - + Warning: The format of some of the input files could not be determined! Varning! Formatet på vissa filer kunde inte avgöras! - + Continue Anyway Fortsätt ändå - + Abort Avbryt - + Splitting file(s), please wait... Delar fil(er), vänta... - + Process was aborted by the user after %n track(s)! Åtgärden avbröts av användaren efter %n spår! @@ -611,12 +611,12 @@ - + An unexpected error has occured while splitting the Cue Sheet! Ett oväntat fel uppstod vid delningen av cue-filen! - + Imported %n track(s) from the Cue Sheet. Importerade %n spår från cue-filen. @@ -624,7 +624,7 @@ - + Skipped %n track(s). Hoppade över %n spår. @@ -632,7 +632,7 @@ - + Cue Sheet Completed cue-fil färdigbearbetad @@ -752,7 +752,7 @@ DiskObserverThread - + Low diskspace on drive '%1' detected (only %2 MB are free), problems can occur! Lågt diskutrymme upptäckt på enhet '%1' (endast %2 MB ledigt), problem kan uppstå! @@ -876,7 +876,7 @@ - + Show Details Visa detaljer @@ -1619,9 +1619,9 @@ - - - + + + Check for Updates Sök efter uppdateringar @@ -1662,13 +1662,13 @@ - + Disable Update Reminder Inaktivera uppdateringsmeddelande - + Disable Sound Effects Inaktivera ljudeffekter @@ -1753,23 +1753,23 @@ MuldeRs Öppen källkodsprojekt - + Adding file(s), please wait... Lägger till fil(er), vänta... - - + + Access Denied Åtkomst nekad - + This usually means the file is locked by another process. Det innebär oftast att filen är låst av någon annan process. - + %n file(s) have been rejected, because read access was not granted! %n fil har avvisats, eftersom läsbehörighet saknas! @@ -1777,22 +1777,22 @@ - + CDDA Files CDDA-filer - + Sorry, LameXP cannot extract audio tracks from an Audio-CD at present. LameXP kan för närvarande inte extrahera ljudspår från en ljud-CD. - + We recommend using %1 for that purpose. Vi rekommenderar att du använder %1 för det ändamålet. - + %n file(s) have been rejected, because they are dummy CDDA files! %n fil har avvisats, eftersom det är en CDDA attrappfil (dummy)! @@ -1800,17 +1800,17 @@ - + Cue Sheet Cue-fil - + Please use LameXP's Cue Sheet wizard for importing Cue Sheet files. Använd LameXPs cue-guide för att importera cue-filer. - + %n file(s) have been rejected, because they appear to be Cue Sheet images! %n fil har avvisats, eftersom det verkar vara en cue-avbildning! @@ -1818,17 +1818,17 @@ - + Files Rejected Undantagna filer - + This usually means the file is damaged or the file format is not supported. Det innebär oftast att filen är skadad eller att filformatet inte stöds. - + %n file(s) have been rejected, because the file format could not be recognized! %n fil har avvisats, eftersom filformatet inte känns igen! @@ -1836,724 +1836,724 @@ - + Scanning folder(s) for files, please wait... Genomsöker mapp(ar) efter fil(er), vänta... - + DEMO VERSION DEMOVERSION - + You can drop in audio files here! Du kan dra och släppa filer här! - + Initializing directory outline, please be patient... Initierar mappdisposition, vänta... - + Open File in External Application Öppna fil i externt program - + Browse File Location Öppna målmappen - + Browse Selected Folder Öppna markerad mapp - + Refresh Directory Outline Uppdatera mappdisposition - + Go To Parent Directory Gå till överordnad mapp - + Bookmark Current Output Folder Lägg till aktuell utdatamapp i favoriter - + Export Meta Tags to CSV File Exportera metadata till CSV-fil - + Import Meta Tags from CSV File Importera metadata från CSV-fil - + License Declined Licensavtal avvisat - + You have declined the license. Consequently the application will exit now! Du har nekat att godkänna licensavtalet. Programmet kommer nu att avslutas! - + Goodbye! Hej då! - + LameXP - Expired LameXP - Upphört - + This demo (pre-release) version of LameXP has expired at %1. Denna demoversion av LameXP har upphört att gälla från %1. - + LameXP is free software and release versions won't expire. LameXP är kostnadsfritt och release-versionerna upphör inte att gälla. - - + + Exit Program Avsluta programmet - + It seems that a bogus anti-virus software is slowing down the startup of LameXP. Det verkar som ett antivirusprogram orsakar långsammare uppstart av LameXP. - + Please refer to the %1 document for details and solutions! Läs gärna %1 för detaljer och lösningar! - + Slow Startup Långsam uppstart - - - - - + + + + + Discard Stäng - - + + Don't Show Again Visa inte igen - + Urgent Update Viktig uppdatering - + Your version of LameXP is more than a year old. Time for an update! Din version av LameXP är mer än ett år gammal. Dags att uppdatera! - - + + Ignore Ignorera - + Skipping update check this time, please be patient... Hoppar över uppdateringskontrollen den här gången, vänta... - - - + + + Update Reminder Uppdateringspåminnelse - + Your last update check was more than 14 days ago. Check for updates now? Din senaste uppdateringskontroll var för mer än 14 dagar sedan. Vill du söka efter uppdateringar nu? - + Your did not check for LameXP updates yet. Check for updates now? Du har inte genomfört uppdateringskontroll ännu. Vill du söka efter uppdateringar nu? - + Postpone Skjut upp - + LameXP detected that your version of the Nero AAC encoder is outdated! LameXP har uptäckt att din version av Nero AAC-kodare är utdaterad! - + The current version available is %1 (or later), but you still have version %2 installed. Aktuell version är %1 (eller senare), men du har fortfarande version %2. - + n/a n/a - + You can download the latest version of the Nero AAC encoder from the Nero website at: Du kan ladda ner senaste versionen av Nero AAC-kodare från Neros webbsida: - + (Hint: Please ignore the name of the downloaded ZIP file and check the included 'changelog.txt' instead!) (Tips: Bortse från den nedladde zipfilens namn, och kontrollera istället den inkluderade textfilen 'changelog.txt'!) - + AAC Encoder Outdated AAC-kodare utdaterad - + The Nero AAC encoder could not be found. AAC encoding support will be disabled. Neros AAC-kodare kan inte hittas. Stödet för AAC-kodning kommer att inaktiveras. - + Please put 'neroAacEnc.exe', 'neroAacDec.exe' and 'neroAacTag.exe' into the LameXP directory! Placera 'neroAacEnc.exe', 'neroAacDec.exe' och 'neroAacTag.exe' i LameXPs programmmapp! - + Your LameXP directory is located here: Din LameXP programmapp finns här: - + You can download the Nero AAC encoder for free from the official Nero website at: Du kan ladda ner Nero AAC-kodare gratis från den officiella webbsidan: - + AAC Support Disabled AAC-stödet är inaktiverat - - - + + + LameXP LameXP - + You must add at least one file to the list before proceeding! Du måste lägga till minst en fil till listan innan du fortsätter! - + Not Found Kan inte hittas - + Your currently selected TEMP folder does not exist anymore: Din aktuella TEMP-mapp finns inte längre: - + Restore Default Återställ standard - + Cancel Avbryt - + There are less than %1 GB of free diskspace available on your system's TEMP folder. Det finns mindre än %1 GB ledigt diskutrymme i systemets temp-mapp. - + It is highly recommend to free up more diskspace before proceeding with the encode! Du behöver frigöra mer diskutrymme innan du fortsätter med omkodningen! - + Your TEMP folder is located at: Temp-mappens placering: - + Low Diskspace Warning Varning för dåligt diskutrymme - + Abort Encoding Process Avbryt omkodningsprocessen - + Clean Disk Now Rensa disken nu - + Low Diskspace Dåligt diskutrymme - + You are proceeding with low diskspace. Problems might occur! Du fortsätter med dåligt diskutrymme. Problem kan uppstå! - + Sorry, an unsupported encoder has been chosen! En kodare som saknar stöd har valts! - + Cannot write to the selected output directory. Kan inte skriva till den valda utdatamappen. - + Please choose a different directory! Välj en annan målmapp! - + Load Translation Läs in översättning - + Translation Files Översättningsfiler - + Do you really want to disable the update reminder? Vill du verkligen inaktivera uppdateringspåminnelsen? - - - - - - - + + + + + + + Yes Ja - - - - - - - + + + + + + + No Nej - + The update reminder has been disabled. Uppdateringspåminnelsen har inaktiverats. - + Please remember to check for updates at regular intervals! Glöm inte att söka efter uppdateringar med jämna mellanrum! - + The update reminder has been re-enabled. Uppdateringspåminnelsen har återaktiverats. - + Do you really want to disable all sound effects? Vill du verkligen inaktivera alla ljudeffekter? - - + + Sound Effects Ljudeffekter - + All sound effects have been disabled. Alla ljudeffekter har inaktiverats. - + The sound effects have been re-enabled. Ljudeffekterna har återaktiverats. - - - + + + Nero AAC Notifications Nero AAC-meddelanden - + Do you really want to disable all Nero AAC Encoder notifications? Vill du verkligen inaktivera alla Nero AAC-meddelanden? - + All Nero AAC Encoder notifications have been disabled. Alla Nero AAC-meddelanden har inaktiverats. - + The Nero AAC Encoder notifications have been re-enabled. Nero AAC-meddelanden har återaktiverats. - - - + + + Slow Startup Notifications Meddelande om långsam uppstart - + Do you really want to disable the slow startup notifications? Vill du verkligen inaktivera meddelanden om långsam uppstart? - + The slow startup notifications have been disabled. Meddelanden om långsam uppstart har inaktiverats. - + The slow startup notifications have been re-enabled. Meddelanden om långsam uppstart har återaktiverats. - - + + Open Cue Sheet Öppna cue-fil - - + + Cue Sheet File Cue-fil - - - + + + Beta Updates Beta-uppdateringar - + Do you really want LameXP to check for Beta (pre-release) updates? Vill du verkligen att LameXP skall söka efter beta-uppdateringar? - + LameXP will check for Beta (pre-release) updates from now on. LameXP kommer i fortsättningen att söka efter beta-uppdatyeringar. - + Check Now Sök nu - + LameXP will <i>not</i> check for Beta (pre-release) updates from now on. LameXP kommer i fortsättningen <i>inte</i> att söka efter beta-uppdateringar. - - - + + + Hibernate Computer Viloläge - + Do you really want the computer to be hibernated on shutdown? Vill du verkligen att datorn skall försättas i viloläge vid avslut? - + LameXP will hibernate the computer on shutdown from now on. LameXP kommer i fortsättningen att försätta datorn i viloläge vid avslut. - + LameXP will <i>not</i> hibernate the computer on shutdown from now on. LameXP kommer i fortsättningen <i>inte</i> att försätta datorn i viloläge vid avslut. - - - + + + Shell Integration Utforskarintegrering - + Do you really want to disable the LameXP shell integration? Vill du verkligen inaktivera LameXPs utforskarintegration? - + The LameXP shell integration has been disabled. LameXPs utforskarintegration har inaktiverats. - + The LameXP shell integration has been re-enabled. LameXPs utforskarintegration har återaktiverats. - - + + Add file(s) Lägg till fil(er) - - + + Add Folder Lägg till mapp - - + + Save CSV file Spara CSV-fil - - - - + + + + CSV File CSV-fil - - - - + + + + CSV Export CSV-export - + Sorry, there are no meta tags that can be exported! Det finns ingen meta-data som kan exporteras! - + Sorry, failed to open CSV file for writing! Kunde inte öppna CSV-filen för skrivning! - + Sorry, failed to write to the CSV file! Kunde inte skriva till CSV-filen! - + The CSV files was created successfully! CSV-filen skapades korrekt! - - + + Open CSV file Öppna CSV-fil - - - - - + + + + + CSV Import CSV-import - + Sorry, failed to open CSV file for reading! Kunde inte öppna CSV-filen för läsning! - + Sorry, failed to read from the CSV file! Kunde inte läsa från CSV-filen! - + Sorry, the CSV file does not contain any known fields! CSV-filen innehåller inga kända fält! - + CSV file is incomplete. Not all files were updated! CSV-filen är inte komplett. Alla filer uppdaterades inte! - + The CSV files was imported successfully! CSV-filen importerades korrekt! - - + + New Folder Ny mapp - + Enter the name of the new folder: Namn på den nya mappen: - + Failed to create folder Kunde inte skapa någon mapp - + The new folder could not be created: Den nya mappen kunde inte skapas: - + Drive is read-only or insufficient access rights! Diskenheten är skrivskyddad eller åtkomsträttigheter saknas! - - + + Quality Level %1 Kvallitetsnivå %1 - + Compression %1 Kompression %1 - + Uncompressed Okomprimerad - + Best Quality (Slow) Bäst kvalitet (Långsam) - + Acceptable Quality (Fast) Acceptabel kvalitet (Snabb) - + High Quality (Recommended) Hög kvallitet (rekommenderas) - + Current Encoder: %1 - + Poor Quality (Very Fast) Dålig kvallitet (mycket snabb) - + File name without extension Filnamn utan filtillägg - + Track number with leading zero Spårnummer med inledande nolla - + Track title Spårtitel - + Artist name Artistnamn - + Album name Albumnamn - + Year with (at least) four digits Årtal med (minst) fyra siffror - + Comment Kommentar - + Characters forbidden in file names: Förbjudna tecken i filnamn: - + Rename Macros Namnändra macron - + %n Instance(s) %n instans @@ -2561,37 +2561,37 @@ - + Cannot write to the selected directory. Please choose another directory! Kan inte skriva till den specificerade mappen. Välj en annan destination! - + Overwrite Mode Överskrivningsläge - + Warning: This mode may overwrite existing files with no way to revert! Varning! Det här läget kan skriva över befintliga filer, utan möjlighet att återskapa! - + Continue Fortsätt - + Revert Återställ - + Already Running Körs redan - + LameXP is already running, please use the running instance! LameXP körs redan, använd den redan startade instansen! @@ -2902,129 +2902,129 @@ Hittas ej! - + WARNING: Decoded file size exceeds 4 GB, problems might occur! VARNING! Omkodad filstorlek överstiger 4 GB. Problem kan uppstå! - + The format of this file is NOT supported: Det här filformatet saknar stöd i LameXP: - + Container Format: Behållarformat: - + Audio Format: Ljudformat: - + Unsupported! Stöd saknas! - + Aborted! Avbruten! - + Done. Klar. - + Failed! Misslyckades! - + Encoding Kodar - + Analyzing Analyserar - + Filtering Filtrerar - + Decoding Avkodar - + The source audio file could not be found: Källfilen kan inte hittas: - + The source audio file could not be opened for reading: Källfilen kan inte öppnas för läsning: - + The target output directory doesn't exist and could NOT be created: Målmappen finns inte och kan inte skapas: - + The target output directory is NOT writable: Målmappen är INTE skrivbar: - + Unknown File Name Okänt filnamn - + Unknown Title Okänd titel - + Unknown Artist Okänd artist - + Unknown Album Okänt album - + Unknown Comment Okänd kommentar - + Target output file already exists, going to skip this file: Målfilen finns redan! Den här filen hoppas över: - + If you don't want existing files to be skipped, please change the overwrite mode! Om du inte vill att befintliga filer hoppas över, måste du ändra överskrivningsläge! - + Target output file already exists, going to delete existing file: Målfilen finns redan! Befintlig fil kommer att tas bort: - + Failed to delete existing target file, will save to another file name! Kunde inte ta bort befintlig målfil. Sparar med annat filnamn! diff --git a/src/Config.h b/src/Config.h index 097c248b..1e3775e5 100644 --- a/src/Config.h +++ b/src/Config.h @@ -34,7 +34,7 @@ #define VER_LAMEXP_MINOR_LO 9 #define VER_LAMEXP_TYPE Alpha #define VER_LAMEXP_PATCH 3 -#define VER_LAMEXP_BUILD 1398 +#define VER_LAMEXP_BUILD 1399 #define VER_LAMEXP_CONFG 1348 /////////////////////////////////////////////////////////////////////////////// diff --git a/src/Decoder_AAC.cpp b/src/Decoder_AAC.cpp index ddba1bbe..738994c3 100644 --- a/src/Decoder_AAC.cpp +++ b/src/Decoder_AAC.cpp @@ -33,7 +33,7 @@ AACDecoder::AACDecoder(void) { if(m_binary.isEmpty()) { - throw "Error initializing AAC decoder. Tool 'faad.exe' is not registred!"; + THROW("Error initializing AAC decoder. Tool 'faad.exe' is not registred!"); } } diff --git a/src/Decoder_AC3.cpp b/src/Decoder_AC3.cpp index 71850af4..4e9b1852 100644 --- a/src/Decoder_AC3.cpp +++ b/src/Decoder_AC3.cpp @@ -33,7 +33,7 @@ AC3Decoder::AC3Decoder(void) { if(m_binary.isEmpty()) { - throw "Error initializing Valib decoder. Tool 'valdec.exe' is not registred!"; + THROW("Error initializing Valib decoder. Tool 'valdec.exe' is not registred!"); } } diff --git a/src/Decoder_ADPCM.cpp b/src/Decoder_ADPCM.cpp index 852e6463..52558b15 100644 --- a/src/Decoder_ADPCM.cpp +++ b/src/Decoder_ADPCM.cpp @@ -33,7 +33,7 @@ ADPCMDecoder::ADPCMDecoder(void) { if(m_binary.isEmpty()) { - throw "Error initializing Vorbis decoder. Tool 'sox.exe' is not registred!"; + THROW("Error initializing Vorbis decoder. Tool 'sox.exe' is not registred!"); } } diff --git a/src/Decoder_ALAC.cpp b/src/Decoder_ALAC.cpp index c09dd130..979329c6 100644 --- a/src/Decoder_ALAC.cpp +++ b/src/Decoder_ALAC.cpp @@ -34,7 +34,7 @@ ALACDecoder::ALACDecoder(void) { if(m_binary.isEmpty()) { - throw "Error initializing ALAC decoder. Tool 'refalac.exe' is not registred!"; + THROW("Error initializing ALAC decoder. Tool 'refalac.exe' is not registred!"); } } diff --git a/src/Decoder_Avisynth.cpp b/src/Decoder_Avisynth.cpp index efeadcd2..ce78f802 100644 --- a/src/Decoder_Avisynth.cpp +++ b/src/Decoder_Avisynth.cpp @@ -33,7 +33,7 @@ AvisynthDecoder::AvisynthDecoder(void) { if(m_binary.isEmpty()) { - throw "Error initializing Avisynth decoder. Tool 'avs2wav.exe' is not registred!"; + THROW("Error initializing Avisynth decoder. Tool 'avs2wav.exe' is not registred!"); } } diff --git a/src/Decoder_FLAC.cpp b/src/Decoder_FLAC.cpp index c04d0527..0c57bbe1 100644 --- a/src/Decoder_FLAC.cpp +++ b/src/Decoder_FLAC.cpp @@ -33,7 +33,7 @@ FLACDecoder::FLACDecoder(void) { if(m_binary.isEmpty()) { - throw "Error initializing FLAC decoder. Tool 'flac.exe' is not registred!"; + THROW("Error initializing FLAC decoder. Tool 'flac.exe' is not registred!"); } } diff --git a/src/Decoder_MAC.cpp b/src/Decoder_MAC.cpp index 45883945..ede9294a 100644 --- a/src/Decoder_MAC.cpp +++ b/src/Decoder_MAC.cpp @@ -33,7 +33,7 @@ MACDecoder::MACDecoder(void) { if(m_binary.isEmpty()) { - throw "Error initializing MAC decoder. Tool 'mac.exe' is not registred!"; + THROW("Error initializing MAC decoder. Tool 'mac.exe' is not registred!"); } } diff --git a/src/Decoder_MP3.cpp b/src/Decoder_MP3.cpp index 4debf953..e0cf0485 100644 --- a/src/Decoder_MP3.cpp +++ b/src/Decoder_MP3.cpp @@ -33,7 +33,7 @@ MP3Decoder::MP3Decoder(void) { if(m_binary.isEmpty()) { - throw "Error initializing MPG123 decoder. Tool 'mpg123.exe' is not registred!"; + THROW("Error initializing MPG123 decoder. Tool 'mpg123.exe' is not registred!"); } } diff --git a/src/Decoder_Musepack.cpp b/src/Decoder_Musepack.cpp index bb3cd4be..66bf7162 100644 --- a/src/Decoder_Musepack.cpp +++ b/src/Decoder_Musepack.cpp @@ -34,7 +34,7 @@ MusepackDecoder::MusepackDecoder(void) { if(m_binary.isEmpty()) { - throw "Error initializing Musepack decoder. Tool 'mpcdec.exe' is not registred!"; + THROW("Error initializing Musepack decoder. Tool 'mpcdec.exe' is not registred!"); } } diff --git a/src/Decoder_Opus.cpp b/src/Decoder_Opus.cpp index e6121387..667267b6 100644 --- a/src/Decoder_Opus.cpp +++ b/src/Decoder_Opus.cpp @@ -36,7 +36,7 @@ OpusDecoder::OpusDecoder(void) { if(m_binary.isEmpty()) { - throw "Error initializing Opus decoder. Tool 'opusdec.exe' is not registred!"; + THROW("Error initializing Opus decoder. Tool 'opusdec.exe' is not registred!"); } } diff --git a/src/Decoder_Shorten.cpp b/src/Decoder_Shorten.cpp index d106a290..85299d54 100644 --- a/src/Decoder_Shorten.cpp +++ b/src/Decoder_Shorten.cpp @@ -34,7 +34,7 @@ ShortenDecoder::ShortenDecoder(void) { if(m_binary.isEmpty()) { - throw "Error initializing Shorten decoder. Tool 'shorten.exe' is not registred!"; + THROW("Error initializing Shorten decoder. Tool 'shorten.exe' is not registred!"); } } diff --git a/src/Decoder_Speex.cpp b/src/Decoder_Speex.cpp index 8f69c657..e2a1ea93 100644 --- a/src/Decoder_Speex.cpp +++ b/src/Decoder_Speex.cpp @@ -33,7 +33,7 @@ SpeexDecoder::SpeexDecoder(void) { if(m_binary.isEmpty()) { - throw "Error initializing Speex decoder. Tool 'speexdec.exe' is not registred!"; + THROW("Error initializing Speex decoder. Tool 'speexdec.exe' is not registred!"); } } diff --git a/src/Decoder_TTA.cpp b/src/Decoder_TTA.cpp index 1bcca3cb..24ca397b 100644 --- a/src/Decoder_TTA.cpp +++ b/src/Decoder_TTA.cpp @@ -34,7 +34,7 @@ TTADecoder::TTADecoder(void) { if(m_binary.isEmpty()) { - throw "Error initializing TTA decoder. Tool 'ttaenc.exe' is not registred!"; + THROW("Error initializing TTA decoder. Tool 'ttaenc.exe' is not registred!"); } } diff --git a/src/Decoder_Vorbis.cpp b/src/Decoder_Vorbis.cpp index 160824f3..1080b57a 100644 --- a/src/Decoder_Vorbis.cpp +++ b/src/Decoder_Vorbis.cpp @@ -33,7 +33,7 @@ VorbisDecoder::VorbisDecoder(void) { if(m_binary.isEmpty()) { - throw "Error initializing Vorbis decoder. Tool 'oggdec.exe' is not registred!"; + THROW("Error initializing Vorbis decoder. Tool 'oggdec.exe' is not registred!"); } } diff --git a/src/Decoder_WMA.cpp b/src/Decoder_WMA.cpp index 24ab4276..5b979d59 100644 --- a/src/Decoder_WMA.cpp +++ b/src/Decoder_WMA.cpp @@ -35,7 +35,7 @@ WMADecoder::WMADecoder(void) { if(m_binary.isEmpty()) { - throw "Error initializing WMA decoder. Tool 'wma2wav.exe' is not registred!"; + THROW("Error initializing WMA decoder. Tool 'wma2wav.exe' is not registred!"); } } diff --git a/src/Decoder_WavPack.cpp b/src/Decoder_WavPack.cpp index 3c15f6f1..0ca0ebd6 100644 --- a/src/Decoder_WavPack.cpp +++ b/src/Decoder_WavPack.cpp @@ -33,7 +33,7 @@ WavPackDecoder::WavPackDecoder(void) { if(m_binary.isEmpty()) { - throw "Error initializing WavPack decoder. Tool 'wvunpack.exe' is not registred!"; + THROW("Error initializing WavPack decoder. Tool 'wvunpack.exe' is not registred!"); } } diff --git a/src/Dialog_CueImport.cpp b/src/Dialog_CueImport.cpp index 94054cde..a224ce48 100644 --- a/src/Dialog_CueImport.cpp +++ b/src/Dialog_CueImport.cpp @@ -338,10 +338,16 @@ void CueImportDialog::importCueSheet(void) try { m_locks << new LockedFile(temp); + } - catch(char *err) + catch(const std::exception &error) { - qWarning("Failed to lock file: %s", err); + qWarning("Failed to lock file:\n%s\n", error.what()); + continue; + } + catch(...) + { + qWarning("Failed to lock file!"); continue; } files << temp; diff --git a/src/Dialog_MainWindow.cpp b/src/Dialog_MainWindow.cpp index 9a353203..36e2ac50 100644 --- a/src/Dialog_MainWindow.cpp +++ b/src/Dialog_MainWindow.cpp @@ -1597,6 +1597,8 @@ void MainWindow::aboutButtonClicked(void) aboutBox->exec(); LAMEXP_DELETE(aboutBox); ); + + THROW_FMT("TEST ALDER %u!", 667); } /* @@ -3162,7 +3164,7 @@ void MainWindow::outputFolderMouseEventOccurred(QWidget *sender, QEvent *event) } else { - throw "Oups, this is not supposed to happen!"; + THROW("Oups, this is not supposed to happen!"); } } } @@ -3241,7 +3243,7 @@ void MainWindow::updateEncoder(int id) if(ui->radioButtonModeQuality->isEnabled()) ui->radioButtonModeQuality->setChecked(true); else if(ui->radioButtonModeAverageBitrate->isEnabled()) ui->radioButtonModeAverageBitrate->setChecked(true); else if(ui->radioButtonConstBitrate->isEnabled()) ui->radioButtonConstBitrate->setChecked(true); - else throw "It appears that the encoder does not support *any* RC mode!"; + else THROW("It appears that the encoder does not support *any* RC mode!"); //Apply current RC mode const int currentRCMode = EncoderRegistry::loadEncoderMode(m_settings, id); @@ -3250,7 +3252,7 @@ void MainWindow::updateEncoder(int id) case SettingsModel::VBRMode: if(ui->radioButtonModeQuality->isEnabled()) ui->radioButtonModeQuality->setChecked(true); break; case SettingsModel::ABRMode: if(ui->radioButtonModeAverageBitrate->isEnabled()) ui->radioButtonModeAverageBitrate->setChecked(true); break; case SettingsModel::CBRMode: if(ui->radioButtonConstBitrate->isEnabled()) ui->radioButtonConstBitrate->setChecked(true); break; - default: throw "updateEncoder(): Unknown rc-mode encountered!"; + default: THROW("updateEncoder(): Unknown rc-mode encountered!"); } //Display encoder description @@ -3371,7 +3373,7 @@ void MainWindow::updateBitrate(int value) ui->labelBitrate->setText(tr("Uncompressed")); break; default: - throw "Unknown display value type encountered!"; + THROW("Unknown display value type encountered!"); break; } } diff --git a/src/Dialog_Update.cpp b/src/Dialog_Update.cpp index 3f56eb73..a453bdc5 100644 --- a/src/Dialog_Update.cpp +++ b/src/Dialog_Update.cpp @@ -209,7 +209,7 @@ UpdateDialog::UpdateDialog(SettingsModel *settings, QWidget *parent) { if(m_binaryWGet.isEmpty() || m_binaryGnuPG.isEmpty() || m_binaryUpdater.isEmpty() || m_binaryKeys.isEmpty()) { - throw "Tools not initialized correctly!"; + THROW("Tools not initialized correctly!"); } //Init the dialog, from the .ui file diff --git a/src/Encoder_AAC.cpp b/src/Encoder_AAC.cpp index e4554e7c..783a3ca3 100644 --- a/src/Encoder_AAC.cpp +++ b/src/Encoder_AAC.cpp @@ -48,7 +48,7 @@ class AACEncoderInfo : public AbstractEncoderInfo return true; break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -64,7 +64,7 @@ class AACEncoderInfo : public AbstractEncoderInfo return 41; break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -80,7 +80,7 @@ class AACEncoderInfo : public AbstractEncoderInfo return qBound(8, index2bitrate(index), 400); break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -98,7 +98,7 @@ class AACEncoderInfo : public AbstractEncoderInfo return TYPE_BITRATE; break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -122,7 +122,7 @@ AACEncoder::AACEncoder(void) { if(m_binary_enc.isEmpty() || m_binary_tag.isEmpty() || m_binary_sox.isEmpty()) { - throw "Error initializing AAC encoder. Tool 'neroAacEnc.exe' is not registred!"; + THROW("Error initializing AAC encoder. Tool 'neroAacEnc.exe' is not registred!"); } m_configProfile = 0; @@ -151,7 +151,7 @@ bool AACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo args << "-cbr" << QString::number(qBound(8, index2bitrate(m_configBitrate), 400) * 1000); break; default: - throw "Bad rate-control mode!"; + THROW("Bad rate-control mode!"); break; } diff --git a/src/Encoder_AAC_FHG.cpp b/src/Encoder_AAC_FHG.cpp index f5a16632..273bd5df 100644 --- a/src/Encoder_AAC_FHG.cpp +++ b/src/Encoder_AAC_FHG.cpp @@ -51,7 +51,7 @@ class FHGAACEncoderInfo : public AbstractEncoderInfo return false; break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -67,7 +67,7 @@ class FHGAACEncoderInfo : public AbstractEncoderInfo return 52; break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -83,7 +83,7 @@ class FHGAACEncoderInfo : public AbstractEncoderInfo return qBound(8, index2bitrate(index), 576); break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -101,7 +101,7 @@ class FHGAACEncoderInfo : public AbstractEncoderInfo return TYPE_BITRATE; break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -124,7 +124,7 @@ FHGAACEncoder::FHGAACEncoder(void) { if(m_binary_enc.isEmpty() || m_binary_dll.isEmpty()) { - throw "Error initializing FhgAacEnc. Tool 'fhgaacenc.exe' is not registred!"; + THROW("Error initializing FhgAacEnc. Tool 'fhgaacenc.exe' is not registred!"); } m_configProfile = 0; @@ -168,7 +168,7 @@ bool FHGAACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaI args << "--vbr" << QString::number(qBound(1, m_configBitrate + 1, 6)); break; default: - throw "Bad rate-control mode!"; + THROW("Bad rate-control mode!"); break; } diff --git a/src/Encoder_AAC_QAAC.cpp b/src/Encoder_AAC_QAAC.cpp index e8a4d649..87d9793f 100644 --- a/src/Encoder_AAC_QAAC.cpp +++ b/src/Encoder_AAC_QAAC.cpp @@ -52,7 +52,7 @@ class QAACEncoderInfo : public AbstractEncoderInfo return true; break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -68,7 +68,7 @@ class QAACEncoderInfo : public AbstractEncoderInfo return 52; break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -84,7 +84,7 @@ class QAACEncoderInfo : public AbstractEncoderInfo return qBound(8, index2bitrate(index), 576); break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -102,7 +102,7 @@ class QAACEncoderInfo : public AbstractEncoderInfo return TYPE_BITRATE; break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -125,7 +125,7 @@ QAACEncoder::QAACEncoder(void) { if(m_binary_enc.isEmpty() || m_binary_dll.isEmpty()) { - throw "Error initializing QAAC. Tool 'qaac.exe' is not registred!"; + THROW("Error initializing QAAC. Tool 'qaac.exe' is not registred!"); } m_configProfile = 0; @@ -169,7 +169,7 @@ bool QAACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInf args << "--tvbr" << QString::number(g_qaacVBRQualityLUT[qBound(0, m_configBitrate , 14)]); break; default: - throw "Bad rate-control mode!"; + THROW("Bad rate-control mode!"); break; } diff --git a/src/Encoder_AC3.cpp b/src/Encoder_AC3.cpp index 10fdea66..2acb9abf 100644 --- a/src/Encoder_AC3.cpp +++ b/src/Encoder_AC3.cpp @@ -47,7 +47,7 @@ class AC3EncoderInfo : public AbstractEncoderInfo return false; break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -65,7 +65,7 @@ class AC3EncoderInfo : public AbstractEncoderInfo return 19; break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -81,7 +81,7 @@ class AC3EncoderInfo : public AbstractEncoderInfo return g_ac3BitratesLUT[qBound(0, index, 18)]; break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -97,7 +97,7 @@ class AC3EncoderInfo : public AbstractEncoderInfo return TYPE_BITRATE; break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -119,7 +119,7 @@ AC3Encoder::AC3Encoder(void) { if(m_binary.isEmpty()) { - throw "Error initializing FLAC encoder. Tool 'aften.exe' is not registred!"; + THROW("Error initializing FLAC encoder. Tool 'aften.exe' is not registred!"); } m_configAudioCodingMode = 0; @@ -146,7 +146,7 @@ bool AC3Encoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo args << "-b" << QString::number(g_ac3BitratesLUT[qBound(0, m_configBitrate, 18)]); break; default: - throw "Bad rate-control mode!"; + THROW("Bad rate-control mode!"); break; } diff --git a/src/Encoder_Abstract.h b/src/Encoder_Abstract.h index 660c2293..541f430a 100644 --- a/src/Encoder_Abstract.h +++ b/src/Encoder_Abstract.h @@ -21,6 +21,7 @@ #pragma once +#include "Global.h" #include "Tool_Abstract.h" #include "Model_AudioFile.h" @@ -74,7 +75,7 @@ public: //Encoder info static const AbstractEncoderInfo *getEncoderInfo(void) { - throw "This method shall be re-implemented in derived classes!"; + THROW("This method shall be re-implemented in derived classes!"); return NULL; } diff --git a/src/Encoder_DCA.cpp b/src/Encoder_DCA.cpp index 4902eda5..4efeeaf9 100644 --- a/src/Encoder_DCA.cpp +++ b/src/Encoder_DCA.cpp @@ -51,7 +51,7 @@ class DCAEncoderInfo : public AbstractEncoderInfo return true; break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -67,7 +67,7 @@ class DCAEncoderInfo : public AbstractEncoderInfo return 32; break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -83,7 +83,7 @@ class DCAEncoderInfo : public AbstractEncoderInfo return qBound(32, index2bitrate(index), 4096); break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -99,7 +99,7 @@ class DCAEncoderInfo : public AbstractEncoderInfo return TYPE_BITRATE; break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -121,7 +121,7 @@ DCAEncoder::DCAEncoder(void) { if(m_binary.isEmpty()) { - throw "Error initializing DCA encoder. Tool 'dcaenc.exe' is not registred!"; + THROW("Error initializing DCA encoder. Tool 'dcaenc.exe' is not registred!"); } } diff --git a/src/Encoder_FLAC.cpp b/src/Encoder_FLAC.cpp index 1e15eaa1..6a594ddb 100644 --- a/src/Encoder_FLAC.cpp +++ b/src/Encoder_FLAC.cpp @@ -46,7 +46,7 @@ public: return false; break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -62,7 +62,7 @@ public: return 0; break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -78,7 +78,7 @@ public: return -1; break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -93,7 +93,7 @@ public: case SettingsModel::CBRMode: return -1; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -115,7 +115,7 @@ FLACEncoder::FLACEncoder(void) { if(m_binary.isEmpty()) { - throw "Error initializing FLAC encoder. Tool 'flac.exe' is not registred!"; + THROW("Error initializing FLAC encoder. Tool 'flac.exe' is not registred!"); } } diff --git a/src/Encoder_MP3.cpp b/src/Encoder_MP3.cpp index 5ef865f8..e31f1251 100644 --- a/src/Encoder_MP3.cpp +++ b/src/Encoder_MP3.cpp @@ -48,7 +48,7 @@ class MP3EncoderInfo : public AbstractEncoderInfo return true; break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -64,7 +64,7 @@ class MP3EncoderInfo : public AbstractEncoderInfo return 14; break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -80,7 +80,7 @@ class MP3EncoderInfo : public AbstractEncoderInfo return g_mp3BitrateLUT[qBound(0, index, 13)]; break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -98,7 +98,7 @@ class MP3EncoderInfo : public AbstractEncoderInfo return TYPE_BITRATE; break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -120,7 +120,7 @@ MP3Encoder::MP3Encoder(void) { if(m_binary.isEmpty()) { - throw "Error initializing MP3 encoder. Tool 'lame.exe' is not registred!"; + THROW("Error initializing MP3 encoder. Tool 'lame.exe' is not registred!"); } m_algorithmQuality = 3; @@ -155,7 +155,7 @@ bool MP3Encoder::encode(const QString &sourceFile, const AudioFileModel_MetaInfo args << "-b" << QString::number(g_mp3BitrateLUT[qBound(0, m_configBitrate, 13)]); break; default: - throw "Bad rate-control mode!"; + THROW("Bad rate-control mode!"); break; } diff --git a/src/Encoder_Opus.cpp b/src/Encoder_Opus.cpp index 0063e26e..de09aa07 100644 --- a/src/Encoder_Opus.cpp +++ b/src/Encoder_Opus.cpp @@ -44,7 +44,7 @@ class OpusEncoderInfo : public AbstractEncoderInfo return true; break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -58,7 +58,7 @@ class OpusEncoderInfo : public AbstractEncoderInfo return 32; break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -72,7 +72,7 @@ class OpusEncoderInfo : public AbstractEncoderInfo return qBound(8, (index + 1) * 8, 256); break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -88,7 +88,7 @@ class OpusEncoderInfo : public AbstractEncoderInfo return TYPE_BITRATE; break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -110,7 +110,7 @@ OpusEncoder::OpusEncoder(void) { if(m_binary.isEmpty()) { - throw "Error initializing Opus encoder. Tool 'opusenc.exe' is not registred!"; + THROW("Error initializing Opus encoder. Tool 'opusenc.exe' is not registred!"); } m_configOptimizeFor = 0; @@ -139,7 +139,7 @@ bool OpusEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInf args << "--hard-cbr"; break; default: - throw "Bad rate-control mode!"; + THROW("Bad rate-control mode!"); break; } diff --git a/src/Encoder_Vorbis.cpp b/src/Encoder_Vorbis.cpp index cc20e82f..dfe8affe 100644 --- a/src/Encoder_Vorbis.cpp +++ b/src/Encoder_Vorbis.cpp @@ -45,7 +45,7 @@ class VorbisEncoderInfo : public AbstractEncoderInfo return false; break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -61,7 +61,7 @@ class VorbisEncoderInfo : public AbstractEncoderInfo return 60; break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -77,7 +77,7 @@ class VorbisEncoderInfo : public AbstractEncoderInfo return qBound(32, (index + 4) * 8, 500); break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -95,7 +95,7 @@ class VorbisEncoderInfo : public AbstractEncoderInfo return TYPE_BITRATE; break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -117,7 +117,7 @@ VorbisEncoder::VorbisEncoder(void) { if(m_binary.isEmpty()) { - throw "Error initializing Vorbis encoder. Tool 'oggenc2.exe' is not registred!"; + THROW("Error initializing Vorbis encoder. Tool 'oggenc2.exe' is not registred!"); } m_configBitrateMaximum = 0; @@ -144,7 +144,7 @@ bool VorbisEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaI args << "-b" << QString::number(qBound(32, (m_configBitrate + 4) * 8, 500)); break; default: - throw "Bad rate-control mode!"; + THROW("Bad rate-control mode!"); break; } diff --git a/src/Encoder_Wave.cpp b/src/Encoder_Wave.cpp index 3d1baa01..93b513a3 100644 --- a/src/Encoder_Wave.cpp +++ b/src/Encoder_Wave.cpp @@ -53,7 +53,7 @@ public: return true; break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -67,7 +67,7 @@ public: return 0; break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -81,7 +81,7 @@ public: return -1; break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } @@ -95,7 +95,7 @@ public: return TYPE_UNCOMPRESSED; break; default: - throw "Bad RC mode specified!"; + THROW("Bad RC mode specified!"); } } diff --git a/src/Filter_Downmix.cpp b/src/Filter_Downmix.cpp index d5d03822..d87a8731 100644 --- a/src/Filter_Downmix.cpp +++ b/src/Filter_Downmix.cpp @@ -35,7 +35,7 @@ DownmixFilter::DownmixFilter(void) { if(m_binary.isEmpty()) { - throw "Error initializing SoX filter. Tool 'sox.exe' is not registred!"; + THROW("Error initializing SoX filter. Tool 'sox.exe' is not registred!"); } } diff --git a/src/Filter_Normalize.cpp b/src/Filter_Normalize.cpp index ceb59820..e1f2662e 100644 --- a/src/Filter_Normalize.cpp +++ b/src/Filter_Normalize.cpp @@ -33,7 +33,7 @@ NormalizeFilter::NormalizeFilter(int peakVolume, int equalizationMode) { if(m_binary.isEmpty()) { - throw "Error initializing SoX filter. Tool 'sox.exe' is not registred!"; + THROW("Error initializing SoX filter. Tool 'sox.exe' is not registred!"); } m_peakVolume = qMin(-50, qMax(-3200, peakVolume)); diff --git a/src/Filter_Resample.cpp b/src/Filter_Resample.cpp index ef516d16..5d8a2aec 100644 --- a/src/Filter_Resample.cpp +++ b/src/Filter_Resample.cpp @@ -39,7 +39,7 @@ ResampleFilter::ResampleFilter(int samplingRate, int bitDepth) { if(m_binary.isEmpty()) { - throw "Error initializing SoX filter. Tool 'sox.exe' is not registred!"; + THROW("Error initializing SoX filter. Tool 'sox.exe' is not registred!"); } m_samplingRate = (samplingRate > 0) ? qBound(8000, samplingRate, 192000) : 0; diff --git a/src/Filter_ToneAdjust.cpp b/src/Filter_ToneAdjust.cpp index 597b6a03..01ab7867 100644 --- a/src/Filter_ToneAdjust.cpp +++ b/src/Filter_ToneAdjust.cpp @@ -34,7 +34,7 @@ ToneAdjustFilter::ToneAdjustFilter(int bass, int treble) { if(m_binary.isEmpty()) { - throw "Error initializing SoX filter. Tool 'sox.exe' is not registred!"; + THROW("Error initializing SoX filter. Tool 'sox.exe' is not registred!"); } m_bass = qMax(-2000, qMin(2000, bass)); diff --git a/src/Global.cpp b/src/Global.cpp index 3a15673f..ef3dc74d 100644 --- a/src/Global.cpp +++ b/src/Global.cpp @@ -485,7 +485,7 @@ const QDate &lamexp_version_date(void) } else { - throw "Internal error: Date format could not be recognized!"; + THROW("Internal error: Date format could not be recognized!"); } } @@ -531,7 +531,7 @@ const lamexp_os_version_t *lamexp_get_os_version(void) } else { - throw "GetVersionEx() has failed. This is not supposed to happen!"; + THROW("GetVersionEx() has failed. This is not supposed to happen!"); } g_lamexp_os_version.bInitialized = true; @@ -1419,7 +1419,7 @@ void lamexp_ipc_send(unsigned int command, const char* message) if(!g_lamexp_ipc_ptr.sharedmem || !g_lamexp_ipc_ptr.semaphore_read || !g_lamexp_ipc_ptr.semaphore_write || !g_lamexp_ipc_ptr.semaphore_read_mutex || !g_lamexp_ipc_ptr.semaphore_write_mutex) { - throw "Shared memory for IPC not initialized yet."; + THROW("Shared memory for IPC not initialized yet."); } lamexp_ipc_data_t ipc_data; @@ -1456,7 +1456,7 @@ void lamexp_ipc_read(unsigned int *command, char* message, size_t buffSize) if(!g_lamexp_ipc_ptr.sharedmem || !g_lamexp_ipc_ptr.semaphore_read || !g_lamexp_ipc_ptr.semaphore_write || !g_lamexp_ipc_ptr.semaphore_read_mutex || !g_lamexp_ipc_ptr.semaphore_write_mutex) { - throw "Shared memory for IPC not initialized yet."; + THROW("Shared memory for IPC not initialized yet."); } lamexp_ipc_data_t ipc_data; @@ -1688,7 +1688,7 @@ void lamexp_register_tool(const QString &toolName, LockedFile *file, unsigned in if(g_lamexp_tools.registry->contains(toolName.toLower())) { - throw "lamexp_register_tool: Tool is already registered!"; + THROW("lamexp_register_tool: Tool is already registered!"); } g_lamexp_tools.registry->insert(toolName.toLower(), file); @@ -2273,7 +2273,7 @@ void lamexp_blink_window(QWidget *poWindow, unsigned int count, unsigned int del QApplication::processEvents(); blinkMutex.unlock(); } - catch (...) + catch(...) { blinkMutex.unlock(); qWarning("Exception error while blinking!"); @@ -3064,6 +3064,6 @@ unsigned long lamexp_dbg_private_bytes(void) GetProcessMemoryInfo(GetCurrentProcess(), (PPROCESS_MEMORY_COUNTERS) &memoryCounters, sizeof(PROCESS_MEMORY_COUNTERS_EX)); return memoryCounters.PrivateUsage; #else - throw "Cannot call this function in a non-debug build!"; + THROW("Cannot call this function in a non-debug build!"); #endif //LAMEXP_DEBUG } diff --git a/src/Global.h b/src/Global.h index ae866f42..e611cd59 100644 --- a/src/Global.h +++ b/src/Global.h @@ -252,11 +252,15 @@ while(0) #endif //Helper macro for throwing exceptions -#define THROW(MESSAGE) throw std::runtime_error((MESSAGE)) -#define THROW_FMT(FORMAT, ...) do \ +#define THROW(MESSAGE) do \ { \ - char error_msg[512]; \ - _snprintf_s(error_msg, 512, _TRUNCATE, (FORMAT), __VA_ARGS__); \ - throw std::runtime_error(error_msg); \ + throw std::runtime_error((MESSAGE)); \ +} \ +while(0) +#define THROW_FMT(FORMAT, ...) do \ +{ \ + char _error_msg[512]; \ + _snprintf_s(_error_msg, 512, _TRUNCATE, (FORMAT), __VA_ARGS__); \ + throw std::runtime_error(_error_msg); \ } \ while(0) diff --git a/src/Main.cpp b/src/Main.cpp index 435bdd6f..1d4a7f73 100644 --- a/src/Main.cpp +++ b/src/Main.cpp @@ -243,29 +243,16 @@ static int _main(int argc, char* argv[]) iResult = lamexp_main(argc, argv); lamexp_finalization(); } - catch(const std::runtime_error &error) + catch(const std::exception &error) { fflush(stdout); fflush(stderr); - fprintf(stderr, "\nGURU MEDITATION !!!\n\nException error:\n%s\n", error); - lamexp_fatal_exit(L"Unhandeled C++ exception error, application will exit!"); - } - catch(char *error) - { - fflush(stdout); fflush(stderr); - fprintf(stderr, "\nGURU MEDITATION !!!\n\nException error message: %s\n", error); - lamexp_fatal_exit(L"Unhandeled C++ exception error, application will exit!"); - } - catch(int error) - { - fflush(stdout); fflush(stderr); - fprintf(stderr, "\nGURU MEDITATION !!!\n\nException error code: 0x%X\n", error); + fprintf(stderr, "\nGURU MEDITATION !!!\n\nException error:\n%s\n", error.what()); lamexp_fatal_exit(L"Unhandeled C++ exception error, application will exit!"); } catch(...) { - fflush(stdout); - fflush(stderr); - fprintf(stderr, "\nGURU MEDITATION !!!\n"); + fflush(stdout); fflush(stderr); + fprintf(stderr, "\nGURU MEDITATION !!!\n\nUnknown exception error!\n"); lamexp_fatal_exit(L"Unhandeled C++ exception error, application will exit!"); } return iResult; diff --git a/src/Registry_Encoder.cpp b/src/Registry_Encoder.cpp index 7788ad63..e6149b25 100644 --- a/src/Registry_Encoder.cpp +++ b/src/Registry_Encoder.cpp @@ -113,7 +113,7 @@ AbstractEncoder *EncoderRegistry::createInstance(const int encoderId, const Sett } break; default: - throw "makeEncoder(): Unknown AAC encoder specified!"; + THROW("makeEncoder(): Unknown AAC encoder specified!"); break; } } @@ -162,13 +162,13 @@ AbstractEncoder *EncoderRegistry::createInstance(const int encoderId, const Sett break; /*-------- default --------*/ default: - throw "Unsupported encoder!"; + THROW("Unsupported encoder!"); } //Sanity checking if(!encoder) { - throw "No encoder instance has been assigend!"; + THROW("No encoder instance has been assigend!"); } //Apply common settings @@ -202,16 +202,16 @@ const AbstractEncoderInfo *EncoderRegistry::getEncoderInfo(const int encoderId) case SettingsModel::AAC_ENCODER_QAAC: info = QAACEncoder::getEncoderInfo(); break; case SettingsModel::AAC_ENCODER_FHG: info = FHGAACEncoder::getEncoderInfo(); break; case SettingsModel::AAC_ENCODER_NERO: info = AACEncoder::getEncoderInfo(); break; - default: throw "Unknown AAC encoder specified!"; + default: THROW("Unknown AAC encoder specified!"); } break; - default: throw "Unsupported encoder!"; + default: THROW("Unsupported encoder!"); } //Sanity checking if(!info) { - throw "No encoder instance has been assigend!"; + THROW("No encoder instance has been assigend!"); } return info; @@ -238,7 +238,7 @@ void EncoderRegistry::saveEncoderMode(SettingsModel *settings, const int encoder //Sanity checking if((rcMode < SettingsModel::VBRMode) || (rcMode > SettingsModel::CBRMode)) { - throw "Unknown rate-control mode!"; + THROW("Unknown rate-control mode!"); } //Store the encoder bitrate/quality value @@ -252,7 +252,7 @@ void EncoderRegistry::saveEncoderMode(SettingsModel *settings, const int encoder case SettingsModel::OpusEncoder: STORE_MODE(OpusEnc, rcMode); break; case SettingsModel::DCAEncoder: STORE_MODE(DcaEnc, rcMode); break; case SettingsModel::PCMEncoder: STORE_MODE(Wave, rcMode); break; - default: throw "Unsupported encoder!"; + default: THROW("Unsupported encoder!"); } } @@ -271,7 +271,7 @@ int EncoderRegistry::loadEncoderMode(const SettingsModel *settings, const int en case SettingsModel::OpusEncoder: LOAD_MODE(rcMode, OpusEnc); break; case SettingsModel::DCAEncoder: LOAD_MODE(rcMode, DcaEnc); break; case SettingsModel::PCMEncoder: LOAD_MODE(rcMode, Wave); break; - default: throw "Unsupported encoder!"; + default: THROW("Unsupported encoder!"); } return rcMode; @@ -302,7 +302,7 @@ void EncoderRegistry::saveEncoderValue(SettingsModel *settings, const int encode //Sanity checking if((rcMode < SettingsModel::VBRMode) || (rcMode > SettingsModel::CBRMode)) { - throw "Unknown rate-control mode!"; + THROW("Unknown rate-control mode!"); } //Store the encoder bitrate/quality value @@ -316,7 +316,7 @@ void EncoderRegistry::saveEncoderValue(SettingsModel *settings, const int encode case SettingsModel::OpusEncoder: STORE_VALUE(OpusEnc, rcMode, value); break; case SettingsModel::DCAEncoder: STORE_VALUE(DcaEnc, rcMode, value); break; case SettingsModel::PCMEncoder: STORE_VALUE(Wave, rcMode, value); break; - default: throw "Unsupported encoder!"; + default: THROW("Unsupported encoder!"); } } @@ -327,7 +327,7 @@ int EncoderRegistry::loadEncoderValue(const SettingsModel *settings, const int e //Sanity checking if((rcMode < SettingsModel::VBRMode) || (rcMode > SettingsModel::CBRMode)) { - throw "Unknown rate-control mode!"; + THROW("Unknown rate-control mode!"); } //Load the encoder bitrate/quality value @@ -341,7 +341,7 @@ int EncoderRegistry::loadEncoderValue(const SettingsModel *settings, const int e case SettingsModel::OpusEncoder: LOAD_VALUE(value, OpusEnc, rcMode); break; case SettingsModel::DCAEncoder: LOAD_VALUE(value, DcaEnc, rcMode); break; case SettingsModel::PCMEncoder: LOAD_VALUE(value, Wave, rcMode); break; - default: throw "Unsupported encoder!"; + default: THROW("Unsupported encoder!"); } return value; @@ -376,7 +376,7 @@ void EncoderRegistry::saveEncoderCustomParams(SettingsModel *settings, const int case SettingsModel::OpusEncoder: STORE_PARAMS(OpusEnc, params.trimmed()); break; case SettingsModel::DCAEncoder: STORE_PARAMS(DcaEnc, params.trimmed()); break; case SettingsModel::PCMEncoder: STORE_PARAMS(Wave, params.trimmed()); break; - default: throw "Unsupported encoder!"; + default: THROW("Unsupported encoder!"); } } @@ -395,7 +395,7 @@ QString EncoderRegistry::loadEncoderCustomParams(const SettingsModel *settings, case SettingsModel::OpusEncoder: LOAD_PARAMS(params, OpusEnc); break; case SettingsModel::DCAEncoder: LOAD_PARAMS(params, DcaEnc); break; case SettingsModel::PCMEncoder: LOAD_PARAMS(params, Wave); break; - default: throw "Unsupported encoder!"; + default: THROW("Unsupported encoder!"); } return params; diff --git a/src/ShellIntegration.cpp b/src/ShellIntegration.cpp index 1cf89001..a657e26b 100644 --- a/src/ShellIntegration.cpp +++ b/src/ShellIntegration.cpp @@ -52,7 +52,7 @@ QMutex ShellIntegration::m_mutex; ShellIntegration::ShellIntegration(void) { - throw "Cannot create instance of this class, sorry!"; + THROW("Cannot create instance of this class, sorry!"); } //////////////////////////////////////////////////////////// diff --git a/src/Thread_CPUObserver.cpp b/src/Thread_CPUObserver.cpp index f4a11ba0..c8237c03 100644 --- a/src/Thread_CPUObserver.cpp +++ b/src/Thread_CPUObserver.cpp @@ -73,12 +73,17 @@ void CPUObserverThread::run(void) { observe(); } + catch(const std::exception &error) + { + fflush(stdout); fflush(stderr); + fprintf(stderr, "\nGURU MEDITATION !!!\n\nException error:\n%s\n", error.what()); + lamexp_fatal_exit(L"Unhandeled C++ exception error, application will exit!"); + } catch(...) { - fflush(stdout); - fflush(stderr); - fprintf(stderr, "\nGURU MEDITATION !!!\n"); - lamexp_fatal_exit(L"Unhandeled exception error, application will exit!"); + fflush(stdout); fflush(stderr); + fprintf(stderr, "\nGURU MEDITATION !!!\n\nUnknown exception error!\n"); + lamexp_fatal_exit(L"Unhandeled C++ exception error, application will exit!"); } while(m_semaphore.available()) m_semaphore.tryAcquire(); diff --git a/src/Thread_DiskObserver.cpp b/src/Thread_DiskObserver.cpp index bf2cdcd0..74af323a 100644 --- a/src/Thread_DiskObserver.cpp +++ b/src/Thread_DiskObserver.cpp @@ -54,12 +54,17 @@ void DiskObserverThread::run(void) { observe(); } + catch(const std::exception &error) + { + fflush(stdout); fflush(stderr); + fprintf(stderr, "\nGURU MEDITATION !!!\n\nException error:\n%s\n", error.what()); + lamexp_fatal_exit(L"Unhandeled C++ exception error, application will exit!"); + } catch(...) { - fflush(stdout); - fflush(stderr); - fprintf(stderr, "\nGURU MEDITATION !!!\n"); - lamexp_fatal_exit(L"Unhandeled exception error, application will exit!"); + fflush(stdout); fflush(stderr); + fprintf(stderr, "\nGURU MEDITATION !!!\n\nUnknown exception error!\n"); + lamexp_fatal_exit(L"Unhandeled C++ exception error, application will exit!"); } while(m_semaphore.available()) m_semaphore.tryAcquire(); diff --git a/src/Thread_FileAnalyzer.cpp b/src/Thread_FileAnalyzer.cpp index 4ac03b24..012f2336 100644 --- a/src/Thread_FileAnalyzer.cpp +++ b/src/Thread_FileAnalyzer.cpp @@ -307,6 +307,11 @@ bool FileAnalyzer::createTemplate(void) { m_templateFile = new LockedFile(templatePath); } + catch(const std::exception &error) + { + qWarning("Failed to lock template file:\n%s\n", error.what()); + return false; + } catch(...) { qWarning("Failed to lock template file!"); @@ -359,7 +364,7 @@ void FileAnalyzer::taskFileAnalyzed(const unsigned int taskId, const int fileTyp m_filesRejected++; break; default: - throw "Unknown file type identifier!"; + THROW("Unknown file type identifier!"); } //Emit all pending files diff --git a/src/Thread_FileAnalyzer_Task.cpp b/src/Thread_FileAnalyzer_Task.cpp index 59ac7ab1..bef209d5 100644 --- a/src/Thread_FileAnalyzer_Task.cpp +++ b/src/Thread_FileAnalyzer_Task.cpp @@ -78,9 +78,17 @@ void AnalyzeTask::run() { run_ex(); } + catch(const std::exception &error) + { + fflush(stdout); fflush(stderr); + fprintf(stderr, "\nGURU MEDITATION !!!\n\nException error:\n%s\n", error.what()); + lamexp_fatal_exit(L"Unhandeled C++ exception error, application will exit!"); + } catch(...) { - qWarning("WARNING: Caught an in exception AnalyzeTask thread!"); + fflush(stdout); fflush(stderr); + fprintf(stderr, "\nGURU MEDITATION !!!\n\nUnknown exception error!\n"); + lamexp_fatal_exit(L"Unhandeled C++ exception error, application will exit!"); } } diff --git a/src/Thread_Initialization.cpp b/src/Thread_Initialization.cpp index b0b052ce..3ae66285 100644 --- a/src/Thread_Initialization.cpp +++ b/src/Thread_Initialization.cpp @@ -97,7 +97,7 @@ protected: { if(!getExcept()) doExtract(); } - catch(const std::runtime_error &e) + catch(const std::exception &e) { QMutexLocker lock(&s_mutex); if(!s_bExcept) @@ -219,7 +219,7 @@ void InitializationThread::run() PRINT_CPU_TYPE(CPU_TYPE_X86_SSE); break; PRINT_CPU_TYPE(CPU_TYPE_X64_GEN); break; PRINT_CPU_TYPE(CPU_TYPE_X64_SSE); break; - default: throw "CPU support undefined!"; + default: THROW("CPU support undefined!"); } //Allocate maps @@ -782,7 +782,7 @@ void InitializationThread::selfTest(void) PRINT_CPU_TYPE(CPU_TYPE_X86_SSE); break; PRINT_CPU_TYPE(CPU_TYPE_X64_GEN); break; PRINT_CPU_TYPE(CPU_TYPE_X64_SSE); break; - default: throw "CPU support undefined!"; + default: THROW("CPU support undefined!"); } int n = 0; for(int i = 0; i < INT_MAX; i++) diff --git a/src/Thread_Process.cpp b/src/Thread_Process.cpp index e2af26e5..3d276cdf 100644 --- a/src/Thread_Process.cpp +++ b/src/Thread_Process.cpp @@ -125,7 +125,7 @@ bool ProcessThread::start(QThreadPool *pool) //Make sure object was initialized correctly if(m_initialized < 0) { - throw "Object not initialized yet!"; + THROW("Object not initialized yet!"); } if(m_initialized < 1) @@ -177,12 +177,17 @@ void ProcessThread::run() { processFile(); } + catch(const std::exception &error) + { + fflush(stdout); fflush(stderr); + fprintf(stderr, "\nGURU MEDITATION !!!\n\nException error:\n%s\n", error.what()); + lamexp_fatal_exit(L"Unhandeled C++ exception error, application will exit!"); + } catch(...) { - fflush(stdout); - fflush(stderr); - fprintf(stderr, "\nGURU MEDITATION !!!\n"); - lamexp_fatal_exit(L"Unhandeled exception error, application will exit!"); + fflush(stdout); fflush(stderr); + fprintf(stderr, "\nGURU MEDITATION !!!\n\nUnknown exception error!\n"); + lamexp_fatal_exit(L"Unhandeled C++ exception error, application will exit!"); } } @@ -194,7 +199,7 @@ void ProcessThread::processFile() //Make sure object was initialized correctly if(m_initialized < 1) { - throw "Object not initialized yet!"; + THROW("Object not initialized yet!"); } QString sourceFile = m_audioFile.filePath(); diff --git a/src/Thread_RAMObserver.cpp b/src/Thread_RAMObserver.cpp index 0bbb1520..d5a212a2 100644 --- a/src/Thread_RAMObserver.cpp +++ b/src/Thread_RAMObserver.cpp @@ -53,12 +53,17 @@ void RAMObserverThread::run(void) { observe(); } + catch(const std::exception &error) + { + fflush(stdout); fflush(stderr); + fprintf(stderr, "\nGURU MEDITATION !!!\n\nException error:\n%s\n", error.what()); + lamexp_fatal_exit(L"Unhandeled C++ exception error, application will exit!"); + } catch(...) { - fflush(stdout); - fflush(stderr); - fprintf(stderr, "\nGURU MEDITATION !!!\n"); - lamexp_fatal_exit(L"Unhandeled exception error, application will exit!"); + fflush(stdout); fflush(stderr); + fprintf(stderr, "\nGURU MEDITATION !!!\n\nUnknown exception error!\n"); + lamexp_fatal_exit(L"Unhandeled C++ exception error, application will exit!"); } while(m_semaphore.available()) m_semaphore.tryAcquire(); diff --git a/src/Tool_WaveProperties.cpp b/src/Tool_WaveProperties.cpp index 8de19f82..aa89498a 100644 --- a/src/Tool_WaveProperties.cpp +++ b/src/Tool_WaveProperties.cpp @@ -32,7 +32,7 @@ WaveProperties::WaveProperties(void) { if(m_binary.isEmpty()) { - throw "Error initializing MP3 encoder. Tool 'lame.exe' is not registred!"; + THROW("Error initializing MP3 encoder. Tool 'lame.exe' is not registred!"); } } diff --git a/src/WinSevenTaskbar.cpp b/src/WinSevenTaskbar.cpp index 363aa0a6..50c4f25c 100644 --- a/src/WinSevenTaskbar.cpp +++ b/src/WinSevenTaskbar.cpp @@ -35,7 +35,7 @@ static ITaskbarList3 *s_ptbl = NULL; WinSevenTaskbar::WinSevenTaskbar(void) { - throw "Cannot create instance of this class!"; + THROW("Cannot create instance of this class!"); } WinSevenTaskbar::~WinSevenTaskbar(void)