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 @@
-
-
+
+
@@ -572,63 +572,63 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -748,7 +748,7 @@
DiskObserverThread
-
+
@@ -872,7 +872,7 @@
-
+
@@ -1615,9 +1615,9 @@
-
-
-
+
+
+
@@ -1658,13 +1658,13 @@
-
+
-
+
@@ -1749,840 +1749,840 @@
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
+
-
+
-
-
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -2893,128 +2893,128 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
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!
@@ -12,7 +12,7 @@
-
+
Imported %n track from the Cue Sheet.
@@ -20,7 +20,7 @@
-
+
Skipped %n track.
@@ -31,7 +31,7 @@
MainWindow
-
+
%n file have been rejected, because read access was not granted!
@@ -39,7 +39,7 @@
-
+
%n file have been rejected, because they are dummy CDDA files!
@@ -47,7 +47,7 @@
-
+
%n file have been rejected, because they appear to be Cue Sheet images!
@@ -55,7 +55,7 @@
-
+
%n file have been rejected, because the file format could not be recognized!
@@ -63,7 +63,7 @@
-
+
%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 @@
-
-
+
+
Błąd pliku Cue Sheet
@@ -572,37 +572,37 @@
Jest wysoce zalecane zwolnić miejsce na dysku zanim zaczniesz importować!
-
+
Analizowanie pliku/ów, prosze czekać...
-
+
Analiza zakończona niepowodzeniem
-
+
Ostrzeżenie: Nie można rozpoznać formatu kilku plików wejściowych!
-
+
Kontynuuj pomimo to
-
+
Przerwij
-
+
Dzielenie pliku/ów, prosze czekać...
-
+
Proces został przerwany przez użytkownika po zakończeniu %n ścieżki!
@@ -611,12 +611,12 @@
-
+
Wystąpił nieoczekiwany błąd podczas podziału pliku Cue Sheet!
-
+
Zaimportowano %n ścieżkę z pliku Cue Sheet.
@@ -625,7 +625,7 @@
-
+
Pominięto %n ścieżkę.
@@ -634,7 +634,7 @@
-
+
Stworzono plik Cue Sheet
@@ -754,7 +754,7 @@
DiskObserverThread
-
+
Mało miejsca na dysku '%1' (tylko %2 MB dostępnych), mogą wystąpić problemy!
@@ -878,7 +878,7 @@
-
+
Pokaż szczegóły
@@ -1622,9 +1622,9 @@
-
-
-
+
+
+
Sprawdź aktualizacje
@@ -1665,13 +1665,13 @@
-
+
Wyłącz przypominanie o aktualizacji
-
+
Wyłącz efekty dźwiękowe
@@ -1756,314 +1756,314 @@
Otwartoźródłowe projekty MuldeR'a
-
+
Dodawanie plików, prosze czekać...
-
-
+
+
Dostęp zablokowany
-
+
To przeważnie oznacza, że plik jest zablokowany przez inny proces.
-
+
Pliki CDDA
-
+
LameXP nie może teraz wyekstrachować ścieżki z płyty Audio-CD.
-
+
Zaleca się użycie w tym celu %1.
-
+
Cue Sheet
-
+
Prosze użyć przewodnika Cue Sheet w LameXP w celu importowania tych plików.
-
+
Pliki odrzucone
-
+
To przeważnie oznacza że plik jest uszkodzony lub format pliku nie jest wspierany.
-
+
Skanowanie folderu/ów, prosze czekać...
-
+
Tutaj możesz upuścić pliki dźwiękowe!
-
+
Otwórz plik w zewnętrznym programie
-
+
Otwórz lokalizację pliku
-
+
Otwórz wybrany folder
-
+
Zapamiętaj wybrany folder
-
+
Licencja odrzucona
-
+
Odrzuciłeś licencję. W takim razie program zostanie teraz zamknięty!
-
+
Naraska!
-
+
LameXP - Termin wygasł
-
+
Ta wersja próbna LameXP wygasła %1.
-
+
LameXP jest darmowym oprogramowaniem i pełna wersja nie wygasa.
-
-
+
+
Wyjdź z programu
-
+
Najwyraźniej twoje oprogramowanie antywirusowe spowalnia uruchamianie się LameXP.
-
+
Prosze sprawdzić dokument %1 w celu dalszych szcegółów i rozwiązań!
-
+
Powolny start
-
-
-
-
-
+
+
+
+
+
Zamknij
-
-
+
+
Nie pokazuj ponownie
-
+
Ważna aktualizacja
-
+
Twoja wersja LameXP jest starsza niż rok! Czas na aktualizację!
-
-
-
+
+
+
Powiadomienie aktualizacji
-
+
Ostatnie sprawdzenie aktualizacji było ponad 14 dni temu. Sprawdzić teraz aktualizacje?
-
+
Nie sprawdzałeś jeszcze aktualizacji LameXP. Sprawdzić teraz aktualizacje?
-
+
Przełóż
-
+
LameXP wykrył że Twoja wersja kodera Nero AAC jest nieaktualna!
-
+
Wersją dostępną obecnie jest %1, Twoja wersja to %2.
-
+
b/d
-
+
Możesz pobrać najnowszą wersję kodera Nero AAC ze strony Nero:
-
+
Koder AAC jest nieaktualny
-
+
Nie można odnaleźć kodera Nero AAC. Kompresja formatu AAC zostanie wyłączona.
-
+
Prosze skopiować 'neroAacEnc.exe', 'neroAacDec.exe', oraz 'neroAacTag.exe' do folderu LameXP!
-
+
Folder aplikacji LameXP znajduje się tutaj:
-
+
Możesz pobrać koder Nero AAC za darmo z oficjalnej strony Nero:
-
+
Wsparcie dla AAC wyłączone
-
-
-
+
+
+
LameXP
-
+
Powinienieś dodać przynajmniej jeden plik do listy aby zacząć działać!
-
+
Nie znaleziono
-
+
Wybrany przez Ciebie folder tymczasowy TEMP już nie istnieje:
-
+
Przywróć domyślne
-
+
Anuluj
-
+
Ostrzeżenie o małej ilości miejsca na dysku
-
+
Jest mniej niż %1 GB dostępnego miejsca w systemowym folderze TEMP.
-
+
WERSJA PRÓBNA
-
+
(Podpowiedź: Zignoruj nazwę pobranego pliku ZIP, w zamian sprawdż załączony w archiwum plik "changelog.txt"!)
-
+
Jest wysoce zalecane zwolnić miejsce na dysku zanim zaczniesz kompresję!
-
+
Twój folder TEMP znajduję się:
-
+
Przerwij proces kompresji
-
+
Wykonaj oczyszczanie dysku
-
-
+
+
Ignoruj
-
+
%n plik został odrzucony, ponieważ nie dano praw odczytu!
@@ -2072,7 +2072,7 @@
-
+
%n plik został odrzucony, ponieważ jest to plik CDDA!
@@ -2081,7 +2081,7 @@
-
+
%n plik został odrzucony, ponieważ jest to plik Cue!
@@ -2090,7 +2090,7 @@
-
+
%n plik został odrzucony, ponieważ jego format nie został rozpoznany!
@@ -2099,468 +2099,468 @@
-
+
Ładowanie zestawu folderów, prosze czekać...
-
+
Odśwież foldery
-
+
Idź do głównego folderu
-
+
Eksportuj Tagi do pliku CVS
-
+
Importuj Tagi do pliku CVS
-
+
Pomijanie sprawdzania aktualizacji, prosze czekać...
-
+
Mało miejsca na dysku
-
+
Chcesz zacząć działać z małą ilością miejsca na dysku. Mogą wystąpić problemy!
-
+
Został wybrany koder, który nie jest wspierany!
-
+
Nie można zapisać do wybranej lokalizacji.
-
+
Prosze wybrać inną lokalizację!
-
+
Zaladuj plik językowy
-
+
Pliki językowe
-
+
Czy na pewno chcesz wyłączyć przypominanie o aktualizacjach?
-
-
-
-
-
-
-
+
+
+
+
+
+
+
Tak
-
-
-
-
-
-
-
+
+
+
+
+
+
+
Nie
-
+
Przypominanie o aktualizacjach wyłączone.
-
+
Prosze pamiętać o okresowym sprawdzaniu aktualizacji!
-
+
Przypominanie o aktualizacjach ponownie włączone.
-
+
Czy na pewno chcesz wyłączyć wszystkie dźwiękowe?
-
-
+
+
Efekty dźwiękowe
-
+
Wszystkie efekty dźwiękowe zostały wyłączone.
-
+
Efekty dźwiękowe zostały ponownie włączone.
-
-
-
+
+
+
Powiadomienia Nero AAC
-
+
Czy na pewno chcesz wyłączyć wszystkie powiadomienia Nero AAC?
-
+
Wszystkie powiadomienia kodera Nero AAC zostały wyłączone.
-
+
Powiadomienia Nero AAC zostały ponownie włączone.
-
-
-
+
+
+
Powiadomienia o powolnym starcie
-
+
Czy na pewno chcesz wyłączyć powiadomienia o powolnym starcie?
-
+
Powiadomienia o powolnym starcie zostały wyłączone.
-
+
Powiadomienia o powolnym starcie zostały ponownie włączone.
-
-
+
+
Otwórz plik Cue Sheet
-
-
+
+
Plik Cue Sheet
-
-
-
+
+
+
Aktualizacje Beta
-
+
Czy na pewno chcesz aby LameXP sprawdzał aktualizacje Beta?
-
+
Od teraz LameXP będzie sprawdzał aktualizacje Beta.
-
+
Sprawdź teraz
-
+
LameXP od teraz <i>nie będzie</i> sprawdzał aktualizacji Beta.
-
-
-
+
+
+
Hibernuj komputer
-
+
Czy na pewno chcesz aby komputer był hibernowany zamiast zamykany?
-
+
Od teraz LameXP będzie hibernował komputer zamiast zamykać.
-
+
LameXP od teraz <i>nie</i> będzie hibernował komputera tylko zamykał.
-
-
-
+
+
+
Integracja z systemem
-
+
Czy na pewno chcesz wyłączyć integrację LameXP z systemem?
-
+
Integracja LameXP z systemem zostałą wyłączona.
-
+
Integracja LameXP z systemem została ponownie włączona.
-
-
+
+
Dodaj plik(i)
-
-
+
+
Dodaj folder
-
-
+
+
Zapisz plik CSV
-
-
-
-
+
+
+
+
Plik CSV
-
-
-
-
+
+
+
+
Eksportowanie CSV
-
+
Nie ma żadnych tagów, które można eksportować!
-
+
Nie można otworzyć pliku CSV aby go zapisać!
-
+
Nie można zapisać do pliku CSV!
-
+
Pliki CSV utworzone pomyślnie!
-
-
+
+
Otwórz plik CSV
-
+
Nie można otworzyć pliku CSV aby go wczytać!
-
-
-
-
-
+
+
+
+
+
Importowanie CSV
-
+
Próba odczytania pliku CSV zakończona niepowodzeniem!
-
+
Plik CSV nie zawiera żadnych znanych pól!
-
+
Plik CSV nie jest kompletny. Nie wszystkie pliki zostały zaktualizowane!
-
+
Pliki CSV zaimportowano pomyślnie!
-
-
+
+
Nowy folder
-
+
Wprowadź nazwę nowego folderu:
-
+
Utworzenie folderu zakończone niepowodzeniem
-
+
Nowy folder nie mógł zostać stworzony:
-
+
Dysk tylko do odczytu lub brak praw dostępu!
-
-
+
+
Poziom jakości %1
-
+
Kompresja %1
-
+
Nieskompresowany
-
+
Najlepsza jakość (Powoli)
-
+
Akceptowalna jakość (Szybko)
-
+
Wysoka jakość (Zalecane)
-
+
-
+
Najniższa jakość (Bardzo szybko)
-
+
Nazwa pliku bez rozszerzenia
-
+
Numer ścieżki z zerem na początku
-
+
Nazwa ścieżki
-
+
Nazwa Artysty
-
+
Nazwa Albumu
-
+
Rok z (przynajmniej) czterema cyframi
-
+
Komentarz
-
+
Zabronione znaki w nazwach plików:
-
+
Zmień nazwy makr
-
+
%n wątek
@@ -2569,37 +2569,37 @@
-
+
Nie można zapisać do wybranej lokalizacji. Prosze wybierz inną lokalizację!
-
+
Tryb nadpisywania
-
+
Ostrzeżenie: W tym trybie istniejące pliki będą nadpisywane bez możliwości ich odzyskania!
-
+
Kontynuuj
-
+
Cofnij
-
+
Już działa
-
+
LameXP już działa, przejdź do działającego procesu!
@@ -2910,128 +2910,128 @@
Nie znaleziono!
-
+
UWAGA: Plik po zdekodowaniu przekracza 4 GB, mogą wystąpić problemy!
-
+
Format tego pliku NIE jest obsługiwany:
-
+
Format kontenera:
-
+
Format dźwięku:
-
+
Nieobsługiwany!
-
+
Zrobione.
-
+
Przerwano!
-
+
Niepowodzenie!
-
+
Kompresowanie
-
+
Analizowanie
-
+
Filtrowanie
-
+
Dekodowanie
-
+
Źródłowy plik dźwiękowy nie został odnaleziony:
-
+
Źródłowy plik dźwiękowy nie mógł zostać otworzony:
-
+
Lokalizacja docelowa nie istnieje lu NIE mogła zostać utworzona:
-
+
Nie można zapisać do lokalizacji docelowej:
-
+
Nieznana nazwa pliku
-
+
Nieznany Tytuł
-
+
Nieznany Artysta
-
+
Nieznany Album
-
+
Nieznany Komentarz
-
+
Plik wynikowy już istnieje, zostanie pominięty plik:
-
+
Jeśli nie chcesz aby istniejące pliki były pomijane, zmień tryb nadpisywania!
-
+
Plik wynikowy już istnieje, zostanie usunięty plik:
-
+
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-fel
@@ -573,37 +573,37 @@
Du bör frigöra mer diskutrymme innan du fortsätter med importen!
-
+
Analyserar fil(er), vänta...
-
+
Analys misslyckades
-
+
Varning! Formatet på vissa filer kunde inte avgöras!
-
+
Fortsätt ändå
-
+
Avbryt
-
+
Delar fil(er), vänta...
-
+
Åtgärden avbröts av användaren efter %n spår!
@@ -611,12 +611,12 @@
-
+
Ett oväntat fel uppstod vid delningen av cue-filen!
-
+
Importerade %n spår från cue-filen.
@@ -624,7 +624,7 @@
-
+
Hoppade över %n spår.
@@ -632,7 +632,7 @@
-
+
cue-fil färdigbearbetad
@@ -752,7 +752,7 @@
DiskObserverThread
-
+
Lågt diskutrymme upptäckt på enhet '%1' (endast %2 MB ledigt), problem kan uppstå!
@@ -876,7 +876,7 @@
-
+
Visa detaljer
@@ -1619,9 +1619,9 @@
-
-
-
+
+
+
Sök efter uppdateringar
@@ -1662,13 +1662,13 @@
-
+
Inaktivera uppdateringsmeddelande
-
+
Inaktivera ljudeffekter
@@ -1753,23 +1753,23 @@
MuldeRs Öppen källkodsprojekt
-
+
Lägger till fil(er), vänta...
-
-
+
+
Åtkomst nekad
-
+
Det innebär oftast att filen är låst av någon annan process.
-
+
%n fil har avvisats, eftersom läsbehörighet saknas!
@@ -1777,22 +1777,22 @@
-
+
CDDA-filer
-
+
LameXP kan för närvarande inte extrahera ljudspår från en ljud-CD.
-
+
Vi rekommenderar att du använder %1 för det ändamålet.
-
+
%n fil har avvisats, eftersom det är en CDDA attrappfil (dummy)!
@@ -1800,17 +1800,17 @@
-
+
Cue-fil
-
+
Använd LameXPs cue-guide för att importera cue-filer.
-
+
%n fil har avvisats, eftersom det verkar vara en cue-avbildning!
@@ -1818,17 +1818,17 @@
-
+
Undantagna filer
-
+
Det innebär oftast att filen är skadad eller att filformatet inte stöds.
-
+
%n fil har avvisats, eftersom filformatet inte känns igen!
@@ -1836,724 +1836,724 @@
-
+
Genomsöker mapp(ar) efter fil(er), vänta...
-
+
DEMOVERSION
-
+
Du kan dra och släppa filer här!
-
+
Initierar mappdisposition, vänta...
-
+
Öppna fil i externt program
-
+
Öppna målmappen
-
+
Öppna markerad mapp
-
+
Uppdatera mappdisposition
-
+
Gå till överordnad mapp
-
+
Lägg till aktuell utdatamapp i favoriter
-
+
Exportera metadata till CSV-fil
-
+
Importera metadata från CSV-fil
-
+
Licensavtal avvisat
-
+
Du har nekat att godkänna licensavtalet. Programmet kommer nu att avslutas!
-
+
Hej då!
-
+
LameXP - Upphört
-
+
Denna demoversion av LameXP har upphört att gälla från %1.
-
+
LameXP är kostnadsfritt och release-versionerna upphör inte att gälla.
-
-
+
+
Avsluta programmet
-
+
Det verkar som ett antivirusprogram orsakar långsammare uppstart av LameXP.
-
+
Läs gärna %1 för detaljer och lösningar!
-
+
Långsam uppstart
-
-
-
-
-
+
+
+
+
+
Stäng
-
-
+
+
Visa inte igen
-
+
Viktig uppdatering
-
+
Din version av LameXP är mer än ett år gammal. Dags att uppdatera!
-
-
+
+
Ignorera
-
+
Hoppar över uppdateringskontrollen den här gången, vänta...
-
-
-
+
+
+
Uppdateringspåminnelse
-
+
Din senaste uppdateringskontroll var för mer än 14 dagar sedan. Vill du söka efter uppdateringar nu?
-
+
Du har inte genomfört uppdateringskontroll ännu. Vill du söka efter uppdateringar nu?
-
+
Skjut upp
-
+
LameXP har uptäckt att din version av Nero AAC-kodare är utdaterad!
-
+
Aktuell version är %1 (eller senare), men du har fortfarande version %2.
-
+
n/a
-
+
Du kan ladda ner senaste versionen av Nero AAC-kodare från Neros webbsida:
-
+
(Tips: Bortse från den nedladde zipfilens namn, och kontrollera istället den inkluderade textfilen 'changelog.txt'!)
-
+
AAC-kodare utdaterad
-
+
Neros AAC-kodare kan inte hittas. Stödet för AAC-kodning kommer att inaktiveras.
-
+
Placera 'neroAacEnc.exe', 'neroAacDec.exe' och 'neroAacTag.exe' i LameXPs programmmapp!
-
+
Din LameXP programmapp finns här:
-
+
Du kan ladda ner Nero AAC-kodare gratis från den officiella webbsidan:
-
+
AAC-stödet är inaktiverat
-
-
-
+
+
+
LameXP
-
+
Du måste lägga till minst en fil till listan innan du fortsätter!
-
+
Kan inte hittas
-
+
Din aktuella TEMP-mapp finns inte längre:
-
+
Återställ standard
-
+
Avbryt
-
+
Det finns mindre än %1 GB ledigt diskutrymme i systemets temp-mapp.
-
+
Du behöver frigöra mer diskutrymme innan du fortsätter med omkodningen!
-
+
Temp-mappens placering:
-
+
Varning för dåligt diskutrymme
-
+
Avbryt omkodningsprocessen
-
+
Rensa disken nu
-
+
Dåligt diskutrymme
-
+
Du fortsätter med dåligt diskutrymme. Problem kan uppstå!
-
+
En kodare som saknar stöd har valts!
-
+
Kan inte skriva till den valda utdatamappen.
-
+
Välj en annan målmapp!
-
+
Läs in översättning
-
+
Översättningsfiler
-
+
Vill du verkligen inaktivera uppdateringspåminnelsen?
-
-
-
-
-
-
-
+
+
+
+
+
+
+
Ja
-
-
-
-
-
-
-
+
+
+
+
+
+
+
Nej
-
+
Uppdateringspåminnelsen har inaktiverats.
-
+
Glöm inte att söka efter uppdateringar med jämna mellanrum!
-
+
Uppdateringspåminnelsen har återaktiverats.
-
+
Vill du verkligen inaktivera alla ljudeffekter?
-
-
+
+
Ljudeffekter
-
+
Alla ljudeffekter har inaktiverats.
-
+
Ljudeffekterna har återaktiverats.
-
-
-
+
+
+
Nero AAC-meddelanden
-
+
Vill du verkligen inaktivera alla Nero AAC-meddelanden?
-
+
Alla Nero AAC-meddelanden har inaktiverats.
-
+
Nero AAC-meddelanden har återaktiverats.
-
-
-
+
+
+
Meddelande om långsam uppstart
-
+
Vill du verkligen inaktivera meddelanden om långsam uppstart?
-
+
Meddelanden om långsam uppstart har inaktiverats.
-
+
Meddelanden om långsam uppstart har återaktiverats.
-
-
+
+
Öppna cue-fil
-
-
+
+
Cue-fil
-
-
-
+
+
+
Beta-uppdateringar
-
+
Vill du verkligen att LameXP skall söka efter beta-uppdateringar?
-
+
LameXP kommer i fortsättningen att söka efter beta-uppdatyeringar.
-
+
Sök nu
-
+
LameXP kommer i fortsättningen <i>inte</i> att söka efter beta-uppdateringar.
-
-
-
+
+
+
Viloläge
-
+
Vill du verkligen att datorn skall försättas i viloläge vid avslut?
-
+
LameXP kommer i fortsättningen att försätta datorn i viloläge vid avslut.
-
+
LameXP kommer i fortsättningen <i>inte</i> att försätta datorn i viloläge vid avslut.
-
-
-
+
+
+
Utforskarintegrering
-
+
Vill du verkligen inaktivera LameXPs utforskarintegration?
-
+
LameXPs utforskarintegration har inaktiverats.
-
+
LameXPs utforskarintegration har återaktiverats.
-
-
+
+
Lägg till fil(er)
-
-
+
+
Lägg till mapp
-
-
+
+
Spara CSV-fil
-
-
-
-
+
+
+
+
CSV-fil
-
-
-
-
+
+
+
+
CSV-export
-
+
Det finns ingen meta-data som kan exporteras!
-
+
Kunde inte öppna CSV-filen för skrivning!
-
+
Kunde inte skriva till CSV-filen!
-
+
CSV-filen skapades korrekt!
-
-
+
+
Öppna CSV-fil
-
-
-
-
-
+
+
+
+
+
CSV-import
-
+
Kunde inte öppna CSV-filen för läsning!
-
+
Kunde inte läsa från CSV-filen!
-
+
CSV-filen innehåller inga kända fält!
-
+
CSV-filen är inte komplett. Alla filer uppdaterades inte!
-
+
CSV-filen importerades korrekt!
-
-
+
+
Ny mapp
-
+
Namn på den nya mappen:
-
+
Kunde inte skapa någon mapp
-
+
Den nya mappen kunde inte skapas:
-
+
Diskenheten är skrivskyddad eller åtkomsträttigheter saknas!
-
-
+
+
Kvallitetsnivå %1
-
+
Kompression %1
-
+
Okomprimerad
-
+
Bäst kvalitet (Långsam)
-
+
Acceptabel kvalitet (Snabb)
-
+
Hög kvallitet (rekommenderas)
-
+
-
+
Dålig kvallitet (mycket snabb)
-
+
Filnamn utan filtillägg
-
+
Spårnummer med inledande nolla
-
+
Spårtitel
-
+
Artistnamn
-
+
Albumnamn
-
+
Årtal med (minst) fyra siffror
-
+
Kommentar
-
+
Förbjudna tecken i filnamn:
-
+
Namnändra macron
-
+
%n instans
@@ -2561,37 +2561,37 @@
-
+
Kan inte skriva till den specificerade mappen. Välj en annan destination!
-
+
Överskrivningsläge
-
+
Varning! Det här läget kan skriva över befintliga filer, utan möjlighet att återskapa!
-
+
Fortsätt
-
+
Återställ
-
+
Körs redan
-
+
LameXP körs redan, använd den redan startade instansen!
@@ -2902,129 +2902,129 @@
Hittas ej!
-
+
VARNING! Omkodad filstorlek överstiger 4 GB. Problem kan uppstå!
-
+
Det här filformatet saknar stöd i LameXP:
-
+
Behållarformat:
-
+
Ljudformat:
-
+
Stöd saknas!
-
+
Avbruten!
-
+
Klar.
-
+
Misslyckades!
-
+
Kodar
-
+
Analyserar
-
+
Filtrerar
-
+
Avkodar
-
+
Källfilen kan inte hittas:
-
+
Källfilen kan inte öppnas för läsning:
-
+
Målmappen finns inte och kan inte skapas:
-
+
Målmappen är INTE skrivbar:
-
+
Okänt filnamn
-
+
Okänd titel
-
+
Okänd artist
-
+
Okänt album
-
+
Okänd kommentar
-
+
Målfilen finns redan! Den här filen hoppas över:
-
+
Om du inte vill att befintliga filer hoppas över, måste du ändra överskrivningsläge!
-
+
Målfilen finns redan! Befintlig fil kommer att tas bort:
-
+
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)