diff --git a/LameXP_VS2010.vcxproj b/LameXP_VS2010.vcxproj
index 39b4c7e8..38bb328e 100644
--- a/LameXP_VS2010.vcxproj
+++ b/LameXP_VS2010.vcxproj
@@ -462,6 +462,7 @@ del "$(TargetDir)imageformats\q???d4.dll"
+
@@ -516,6 +517,23 @@ del "$(TargetDir)imageformats\q???d4.dll"
+
+ "$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"
+ MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp"
+ "$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"
+ MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp"
+ "$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"
+ MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp"
+ "$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"
+ MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp"
+ "$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"
+ MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp"
+ $(SolutionDir)tmp\MOC_%(Filename).cpp;%(Outputs)
+ $(SolutionDir)tmp\MOC_%(Filename).cpp;%(Outputs)
+ $(SolutionDir)tmp\MOC_%(Filename).cpp;%(Outputs)
+ $(SolutionDir)tmp\MOC_%(Filename).cpp;%(Outputs)
+ $(SolutionDir)tmp\MOC_%(Filename).cpp;%(Outputs)
+
"$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"
@@ -726,9 +744,9 @@ del "$(TargetDir)imageformats\q???d4.dll"
"$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"
- "$(QTDIR5)\qtbase\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"
+ "$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"
"$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"
- "$(QTDIR5)\qtbase\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"
+ "$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"
"$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"
MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp"
MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp"
@@ -1332,21 +1350,18 @@ del "$(TargetDir)imageformats\q???d4.dll"
MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp"
MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp"
- "$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"
-
- "$(QTDIR5)\qtbase\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"
+ "$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"
+ "$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"
$(SolutionDir)tmp\MOC_%(Filename).cpp;%(Outputs)
$(SolutionDir)tmp\MOC_%(Filename).cpp;%(Outputs)
MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp"
MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp"
- "$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"
-
- "$(QTDIR5)\qtbase\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"
+ "$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"
+ "$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"
$(SolutionDir)tmp\MOC_%(Filename).cpp;%(Outputs)
$(SolutionDir)tmp\MOC_%(Filename).cpp;%(Outputs)
MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp"
- "$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"
-
+ "$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"
$(SolutionDir)tmp\MOC_%(Filename).cpp;%(Outputs)
diff --git a/LameXP_VS2010.vcxproj.filters b/LameXP_VS2010.vcxproj.filters
index b201fee4..9d02a6e8 100644
--- a/LameXP_VS2010.vcxproj.filters
+++ b/LameXP_VS2010.vcxproj.filters
@@ -373,6 +373,9 @@
Source Files\Decoders
+
+ Generated Files\MOC
+
@@ -686,6 +689,9 @@
Header Files\Encoders
+
+ Header Files\Misc
+
diff --git a/etc/Translation/Blank.ts b/etc/Translation/Blank.ts
index 51e20eae..07bae8e8 100644
--- a/etc/Translation/Blank.ts
+++ b/etc/Translation/Blank.ts
@@ -760,7 +760,7 @@
-
+
@@ -781,13 +781,13 @@
-
+
-
+
@@ -833,7 +833,7 @@
-
+
@@ -874,7 +874,7 @@
-
+
@@ -960,7 +960,7 @@
-
+
@@ -1186,6 +1186,7 @@
+
@@ -1220,1239 +1221,1244 @@
-
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
-
-
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
+
-
+
-
-
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -2908,141 +2914,141 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
+
diff --git a/etc/Translation/LameXP_DE.ts b/etc/Translation/LameXP_DE.ts
index 1985ad4a..01d331be 100644
--- a/etc/Translation/LameXP_DE.ts
+++ b/etc/Translation/LameXP_DE.ts
@@ -1890,6 +1890,10 @@
Psychoakustische Optimierungen (experimentell)
+
+
+
+
MetaInfo
diff --git a/etc/Translation/LameXP_ES.ts b/etc/Translation/LameXP_ES.ts
index 1e875bcc..f047a461 100644
--- a/etc/Translation/LameXP_ES.ts
+++ b/etc/Translation/LameXP_ES.ts
@@ -1889,6 +1889,10 @@
+
+
+
+
MetaInfo
diff --git a/etc/Translation/LameXP_FR.ts b/etc/Translation/LameXP_FR.ts
index c04e0dd0..009d2727 100644
--- a/etc/Translation/LameXP_FR.ts
+++ b/etc/Translation/LameXP_FR.ts
@@ -1899,6 +1899,10 @@ Ouvrir le dossier récursivement...
+
+
+
+
MetaInfo
diff --git a/etc/Translation/LameXP_IT.ts b/etc/Translation/LameXP_IT.ts
index 62add78c..be571acb 100644
--- a/etc/Translation/LameXP_IT.ts
+++ b/etc/Translation/LameXP_IT.ts
@@ -1890,6 +1890,10 @@
+
+
+
+
MetaInfo
diff --git a/etc/Translation/LameXP_KR.ts b/etc/Translation/LameXP_KR.ts
index c93fe5cd..2d04f910 100644
--- a/etc/Translation/LameXP_KR.ts
+++ b/etc/Translation/LameXP_KR.ts
@@ -1889,6 +1889,10 @@
+
+
+
+
MetaInfo
diff --git a/etc/Translation/LameXP_PL.ts b/etc/Translation/LameXP_PL.ts
index 7b39d6e9..0831229b 100644
--- a/etc/Translation/LameXP_PL.ts
+++ b/etc/Translation/LameXP_PL.ts
@@ -760,7 +760,7 @@
-
+
Pliki źródłowe
@@ -781,13 +781,13 @@
-
+
Pokaż szczegóły
-
+
Folder docelowy
@@ -823,7 +823,7 @@
-
+
Tagi
@@ -864,7 +864,7 @@
-
+
Kompresja
@@ -915,7 +915,7 @@
-
+
Opcje zaawansowane
@@ -1186,6 +1186,7 @@
+
Tutaj możesz wpisać własne parametry kodowania!
@@ -1220,1239 +1221,1244 @@
Aften A/52:
-
+
+
+
+
+
+
Wielowątkowość
-
+
Wybierz ilość równoległych kodowań na podstawie ilości wątków procesora (Zalecane)
-
+
Mniej
-
+
Więcej
-
+
Folder tymczasowy
-
+
Wybierz...
-
+
Zapisuj pliki tymczasowe w systemowej lokalizacji TEMP (Zalecane)
-
+
Opcje A/52
-
+
-
+
-
+
-
+
-
-
+
+
-
+
Żadna (Domyślnie)
-
+
Automatycznie
-
+
1+1 (Ch1,Ch2)
-
+
1/0 (C)
-
+
2/0 (L,R)
-
+
3/0 (L,R,C)
-
+
2/1 (L,R,S)
-
+
3/1 (L,R,C,S)
-
+
2/2 (L,R,SL,SR)
-
+
3/2 (L,R,C,SL,SR)
-
+
Ilość kanałów:
-
+
Kompresja dynamiki (DRC):
-
+
Szybka alokacja bitów (Mniejsza dokładność)
-
+
-
+
Zmiana nazwy plików wyjściowych
-
+
Zapisz tutaj wzór wg którego zmienisz nazwy!
-
+
Zmieniaj nazwy plików
-
+
<a href="reset">Resetuj</a> <a href="#">Pokaż listę makr</a>
-
+
Format wyjściowy:
-
+
Przykładowa nazwa pliku:
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
Resetuj opcje zaawansowane
-
+
Kompresuj!
-
-
+
+
Info...
-
+
Wyjdź z programu
-
+
Plik
-
+
?
-
+
Widok
-
+
Styl
-
+
Język
-
+
Narzędzia
-
+
Konfiguracja
-
+
Zamknij
-
+
Otwórz plik(i)...
-
-
+
+
Odwiedź oficjalną stronę
-
-
-
-
+
+
+
+
Sprawdź aktualizacje
-
+
Otwórz folder...
-
+
Wyczyść wszystko
-
+
Plastique
-
+
Cleanlooks
-
+
Windows Vista ("Aero")
-
+
Windows Classic
-
+
Windows XP ("Luna")
-
-
+
+
Wyłącz przypominanie o aktualizacji
-
-
+
+
Wyłącz efekty dźwiękowe
-
+
Zainstaluj Dekoder WMA
-
+
Wyłącz powiadomienia Nero AAC
-
+
Pokaż DropBoxa
-
+
Z pliku...
-
+
Kompresuj!
-
+
Wyłącz integrację z systemem
-
+
Pytania i Odpowiedzi
-
+
Lista zmian
-
+
Przewodnik tłumacza
-
+
Pomoc i Wsparcie
-
+
Otwórz folder rekurencyjnie...
-
+
Sprawdzaj czy jest Beta
-
+
Importuj plik Cue
-
+
Wyłącz powiadomienia o powolnym starcie
-
+
Hibernuj zamiast zamykać
-
+
Dodawanie plików, prosze czekać...
-
-
+
+
Dostęp zablokowany
-
+
%1 plik(ów) zostało odrzuconych z powodu braku dostępu do pliku!
-
+
To przeważnie oznacza, że plik jest zablokowany przez inny proces.
-
+
Pliki CDDA
-
+
%1 plik(ów) zostało odrzuconych ponieważ to nie są właściwe 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
-
+
%1 plik(ów) zostało odrzuconych, ponieważ to nie są pliki obrazów Cue Sheet!
-
+
Prosze użyć przewodnika Cue Sheet w LameXP w celu importowania tych plików.
-
+
Pliki odrzucone
-
+
%1 plik(ów) zostało odrzuconych, ponieważ ich format nie został rozpoznany!
-
+
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 demo (beta) 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.
-
+
n/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 DEMO
-
+
(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
-
+
Ładowanie zestawu folderów, prosze czekać...
-
+
Odśwież foldery
-
+
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!
-
+
QAAC (Apple)
-
+
FHG AAC (Winamp)
-
+
Nero AAC
-
+
Niedostępny!
-
+
Obecny koder AAC: %1
-
-
-
-
+
+
+
+
Poziom jakości %1
-
-
-
+
+
+
Kompresja %1
-
-
-
+
+
+
Nieskompresowany
-
+
Najlepsza jakość (Bardzo wolno)
-
+
Wysoka jakość (Zalecane)
-
+
Średnia jakość (Domyślnie)
-
+
Niska jakość (Szybko)
-
+
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
-
+
%1 wątek/ki
-
+
Nie można zapisać do wybranej lokalizacji. Prosze wybierz inną lokalizację!
-
+
Już działa
-
+
LameXP już działa, przejdź do działającego programu!
@@ -2908,141 +2914,141 @@
Powrót
-
+
Pokaż szczegóły wybranego zadania
-
+
Wybierz lokalizację dla plików wyjściowych
-
+
Kompresowanie plików
-
+
Twoje pliki są właśnie kompresowane, prosze być cierpliwy...
-
+
Kompresowanie plików, prosze czekać...
-
+
Wielowątkowosć włączona: Równolegle wykonywanych jest %1 kodowań!
-
+
Przerwano! Czekanie na wyłączenie procesu...
-
+
Kompresja: Prosze czekać, jak dotąd wykonano %1 z %2 plików...
-
+
Tworzenie pliku playlisty, prosze czekać...
-
+
Proces został przerwany przez użytkownika po wykonaniu %1 plików!
-
+
Proces został przedwcześnie zakończony przez użytkownika!
-
+
LameXP - Przerwano
-
+
Proces został przerwany przez użytkownika.
-
+
Proces został zakończony po %1.
-
+
Błąd: %1 z %2 plików nie zostało skompresowanych. Kliknij dwukrotnie na plik aby zobaczyć szczegóły!
-
+
LameXP - Błąd
-
+
Przynajmniej jeden plik nie został skompresowany!
-
-
+
+
Kompresja wszystkich plików zakończona powodzeniem.
-
+
LameXP - Zrobione
-
+
Tworzenie playlisty zakończone niepowodzeniem
-
+
Playlista nie mogła zostać utworzona:
-
+
Ostrzeżenie: Komputer zostanie zamknięty za %1 sekund/y...
-
-
+
+
Anuluj wyłączenie komputera
-
+
godzinie/ach
-
-
+
+
minutach
-
-
+
+
sekundach
-
+
milisekundach
diff --git a/etc/Translation/LameXP_RU.ts b/etc/Translation/LameXP_RU.ts
index d6028b51..091a5fba 100644
--- a/etc/Translation/LameXP_RU.ts
+++ b/etc/Translation/LameXP_RU.ts
@@ -1895,6 +1895,10 @@
+
+
+
+
MetaInfo
diff --git a/etc/Translation/LameXP_SV.ts b/etc/Translation/LameXP_SV.ts
index 0dc354e5..d0e95e3f 100644
--- a/etc/Translation/LameXP_SV.ts
+++ b/etc/Translation/LameXP_SV.ts
@@ -760,7 +760,7 @@
-
+
Källfiler
@@ -781,13 +781,13 @@
-
+
Visa detaljer
-
+
Målmapp
@@ -833,7 +833,7 @@
-
+
Metadata
@@ -874,7 +874,7 @@
-
+
Komprimering
@@ -960,7 +960,7 @@
-
+
Avancerat
@@ -1186,6 +1186,7 @@
+
Du kan ange anpassade parametrar här!
@@ -1220,1239 +1221,1244 @@
Aften A/52:
-
+
+
+
+
+
+
Flertrådskörning
-
+
Välj antal parallella instanser baserat på antal processorkärnor (rekommenderas)
-
+
Färre instanser
-
+
Fler instanser
-
+
Temporär destination
-
+
Bläddra...
-
+
Lagra temporära filer i systemets standardmapp (rekommenderas)
-
+
Aften A/52-alternativ
-
+
Film lätt
-
+
Film standard
-
+
Musik lätt
-
+
Musik standard
-
-
+
+
Tal
-
+
Ingen (standard)
-
+
Automatiskt
-
+
1+1 (Ch1,Ch2)
-
+
1/0 (C)
-
+
2/0 (V,H)
-
+
3/0 (V,H,C)
-
+
2/1 (V,H,S)
-
+
3/1 (V,H,C,S)
-
+
2/2 (V,H,SV,SH)
-
+
3/2 (V,H,C,SV,SH)
-
+
Ljudkodningsläge:
-
+
Dynamisk intervallkomprimering:
-
+
Snabb bitallokering (mindre exakt)
-
+
Exponentsökstorlek:
-
+
Namnändra utdatafiler
-
+
Ange namnändringsmall för utdatafiler här!
-
+
Namnändra utdatafiler
-
+
<a href="reset">Återställ</a> <a href="#">Visa lista över Macron</a>
-
+
Namnändringsmall:
-
+
Exempelnamn:
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
Återställ avancerade inställningar
-
+
Koda om nu!
-
-
+
+
Om...
-
+
Avsluta LameXP
-
+
Arkiv
-
+
Info
-
+
Visa
-
+
Stil
-
+
Språk
-
+
Verktyg
-
+
Inställningar
-
+
Avsluta
-
+
Öppna fil(er)...
-
-
+
+
Besök hemsidan
-
-
-
-
+
+
+
+
Sök efter uppdateringar
-
+
Öppna mapp...
-
+
Rensa alla
-
+
Plastique
-
+
Cleanlooks
-
+
Windows Vista ("Aero")
-
+
Windows Classic
-
+
Windows XP ("Luna")
-
-
+
+
Inaktivera uppdateringsmeddelande
-
-
+
+
Inaktivera ljudeffekter
-
+
Installera WMA-avkodare
-
+
Inaktivera Nero AAC-meddelanden
-
+
Visa DropBox
-
+
Från fil...
-
+
Koda om!
-
+
Inaktivera utforskarintegration
-
+
Vanliga frågor
-
+
Ändringslogg
-
+
Översättningsguide
-
+
Hjälp && support
-
+
Öppna mapp rekursivt
-
+
Sök efter beta-uppdateringar
-
+
Importera cue-fil
-
+
Inaktivera meddelanden om långsam uppstart
-
+
Försätt datorn i viloläge vid avslut
-
+
Lägger till fil(er), vänta...
-
-
+
+
Åtkomst nekad
-
+
%1 fil(er) har undantagits, på grund av att åtkomst nekades!
-
+
Det innebär oftast att filen är låst av någon annan process.
-
+
CDDA-filer
-
+
%1 fil(er) har undantagits, på grund av att det är fejkade 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.
-
+
Cue-fil
-
+
%1 fil(er) har undantagits, på grund av att de verkar vara cue-filer!
-
+
Använd LameXPs cue-guide för att importera cue-filer.
-
+
Undantagna filer
-
+
%1 fil(er) har undantagits, på grund av att filformatet inte känns igen!
-
+
Det innebär oftast att filen är skadad eller att filformatet inte stöds.
-
+
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
-
+
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!
-
+
QAAC (Apple)
-
+
FHG AAC (Winamp)
-
+
Nero AAC
-
+
Ej tillgänglig!
-
+
Aktuell AAC-kodare: %1
-
-
-
-
+
+
+
+
Kvallitetsnivå %1
-
-
-
+
+
+
Kompression %1
-
-
-
+
+
+
Okomprimerad
-
+
Bäst kvallitet (långsam)
-
+
Hög kvallitet (rekommenderas)
-
+
Medelkvallitet (standard)
-
+
Låg kvallitet (snabb)
-
+
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
-
+
%1 instans(er)
-
+
Kan inte skriva till den specificerade mappen. Välj en annan destination!
-
+
Körs redan
-
+
LameXP körs redan, använd den redan startade instansen!
@@ -2908,141 +2914,141 @@
Stäng
-
+
Visa detaljerad info för markerad åtgärd
-
+
Öppna utdatamnappen
-
+
Kodar om filer
-
+
Dina filer kodas om, vänta...
-
+
Kodar om filer, vänta...
-
+
Flertrådskörning aktiverad: Kör %1 parallella instanser!
-
+
Avbrutet! Väntar på att aktiva processer skall avslutas...
-
+
Omkodning: %1 fil(er) av %2 bearbetade hittills, vänta...
-
+
Skapar spelningslista, vänta...
-
+
Åtgärden avbröts av användaren efter %1 fil(er)!
-
+
Åtgärden avbröts i förtid av användaren!
-
+
LameXP - Avbrutet
-
+
Åtgärden avbröts av användaren.
-
+
Åtgärden slutförd efter %1.
-
+
Fel: %1 av %2 filer misslyckades. Dubbelklicka på det misslyckade objektet för detaljerad information!
-
+
LameXP - Fel
-
+
Minst en fil har misslyckats!
-
-
+
+
Alla filer korrekt omkodade.
-
+
LameXP - Klar
-
+
Kunde inte skapa spelningslista!
-
+
Spelningslistan kunde inte skapas:
-
+
Varning! Datorn kommer att stängas av om %1 sekunder...
-
-
+
+
Avbryt avstängning
-
+
timma(r)
-
-
+
+
minut(er)
-
-
+
+
sekund(er)
-
+
millisekund(er)
diff --git a/etc/Translation/LameXP_TW.ts b/etc/Translation/LameXP_TW.ts
index da159473..57738701 100644
--- a/etc/Translation/LameXP_TW.ts
+++ b/etc/Translation/LameXP_TW.ts
@@ -1889,6 +1889,10 @@
+
+
+
+
MetaInfo
diff --git a/etc/Translation/LameXP_UK.ts b/etc/Translation/LameXP_UK.ts
index 6a3a9cd7..6fa657a6 100644
--- a/etc/Translation/LameXP_UK.ts
+++ b/etc/Translation/LameXP_UK.ts
@@ -1890,6 +1890,10 @@
+
+
+
+
MetaInfo
diff --git a/etc/Translation/LameXP_ZH.ts b/etc/Translation/LameXP_ZH.ts
index 17f553a3..236caadb 100644
--- a/etc/Translation/LameXP_ZH.ts
+++ b/etc/Translation/LameXP_ZH.ts
@@ -1889,6 +1889,10 @@
+
+
+
+
MetaInfo
diff --git a/gui/MainWindow.ui b/gui/MainWindow.ui
index 7256218e..dbc3fac0 100644
--- a/gui/MainWindow.ui
+++ b/gui/MainWindow.ui
@@ -1324,7 +1324,7 @@
0
0
604
- 1651
+ 1677
@@ -2539,7 +2539,7 @@
- -
+
-
Qt::Horizontal
@@ -2555,7 +2555,7 @@
- -
+
-
Qt::Horizontal
@@ -2587,7 +2587,7 @@
- -
+
-
Qt::Vertical
@@ -2603,7 +2603,7 @@
- -
+
-
-
@@ -2630,7 +2630,7 @@
- -
+
-
@@ -2671,6 +2671,106 @@
+ -
+
+
+ PointingHandCursor
+
+
+
+
+
+ :/icons/help.png
+
+
+
+ -
+
+
+ PointingHandCursor
+
+
+
+
+
+ :/icons/help.png
+
+
+
+ -
+
+
+ PointingHandCursor
+
+
+
+
+
+ :/icons/help.png
+
+
+
+ -
+
+
+ PointingHandCursor
+
+
+
+
+
+ :/icons/help.png
+
+
+
+ -
+
+
+ PointingHandCursor
+
+
+
+
+
+ :/icons/help.png
+
+
+
+ -
+
+
+ OpusEnc:
+
+
+
+ -
+
+
+
+ Lucida Console
+
+
+
+
+
+
+ You can enter custom parameters here!
+
+
+
+ -
+
+
+ PointingHandCursor
+
+
+
+
+
+ :/icons/help.png
+
+
+
@@ -4412,6 +4512,8 @@
+
+
diff --git a/res/Icons.qrc b/res/Icons.qrc
index 0352793a..1e812995 100644
--- a/res/Icons.qrc
+++ b/res/Icons.qrc
@@ -64,6 +64,7 @@
icons/font.png
icons/group.png
icons/heart.png
+ icons/help.png
icons/house.png
icons/hourglass.png
icons/information.png
diff --git a/src/Config.h b/src/Config.h
index e1656bad..744f5a47 100644
--- a/src/Config.h
+++ b/src/Config.h
@@ -30,7 +30,7 @@
#define VER_LAMEXP_MINOR_LO 5
#define VER_LAMEXP_TYPE Alpha
#define VER_LAMEXP_PATCH 11
-#define VER_LAMEXP_BUILD 1061
+#define VER_LAMEXP_BUILD 1064
///////////////////////////////////////////////////////////////////////////////
// Tool versions (minimum expected versions!)
diff --git a/src/CustomEventFilter.h b/src/CustomEventFilter.h
new file mode 100644
index 00000000..552f9f4f
--- /dev/null
+++ b/src/CustomEventFilter.h
@@ -0,0 +1,57 @@
+///////////////////////////////////////////////////////////////////////////////
+// LameXP - Audio Encoder Front-End
+// Copyright (C) 2004-2012 LoRd_MuldeR
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License along
+// with this program; if not, write to the Free Software Foundation, Inc.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+//
+// http://www.gnu.org/licenses/gpl-2.0.txt
+///////////////////////////////////////////////////////////////////////////////
+
+#include
+#include
+
+class CustomEventFilter: public QObject
+{
+ Q_OBJECT
+
+public:
+ CustomEventFilter(void) {}
+
+ bool eventFilter(QObject *obj, QEvent *event)
+ {
+ if(obj != this)
+ {
+ switch(event->type())
+ {
+ case QEvent::MouseButtonPress:
+ emit clicked(obj);
+ break;
+ case QEvent::Enter:
+ emit mouseEntered(obj);
+ break;
+ case QEvent::Leave:
+ emit mouseLeft(obj);
+ break;
+ }
+ }
+
+ return false;
+ }
+
+signals:
+ void clicked(QObject *sender);
+ void mouseEntered(QObject *sender);
+ void mouseLeft(QObject *sender);
+};
diff --git a/src/Dialog_MainWindow.cpp b/src/Dialog_MainWindow.cpp
index 28f63002..14ffc66a 100644
--- a/src/Dialog_MainWindow.cpp
+++ b/src/Dialog_MainWindow.cpp
@@ -30,6 +30,7 @@
#include "Dialog_Update.h"
#include "Dialog_DropBox.h"
#include "Dialog_CueImport.h"
+#include "Dialog_LogView.h"
#include "Thread_FileAnalyzer.h"
#include "Thread_FileAnalyzer_ST.h"
#include "Thread_MessageHandler.h"
@@ -40,6 +41,7 @@
#include "WinSevenTaskbar.h"
#include "Registry_Decoder.h"
#include "ShellIntegration.h"
+#include "CustomEventFilter.h"
//Qt includes
#include
@@ -71,7 +73,7 @@
#include
////////////////////////////////////////////////////////////
-//Helper macros
+// Helper macros
////////////////////////////////////////////////////////////
#define ABORT_IF_BUSY do \
@@ -118,6 +120,25 @@ while(0)
} \
while(0)
+#define SET_CHECKBOX_STATE(CHCKBX, STATE) do \
+{ \
+ if((CHCKBX)->isChecked() != (STATE)) \
+ { \
+ (CHCKBX)->click(); \
+ } \
+ if((CHCKBX)->isChecked() != (STATE)) \
+ { \
+ qWarning("Warning: Failed to set checkbox " #CHCKBX " state!"); \
+ } \
+} \
+while(0)
+
+#define TRIM_STRING_RIGHT(STR) do \
+{ \
+ while((STR.length() > 0) && STR[STR.length()-1].isSpace()) STR.chop(1); \
+} \
+while(0)
+
#define LINK(URL) QString("%2").arg(URL).arg(QString(URL).replace("-", "−"))
#define FSLINK(PATH) QString("%2").arg(PATH).arg(QString(PATH).replace("-", "−"))
#define USE_NATIVE_FILE_DIALOG (lamexp_themes_enabled() || ((QSysInfo::windowsVersion() & QSysInfo::WV_NT_based) < QSysInfo::WV_XP))
@@ -158,7 +179,10 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S
tabWidget->setCurrentIndex(0);
connect(tabWidget, SIGNAL(currentChanged(int)), this, SLOT(tabPageChanged(int)));
- //Setup "Source" tab
+ //--------------------------------
+ // Setup "Source" tab
+ //--------------------------------
+
sourceFileView->setModel(m_fileListModel);
sourceFileView->verticalHeader()->setResizeMode(QHeaderView::ResizeToContents);
sourceFileView->horizontalHeader()->setResizeMode(QHeaderView::ResizeToContents);
@@ -194,7 +218,10 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S
connect(m_exportCsvContextAction, SIGNAL(triggered(bool)), this, SLOT(exportCsvContextActionTriggered()));
connect(m_importCsvContextAction, SIGNAL(triggered(bool)), this, SLOT(importCsvContextActionTriggered()));
- //Setup "Output" tab
+ //--------------------------------
+ // Setup "Output" tab
+ //--------------------------------
+
outputFolderView->setHeaderHidden(true);
outputFolderView->setAnimated(false);
outputFolderView->setMouseTracking(false);
@@ -203,7 +230,7 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S
outputFolderView->installEventFilter(this);
outputFoldersEditorLabel->installEventFilter(this);
outputFoldersFovoritesLabel->installEventFilter(this);
- while(saveToSourceFolderCheckBox->isChecked() != m_settings->outputToSourceDir()) saveToSourceFolderCheckBox->click();
+ SET_CHECKBOX_STATE(saveToSourceFolderCheckBox, m_settings->outputToSourceDir());
prependRelativePathCheckBox->setChecked(m_settings->prependRelativeSourcePath());
connect(outputFolderView, SIGNAL(clicked(QModelIndex)), this, SLOT(outputFolderViewClicked(QModelIndex)));
connect(outputFolderView, SIGNAL(activated(QModelIndex)), this, SLOT(outputFolderViewClicked(QModelIndex)));
@@ -246,7 +273,10 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S
outputFolderViewClicked(QModelIndex());
refreshFavorites();
- //Setup "Meta Data" tab
+ //--------------------------------
+ // Setup "Meta Data" tab
+ //--------------------------------
+
m_metaInfoModel = new MetaInfoModel(m_metaData, 6);
m_metaInfoModel->clearData();
m_metaInfoModel->setData(m_metaInfoModel->index(4, 1), m_settings->metaInfoPosition());
@@ -254,14 +284,17 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S
metaDataView->verticalHeader()->setResizeMode(QHeaderView::ResizeToContents);
metaDataView->verticalHeader()->hide();
metaDataView->horizontalHeader()->setResizeMode(QHeaderView::ResizeToContents);
- while(writeMetaDataCheckBox->isChecked() != m_settings->writeMetaTags()) writeMetaDataCheckBox->click();
+ SET_CHECKBOX_STATE(writeMetaDataCheckBox, m_settings->writeMetaTags());
generatePlaylistCheckBox->setChecked(m_settings->createPlaylist());
connect(buttonEditMeta, SIGNAL(clicked()), this, SLOT(editMetaButtonClicked()));
connect(buttonClearMeta, SIGNAL(clicked()), this, SLOT(clearMetaButtonClicked()));
connect(writeMetaDataCheckBox, SIGNAL(clicked()), this, SLOT(metaTagsEnabledChanged()));
connect(generatePlaylistCheckBox, SIGNAL(clicked()), this, SLOT(playlistEnabledChanged()));
+ //--------------------------------
//Setup "Compression" tab
+ //--------------------------------
+
m_encoderButtonGroup = new QButtonGroup(this);
m_encoderButtonGroup->addButton(radioButtonEncoderMP3, SettingsModel::MP3Encoder);
m_encoderButtonGroup->addButton(radioButtonEncoderVorbis, SettingsModel::VorbisEncoder);
@@ -293,9 +326,13 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S
connect(sliderBitrate, SIGNAL(valueChanged(int)), this, SLOT(updateBitrate(int)));
updateEncoder(m_encoderButtonGroup->checkedId());
+ //--------------------------------
//Setup "Advanced Options" tab
+ //--------------------------------
+
sliderLameAlgoQuality->setValue(m_settings->lameAlgoQuality());
if(m_settings->maximumInstances() > 0) sliderMaxInstances->setValue(m_settings->maximumInstances());
+
spinBoxBitrateManagementMin->setValue(m_settings->bitrateManagementMinRate());
spinBoxBitrateManagementMax->setValue(m_settings->bitrateManagementMaxRate());
spinBoxNormalizationFilter->setValue(static_cast(m_settings->normalizationFilterMaxVolume()) / 100.0);
@@ -303,6 +340,7 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S
spinBoxToneAdjustTreble->setValue(static_cast(m_settings->toneAdjustTreble()) / 100.0);
spinBoxAftenSearchSize->setValue(m_settings->aftenExponentSearchSize());
spinBoxOpusComplexity->setValue(m_settings->opusComplexity());
+
comboBoxMP3ChannelMode->setCurrentIndex(m_settings->lameChannelMode());
comboBoxSamplingRate->setCurrentIndex(m_settings->samplingRate());
comboBoxAACProfile->setCurrentIndex(m_settings->aacEncProfile());
@@ -311,23 +349,35 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S
comboBoxNormalizationMode->setCurrentIndex(m_settings->normalizationFilterEqualizationMode());
comboBoxOpusOptimize->setCurrentIndex(m_settings->opusOptimizeFor());
comboBoxOpusFramesize->setCurrentIndex(m_settings->opusFramesize());
- while(checkBoxBitrateManagement->isChecked() != m_settings->bitrateManagementEnabled()) checkBoxBitrateManagement->click();
- while(checkBoxNeroAAC2PassMode->isChecked() != m_settings->neroAACEnable2Pass()) checkBoxNeroAAC2PassMode->click();
- while(checkBoxAftenFastAllocation->isChecked() != m_settings->aftenFastBitAllocation()) checkBoxAftenFastAllocation->click();
- while(checkBoxNormalizationFilter->isChecked() != m_settings->normalizationFilterEnabled()) checkBoxNormalizationFilter->click();
- while(checkBoxAutoDetectInstances->isChecked() != (m_settings->maximumInstances() < 1)) checkBoxAutoDetectInstances->click();
- while(checkBoxUseSystemTempFolder->isChecked() == m_settings->customTempPathEnabled()) checkBoxUseSystemTempFolder->click();
- while(checkBoxRenameOutput->isChecked() != m_settings->renameOutputFilesEnabled()) checkBoxRenameOutput->click();
- while(checkBoxForceStereoDownmix->isChecked() != m_settings->forceStereoDownmix()) checkBoxForceStereoDownmix->click();
- while(checkBoxOpusExpAnalysis->isChecked() != m_settings->opusExpAnalysis()) checkBoxOpusExpAnalysis->click();
+
+ SET_CHECKBOX_STATE(checkBoxBitrateManagement, m_settings->bitrateManagementEnabled());
+ SET_CHECKBOX_STATE(checkBoxNeroAAC2PassMode, m_settings->neroAACEnable2Pass());
+ SET_CHECKBOX_STATE(checkBoxAftenFastAllocation, m_settings->aftenFastBitAllocation());
+ SET_CHECKBOX_STATE(checkBoxNormalizationFilter, m_settings->normalizationFilterEnabled());
+ SET_CHECKBOX_STATE(checkBoxAutoDetectInstances, (m_settings->maximumInstances() < 1));
+ SET_CHECKBOX_STATE(checkBoxUseSystemTempFolder, m_settings->customTempPathEnabled());
+ SET_CHECKBOX_STATE(checkBoxRenameOutput, m_settings->renameOutputFilesEnabled());
+ SET_CHECKBOX_STATE(checkBoxForceStereoDownmix, m_settings->forceStereoDownmix());
+ SET_CHECKBOX_STATE(checkBoxOpusExpAnalysis, m_settings->opusExpAnalysis());
checkBoxNeroAAC2PassMode->setEnabled(!(m_fhgEncoderAvailable || m_qaacEncoderAvailable));
+
lineEditCustomParamLAME->setText(m_settings->customParametersLAME());
lineEditCustomParamOggEnc->setText(m_settings->customParametersOggEnc());
lineEditCustomParamNeroAAC->setText(m_settings->customParametersAacEnc());
lineEditCustomParamFLAC->setText(m_settings->customParametersFLAC());
lineEditCustomParamAften->setText(m_settings->customParametersAften());
+ lineEditCustomParamOpus->setText(m_settings->customParametersOpus());
lineEditCustomTempFolder->setText(QDir::toNativeSeparators(m_settings->customTempPath()));
lineEditRenamePattern->setText(m_settings->renameOutputFilesPattern());
+
+ m_evenFilterCustumParamsHelp = new CustomEventFilter();
+ helpCustomParamLAME->installEventFilter(m_evenFilterCustumParamsHelp);
+ helpCustomParamOggEnc->installEventFilter(m_evenFilterCustumParamsHelp);
+ helpCustomParamNeroAAC->installEventFilter(m_evenFilterCustumParamsHelp);
+ helpCustomParamFLAC->installEventFilter(m_evenFilterCustumParamsHelp);
+ helpCustomParamAften->installEventFilter(m_evenFilterCustumParamsHelp);
+ helpCustomParamOpus->installEventFilter(m_evenFilterCustumParamsHelp);
+
connect(sliderLameAlgoQuality, SIGNAL(valueChanged(int)), this, SLOT(updateLameAlgoQuality(int)));
connect(checkBoxBitrateManagement, SIGNAL(clicked(bool)), this, SLOT(bitrateManagementEnabledChanged(bool)));
connect(spinBoxBitrateManagementMin, SIGNAL(valueChanged(int)), this, SLOT(bitrateManagementMinChanged(int)));
@@ -351,6 +401,7 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S
connect(lineEditCustomParamNeroAAC, SIGNAL(editingFinished()), this, SLOT(customParamsChanged()));
connect(lineEditCustomParamFLAC, SIGNAL(editingFinished()), this, SLOT(customParamsChanged()));
connect(lineEditCustomParamAften, SIGNAL(editingFinished()), this, SLOT(customParamsChanged()));
+ connect(lineEditCustomParamOpus, SIGNAL(editingFinished()), this, SLOT(customParamsChanged()));
connect(sliderMaxInstances, SIGNAL(valueChanged(int)), this, SLOT(updateMaximumInstances(int)));
connect(checkBoxAutoDetectInstances, SIGNAL(clicked(bool)), this, SLOT(autoDetectInstancesChanged(bool)));
connect(buttonBrowseCustomTempFolder, SIGNAL(clicked()), this, SLOT(browseCustomTempFolderButtonClicked()));
@@ -366,12 +417,22 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S
connect(comboBoxOpusFramesize, SIGNAL(currentIndexChanged(int)), this, SLOT(opusSettingsChanged()));
connect(spinBoxOpusComplexity, SIGNAL(valueChanged(int)), this, SLOT(opusSettingsChanged()));
connect(checkBoxOpusExpAnalysis, SIGNAL(clicked(bool)), this, SLOT(opusSettingsChanged()));
+ connect(m_evenFilterCustumParamsHelp, SIGNAL(clicked(QObject*)), this, SLOT(customParamsHelpRequested(QObject*)));
+
+ //--------------------------------
+ // Force initial GUI update
+ //--------------------------------
+
updateLameAlgoQuality(sliderLameAlgoQuality->value());
updateMaximumInstances(sliderMaxInstances->value());
toneAdjustTrebleChanged(spinBoxToneAdjustTreble->value());
toneAdjustBassChanged(spinBoxToneAdjustBass->value());
customParamsChanged();
+ //--------------------------------
+ // Initialize actions
+ //--------------------------------
+
//Activate file menu actions
actionOpenFolder->setData(QVariant::fromValue(false));
actionOpenFolderRecursively->setData(QVariant::fromValue(true));
@@ -463,6 +524,10 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S
connect(actionDocumentChangelog, SIGNAL(triggered()), this, SLOT(documentActionActivated()));
connect(actionDocumentTranslate, SIGNAL(triggered()), this, SLOT(documentActionActivated()));
+ //--------------------------------
+ // Prepare to show window
+ //--------------------------------
+
//Center window in screen
QRect desktopRect = QApplication::desktop()->screenGeometry();
QRect thisRect = this->geometry();
@@ -550,6 +615,7 @@ MainWindow::~MainWindow(void)
LAMEXP_DELETE(m_outputFolderFavoritesMenu);
LAMEXP_DELETE(m_outputFolderContextMenu);
LAMEXP_DELETE(m_dropBox);
+ LAMEXP_DELETE(m_evenFilterCustumParamsHelp);
}
////////////////////////////////////////////////////////////
@@ -1471,7 +1537,7 @@ void MainWindow::encodeButtonClicked(void)
{
if(QMessageBox::warning(this, tr("Not Found"), QString("%1
%2").arg(NOBR(tr("Your currently selected TEMP folder does not exist anymore:")), NOBR(QDir::toNativeSeparators(tempFolder))), tr("Restore Default"), tr("Cancel")) == 0)
{
- while(checkBoxUseSystemTempFolder->isChecked() == m_settings->customTempPathEnabledDefault()) checkBoxUseSystemTempFolder->click();
+ SET_CHECKBOX_STATE(checkBoxUseSystemTempFolder, m_settings->customTempPathEnabledDefault());
}
return;
}
@@ -3535,6 +3601,7 @@ void MainWindow::customParamsChanged(void)
lineEditCustomParamNeroAAC->setText(lineEditCustomParamNeroAAC->text().simplified());
lineEditCustomParamFLAC->setText(lineEditCustomParamFLAC->text().simplified());
lineEditCustomParamAften->setText(lineEditCustomParamAften->text().simplified());
+ lineEditCustomParamOpus->setText(lineEditCustomParamOpus->text().simplified());
bool customParamsUsed = false;
if(!lineEditCustomParamLAME->text().isEmpty()) customParamsUsed = true;
@@ -3542,6 +3609,7 @@ void MainWindow::customParamsChanged(void)
if(!lineEditCustomParamNeroAAC->text().isEmpty()) customParamsUsed = true;
if(!lineEditCustomParamFLAC->text().isEmpty()) customParamsUsed = true;
if(!lineEditCustomParamAften->text().isEmpty()) customParamsUsed = true;
+ if(!lineEditCustomParamOpus->text().isEmpty()) customParamsUsed = true;
labelCustomParamsIcon->setVisible(customParamsUsed);
labelCustomParamsText->setVisible(customParamsUsed);
@@ -3552,9 +3620,9 @@ void MainWindow::customParamsChanged(void)
m_settings->customParametersAacEnc(lineEditCustomParamNeroAAC->text());
m_settings->customParametersFLAC(lineEditCustomParamFLAC->text());
m_settings->customParametersAften(lineEditCustomParamAften->text());
+ m_settings->customParametersOpus(lineEditCustomParamOpus->text());
}
-
/*
* Rename output files enabled changed
*/
@@ -3711,6 +3779,83 @@ void MainWindow::useCustomTempFolderChanged(bool checked)
m_settings->customTempPathEnabled(!checked);
}
+/*
+ * Show help for custom parameters
+ */
+void MainWindow::customParamsHelpRequested(QObject *obj)
+{
+ QString toolName, command;
+
+ if(obj == helpCustomParamLAME) { toolName = "lame.exe"; command = "--help"; }
+ if(obj == helpCustomParamOggEnc) { toolName = "oggenc2.exe"; command = "--help"; }
+ if(obj == helpCustomParamNeroAAC)
+ {
+ if(m_qaacEncoderAvailable) { toolName = "qaac.exe"; command = "--help"; }
+ else if(m_fhgEncoderAvailable) { toolName = "fhgaacenc.exe"; command = ""; }
+ else if(m_neroEncoderAvailable) { toolName = "neroAacEnc.exe"; command = "-help"; }
+ }
+ if(obj == helpCustomParamFLAC) { toolName = "flac.exe"; command = "--help"; }
+ if(obj == helpCustomParamAften) { toolName = "aften.exe"; command = "-h"; }
+ if(obj == helpCustomParamOpus) { toolName = "opusenc_std.exe"; command = "--help"; }
+
+ if(toolName.isEmpty() || command.isNull())
+ {
+ MessageBeep(MB_ICONERROR);
+ return;
+ }
+
+ const QString binary = lamexp_lookup_tool(toolName);
+ if(binary.isEmpty())
+ {
+ MessageBeep(MB_ICONERROR);
+ qWarning("customParamsHelpRequested: Binary could not be found!");
+ return;
+ }
+
+ QProcess *process = new QProcess();
+ process->setProcessChannelMode(QProcess::MergedChannels);
+ process->setReadChannel(QProcess::StandardOutput);
+ process->start(binary, command.isEmpty() ? QStringList() : QStringList() << command);
+
+ if(process->waitForStarted(15000))
+ {
+ qApp->processEvents();
+ process->waitForFinished(15000);
+ }
+ if(process->state() != QProcess::NotRunning)
+ {
+ process->kill();
+ process->waitForFinished(-1);
+ }
+
+ QStringList output; bool spaceFlag = true;
+
+ while(process->canReadLine())
+ {
+ QString temp = QString::fromUtf8(process->readLine());
+ TRIM_STRING_RIGHT(temp);
+ if(temp.isEmpty())
+ {
+ if(!spaceFlag) { output << temp; spaceFlag = true; }
+ }
+ else
+ {
+ output << temp; spaceFlag = false;
+ }
+ }
+
+ LAMEXP_DELETE(process);
+
+ if(output.count() < 1)
+ {
+ MessageBeep(MB_ICONERROR);
+ }
+
+ LogViewDialog *dialog = new LogViewDialog(this);
+ TEMP_HIDE_DROPBOX( dialog->exec(output); );
+ LAMEXP_DELETE(dialog);
+}
+
/*
* Reset all advanced options to their defaults
*/
@@ -3732,19 +3877,20 @@ void MainWindow::resetAdvancedOptionsButtonClicked(void)
comboBoxNormalizationMode->setCurrentIndex(m_settings->normalizationFilterEqualizationModeDefault());
comboBoxOpusOptimize->setCurrentIndex(m_settings->opusOptimizeForDefault());
comboBoxOpusFramesize->setCurrentIndex(m_settings->opusFramesizeDefault());
- while(checkBoxBitrateManagement->isChecked() != m_settings->bitrateManagementEnabledDefault()) checkBoxBitrateManagement->click();
- while(checkBoxNeroAAC2PassMode->isChecked() != m_settings->neroAACEnable2PassDefault()) checkBoxNeroAAC2PassMode->click();
- while(checkBoxNormalizationFilter->isChecked() != m_settings->normalizationFilterEnabledDefault()) checkBoxNormalizationFilter->click();
- while(checkBoxAutoDetectInstances->isChecked() != (m_settings->maximumInstancesDefault() < 1)) checkBoxAutoDetectInstances->click();
- while(checkBoxUseSystemTempFolder->isChecked() == m_settings->customTempPathEnabledDefault()) checkBoxUseSystemTempFolder->click();
- while(checkBoxAftenFastAllocation->isChecked() != m_settings->aftenFastBitAllocationDefault()) checkBoxAftenFastAllocation->click();
- while(checkBoxRenameOutput->isChecked() != m_settings->renameOutputFilesEnabledDefault()) checkBoxRenameOutput->click();
- while(checkBoxForceStereoDownmix->isChecked() != m_settings->forceStereoDownmixDefault()) checkBoxForceStereoDownmix->click();
- while(checkBoxOpusExpAnalysis->isChecked() != m_settings->opusExpAnalysisDefault()) checkBoxOpusExpAnalysis->click();
+ SET_CHECKBOX_STATE(checkBoxBitrateManagement, m_settings->bitrateManagementEnabledDefault());
+ SET_CHECKBOX_STATE(checkBoxNeroAAC2PassMode, m_settings->neroAACEnable2PassDefault());
+ SET_CHECKBOX_STATE(checkBoxNormalizationFilter, m_settings->normalizationFilterEnabledDefault());
+ SET_CHECKBOX_STATE(checkBoxAutoDetectInstances, (m_settings->maximumInstancesDefault() < 1));
+ SET_CHECKBOX_STATE(checkBoxUseSystemTempFolder, m_settings->customTempPathEnabledDefault());
+ SET_CHECKBOX_STATE(checkBoxAftenFastAllocation, m_settings->aftenFastBitAllocationDefault());
+ SET_CHECKBOX_STATE(checkBoxRenameOutput, m_settings->renameOutputFilesEnabledDefault());
+ SET_CHECKBOX_STATE(checkBoxForceStereoDownmix, m_settings->forceStereoDownmixDefault());
+ SET_CHECKBOX_STATE(checkBoxOpusExpAnalysis, m_settings->opusExpAnalysisDefault());
lineEditCustomParamLAME->setText(m_settings->customParametersLAMEDefault());
lineEditCustomParamOggEnc->setText(m_settings->customParametersOggEncDefault());
lineEditCustomParamNeroAAC->setText(m_settings->customParametersAacEncDefault());
lineEditCustomParamFLAC->setText(m_settings->customParametersFLACDefault());
+ lineEditCustomParamOpus->setText(m_settings->customParametersFLACDefault());
lineEditCustomTempFolder->setText(QDir::toNativeSeparators(m_settings->customTempPathDefault()));
lineEditRenamePattern->setText(m_settings->renameOutputFilesPatternDefault());
customParamsChanged();
diff --git a/src/Dialog_MainWindow.h b/src/Dialog_MainWindow.h
index 85dff572..f8f5b426 100644
--- a/src/Dialog_MainWindow.h
+++ b/src/Dialog_MainWindow.h
@@ -35,6 +35,7 @@ class FileListModel;
class AbstractEncoder;
class QMenu;
class DropBox;
+class CustomEventFilter;
class MainWindow: public QMainWindow, private Ui::MainWindow
{
@@ -71,6 +72,7 @@ private slots:
void clearMetaButtonClicked(void);
void closeButtonClicked(void);
void customParamsChanged(void);
+ void customParamsHelpRequested(QObject*);
void customTempFolderChanged(const QString &text);
void disableNeroAacNotificationsActionTriggered(bool checked);
void disableShellIntegrationActionTriggered(bool);
@@ -205,4 +207,6 @@ private:
QActionGroup *m_tabActionGroup;
QButtonGroup *m_encoderButtonGroup;
QButtonGroup *m_modeButtonGroup;
+
+ CustomEventFilter *m_evenFilterCustumParamsHelp;
};
diff --git a/src/Dialog_Processing.cpp b/src/Dialog_Processing.cpp
index f7f982ca..2cb0ea5f 100644
--- a/src/Dialog_Processing.cpp
+++ b/src/Dialog_Processing.cpp
@@ -857,7 +857,7 @@ AbstractEncoder *ProcessingDialog::makeEncoder(bool *nativeResampling)
opusEncoder->setEncodeComplexity(m_settings->opusComplexity());
opusEncoder->setFrameSize(m_settings->opusFramesize());
opusEncoder->setExpAnalysisOn(m_settings->opusExpAnalysis());
- //TODO: opusEncoder->setCustomParams(m_settings->customParametersOpus());
+ opusEncoder->setCustomParams(m_settings->customParametersOpus());
encoder = opusEncoder;
}
break; case SettingsModel::DCAEncoder:
diff --git a/src/Model_Settings.cpp b/src/Model_Settings.cpp
index bf8e2ef1..ac10e7dd 100644
--- a/src/Model_Settings.cpp
+++ b/src/Model_Settings.cpp
@@ -115,6 +115,7 @@ LAMEXP_MAKE_ID(customParametersOggEnc, "AdvancedOptions/CustomParameters/OggEnc"
LAMEXP_MAKE_ID(customParametersAacEnc, "AdvancedOptions/CustomParameters/AacEnc");
LAMEXP_MAKE_ID(customParametersAften, "AdvancedOptions/CustomParameters/Aften");
LAMEXP_MAKE_ID(customParametersFLAC, "AdvancedOptions/CustomParameters/FLAC");
+LAMEXP_MAKE_ID(customParametersOpus, "AdvancedOptions/CustomParameters/OpusEnc");
LAMEXP_MAKE_ID(renameOutputFilesEnabled, "AdvancedOptions/RenameOutputFiles/Enabled");
LAMEXP_MAKE_ID(renameOutputFilesPattern, "AdvancedOptions/RenameOutputFiles/Pattern");
LAMEXP_MAKE_ID(hibernateComputer, "AdvancedOptions/HibernateComputerOnShutdown");
@@ -396,6 +397,7 @@ LAMEXP_MAKE_OPTION_S(customParametersOggEnc, QString());
LAMEXP_MAKE_OPTION_S(customParametersAacEnc, QString());
LAMEXP_MAKE_OPTION_S(customParametersAften, QString());
LAMEXP_MAKE_OPTION_S(customParametersFLAC, QString());
+LAMEXP_MAKE_OPTION_S(customParametersOpus, QString());
LAMEXP_MAKE_OPTION_B(renameOutputFilesEnabled, false);
LAMEXP_MAKE_OPTION_S(renameOutputFilesPattern, "[] - ");
LAMEXP_MAKE_OPTION_U(metaInfoPosition, UINT_MAX);
diff --git a/src/Model_Settings.h b/src/Model_Settings.h
index 3968d240..ade6bace 100644
--- a/src/Model_Settings.h
+++ b/src/Model_Settings.h
@@ -126,6 +126,7 @@ public:
LAMEXP_MAKE_OPTION_S(customParametersAacEnc);
LAMEXP_MAKE_OPTION_S(customParametersAften);
LAMEXP_MAKE_OPTION_S(customParametersFLAC);
+ LAMEXP_MAKE_OPTION_S(customParametersOpus);
LAMEXP_MAKE_OPTION_B(renameOutputFilesEnabled);
LAMEXP_MAKE_OPTION_S(renameOutputFilesPattern);
LAMEXP_MAKE_OPTION_U(metaInfoPosition);