diff --git a/LameXP.rc b/LameXP.rc
index 9322c18f..dec88088 100644
--- a/LameXP.rc
+++ b/LameXP.rc
@@ -102,25 +102,6 @@ END
#endif // APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// WAVE
-//
-
-IDR_WAVE_ABOUT WAVE "res\\sounds\\uuaarrgh.wav"
-IDR_WAVE_SUCCESS WAVE "res\\sounds\\success.wav"
-IDR_WAVE_ERROR WAVE "res\\sounds\\error.wav"
-IDR_WAVE_ABORTED WAVE "res\\sounds\\aborted.wav"
-IDR_WAVE_WHAMMY WAVE "res\\sounds\\whammy.wav"
-IDR_WAVE_WOOHOO WAVE "res\\sounds\\woohoo.wav"
-IDR_WAVE_SHUTDOWN WAVE "res\\sounds\\shutdown.wav"
-IDR_WAVE_BEEP WAVE "res\\sounds\\beep.wav"
-IDR_WAVE_BEEP_LONG WAVE "res\\sounds\\beep2.wav"
-IDR_WAVE_WAITING WAVE "res\\sounds\\waiting.wav"
-IDR_WAVE_BLAST WAVE "res\\sounds\\blast.wav"
-IDR_WAVE_TICK WAVE "res\\sounds\\tick.wav"
-IDR_WAVE_DROP WAVE "res\\sounds\\drop.wav"
-
/////////////////////////////////////////////////////////////////////////////
//
// Icon
@@ -134,7 +115,6 @@ IDI_ICON2 ICON "res\\FolderIcon.ico"
/////////////////////////////////////////////////////////////////////////////
-
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
@@ -144,4 +124,3 @@ IDI_ICON2 ICON "res\\FolderIcon.ico"
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
-
diff --git a/LameXP_VS2013.vcxproj b/LameXP_VS2013.vcxproj
index 8d44c85a..dc7825be 100644
--- a/LameXP_VS2013.vcxproj
+++ b/LameXP_VS2013.vcxproj
@@ -412,6 +412,7 @@ del "$(TargetDir)imageformats\q???d4.dll"
+
@@ -1326,6 +1327,18 @@ del "$(TargetDir)imageformats\q???d4.dll"
$(SolutionDir)tmp\QRC_%(Filename).cpp;%(Outputs)
$(SolutionDir)tmp\QRC_%(Filename).cpp;%(Outputs)
+
+ Document
+ "$(QTDIR)\bin\rcc.exe" -o "$(SolutionDir)tmp\QRC_%(Filename).cpp" -name "%(Filename)" "%(FullPath)"
+ "$(QTDIR)\bin\rcc.exe" -o "$(SolutionDir)tmp\QRC_%(Filename).cpp" -name "%(Filename)" "%(FullPath)"
+ "$(QTDIR)\bin\rcc.exe" -o "$(SolutionDir)tmp\QRC_%(Filename).cpp" -name "%(Filename)" "%(FullPath)"
+ RCC "$(SolutionDir)tmp\QRC_%(Filename).cpp"
+ RCC "$(SolutionDir)tmp\QRC_%(Filename).cpp"
+ RCC "$(SolutionDir)tmp\QRC_%(Filename).cpp"
+ $(SolutionDir)tmp\QRC_%(Filename).cpp;%(Outputs)
+ $(SolutionDir)tmp\QRC_%(Filename).cpp;%(Outputs)
+ $(SolutionDir)tmp\QRC_%(Filename).cpp;%(Outputs)
+
diff --git a/LameXP_VS2013.vcxproj.filters b/LameXP_VS2013.vcxproj.filters
index 9e68adcc..61cc9e9d 100644
--- a/LameXP_VS2013.vcxproj.filters
+++ b/LameXP_VS2013.vcxproj.filters
@@ -421,6 +421,9 @@
Source Files
+
+ Generated Files\QRC
+
@@ -758,7 +761,12 @@
Resources
-
+
+ Resources
+
+
+ Header Files
+
diff --git a/etc/Translation/Blank.ts b/etc/Translation/Blank.ts
index d1c4a401..15e89bb5 100644
--- a/etc/Translation/Blank.ts
+++ b/etc/Translation/Blank.ts
@@ -54,334 +54,334 @@
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -882,7 +882,7 @@
-
+
@@ -1625,9 +1625,9 @@
-
-
-
+
+
+
@@ -1668,13 +1668,13 @@
-
+
-
+
@@ -1759,845 +1759,845 @@
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
-
-
-
-
+
+
+
+
+
-
-
+
+
-
+
-
+
-
-
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
-
-
+
+
+
+
-
-
-
-
+
+
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -3080,209 +3080,209 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
+
@@ -3305,22 +3305,22 @@
QApplication
-
+
-
+
-
+
-
+
@@ -3389,104 +3389,104 @@
-
-
+
+
-
+
-
+
-
+
-
-
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
diff --git a/etc/Translation/LameXP_EN.ts b/etc/Translation/LameXP_EN.ts
index 4d2ae30c..de0f54ca 100644
--- a/etc/Translation/LameXP_EN.ts
+++ b/etc/Translation/LameXP_EN.ts
@@ -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
@@ -74,7 +74,7 @@
ProcessingDialog
-
+
Encoding: %n file of %1 completed so far, please wait...
@@ -82,7 +82,7 @@
-
+
Process was aborted by the user after %n file!
@@ -90,7 +90,7 @@
-
+
Error: %1 of %n file failed (%2). Double-click failed items for detailed information!
@@ -98,7 +98,7 @@
-
+
%n file skipped
@@ -106,7 +106,7 @@
-
+
Error: %1 of %n file failed. Double-click failed items for detailed information!
@@ -114,7 +114,7 @@
-
+
All files completed successfully. Skipped %n file.
@@ -122,7 +122,7 @@
-
+
%n hour
@@ -130,8 +130,8 @@
-
-
+
+
%n minute
@@ -139,8 +139,8 @@
-
-
+
+
%n second
@@ -148,7 +148,7 @@
-
+
%n millisecond
diff --git a/etc/Translation/LameXP_PL.ts b/etc/Translation/LameXP_PL.ts
index 8d8588be..1dfb3a1f 100644
--- a/etc/Translation/LameXP_PL.ts
+++ b/etc/Translation/LameXP_PL.ts
@@ -4,23 +4,23 @@
AboutDialog
-
+
LameXP - Program do kompresji dźwięku
-
+
Odwiedź %1 aby zobaczyć nowości i aktualizacje!
-
-
+
+
Uwaga: To jest wersja próbna LameXP, która wygaśnie %1. Pozostało jeszcze %2 dni.
-
+
Uwaga: LameXP jest darmowym oprogramowaniem. <b>Nie</b> płać nikomu za ten program! Jeśli ktoś oferuje Ci LameXP za pieniądze <b>nie</b> kupuj od niego!!!
@@ -75,313 +75,313 @@
Zamknij
-
+
Osoby które pomogły w rozwoju LameXP:
-
+
Programiści:
-
+
Lider projektu
-
+
Tłumacze:
-
+
Specjalne podziękowania dla:
-
+
Forum Doom9
-
+
Gleitz | Niemieckiego Doom9
-
+
Forum Hydrogenaudio
-
+
RareWares
-
+
GitHub
-
+
SourceForge
-
+
Qt Developer Network
-
+
BerliOS Developer
-
+
CodePlex
-
+
Marius Hudea
-
+
Codecs.com
-
+
Jeśli chcesz wspomóc LameXP w obsłudze większej ilości języków, nie wahaj skontaktować się z nami!
-
+
Następujące programy firm trzecich zostały użyte w LameXP:
-
+
LAME - Otwartoźródłowy koder mp3
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
Wydane na warunkach licencji GNU Lesser General Public License.
-
+
OggEnc - Koder Ogg Vorbis
-
+
Całkowicie otwarta i wolna od patentów technologia kompresji dźwięku.
-
+
Nero AAC Reference MPEG-4 Encoder
-
+
Darmowy, jedyny w swoim rodzaju koder HE-AAC z obsługą dwóch przebiegów.
-
+
Darmowy pakiet dostępny ze strony wydawcy:
-
+
Aften - Koder dźwięku A/52
-
+
FLAC - Darmowy i bezstartny kodek dźwięku
-
+
Otwarta i wolna od patentów technologia bezstratnej kompresji dźwięku.
-
+
Opus Audio Codec
-
+
Otwartoźródłowy, wolny od patentów, wielozadaniowy kodek dźwięku.
-
+
mpg123 - Szybki dekoder/odtwarzacz MPEG Audio
-
+
FAAD - Otwartoźródłowy dekoder MPEG-4 oraz MPEG-2 AAC
-
+
Wydane na warunkach licencji GNU General Public License.
-
+
Dekoder AC3/DTS z narzędzi AC3Filter Tools Valdec'a
-
+
Wavpack - Bezstratny hybrydowy kodek dźwięku
-
+
Całkowicie otwarty format kompresji dźwięku.
-
+
Musepack - Koder dźwięku
-
+
Monkey's Audio - Koder bezstratnego formatu dźwięku
-
+
Szeroko dostępny kod źródłowy, prosty SDK i bezrestrykcyjna licencja.
-
+
Shorten - Bezstratny kodek dźwięku
-
+
Speex - Darmowy kodek dla mowy ludzkiej
-
+
Otwartoźródłowy, wolny od patentów format dźwięku przeznaczony dla mowy ludzkiej.
-
+
The True Audio - Bezstratny kodek dźwięku
-
+
refalac - Koder/dekoder ALAC na platformę Win32 działający z wiersza poleceń
-
+
Referencyjna implementacja formatu ALAC firmy Apple jest dostępna na licencji Apache.
-
+
wma2wav - Dekoder plików WMA do Wave
-
+
Prawa autorskie 2011 LoRd_MuldeR <mulder2@gmx.de>. Pewne prawa zastrzeżone.
-
+
avs2wav - Konwerter dźwięku z Avisynth do Wave
-
+
Autorami programu są Jory Stone <jcsston@toughguy.net> i LoRd_MuldeR <mulder2@gmx.de>.
-
+
dcaenc
-
+
Prawa autorskie: 2008-2011 Alexander E. Patrakov. Rozpowszechniane na licencji LGPL.
-
+
MediaInfo - Narzędzie do analizy plików multimedialnych
-
+
SoX - Sound eXchange
-
+
GnuPG - GNU Privacy Guard
-
+
GNU Wget - Oprogramowanie służące do pobierania plików za pomocą protokołu HTTP
-
+
UPX - The Ultimate Packer for eXecutables
-
+
Silk Icons - Ponad 700 ikon w formacie PNG
-
+
Autorstwa Mark James, wydane na licencji Creative Commons.
-
+
Do programu LameXP jako całości, prawa autorskie posiada LoRd_MuldeR. Prawa autorskie oprogramowania firm trzecich należą do autorów poszczególnych programów.
-
+
n/d
@@ -888,7 +888,7 @@
-
+
Pokaż szczegóły
@@ -1632,9 +1632,9 @@
-
-
-
+
+
+
Sprawdź aktualizacje
@@ -1675,13 +1675,13 @@
-
+
Wyłącz przypominanie o aktualizacji
-
+
Wyłącz efekty dźwiękowe
@@ -1766,314 +1766,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!
@@ -2082,7 +2082,7 @@
-
+
%n plik został odrzucony, ponieważ jest to plik CDDA!
@@ -2091,7 +2091,7 @@
-
+
%n plik został odrzucony, ponieważ jest to plik Cue!
@@ -2100,7 +2100,7 @@
-
+
%n plik został odrzucony, ponieważ jego format nie został rozpoznany!
@@ -2109,473 +2109,473 @@
-
+
Ł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
-
+
Ładowanie upuszczonych plików lub folderów, prosze czekać...
-
-
+
+
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)
-
+
Obecny koder: %1
-
+
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
@@ -2584,37 +2584,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!
@@ -3097,72 +3097,72 @@
Powrót
-
+
Pokaż szczegóły wybranego zadania
-
+
Wybierz lokalizację dla plików wyjściowych
-
+
Filtruj długie pozycje
-
+
Pokaż tylko trwające
-
+
Pokaż tylko zakończone pomyślnie
-
+
Pokaż tylko zakończone niepowodzeniem
-
+
Pokaż tylko pominięte
-
+
Pokaż wszystkie pozycje
-
+
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...
-
+
Kompresowanie: %n plik z %1 został do tej pory zakończony, prosze czekać...
@@ -3171,17 +3171,17 @@
-
+
Tworzenie pliku playlisty, prosze czekać...
-
+
Proces został przedwcześnie zakończony przez użytkownika!
-
+
Proces został zakończony przez użytkownika po zakończeniu %n pliku!
@@ -3190,22 +3190,22 @@
-
+
LameXP - Przerwano
-
+
Proces został przerwany przez użytkownika.
-
+
Proces został zakończony po %1.
-
+
Błąd: %1 z %n pliku zakończono niepowodzeniem (%2). Kliknij dwukrotnie aby uzyskać więcej informacji!
@@ -3214,7 +3214,7 @@
-
+
pominięto %n plik
@@ -3223,7 +3223,7 @@
-
+
Błąd: %1 z %n pliku zakończono niepowodzeniem. Kliknij dwukrotnie aby uzyskać więcej informacji!
@@ -3232,7 +3232,7 @@
-
+
Wszystkie zadania wykonano pomyślnie. Pominięto %n plik.
@@ -3241,54 +3241,54 @@
-
+
LameXP - Błąd
-
+
Przynajmniej jeden plik nie został skompresowany!
-
+
Kompresja wszystkich plików zakończona powodzeniem.
-
+
LameXP - Zrobione
-
+
Żadna z pozycji nie spełnia reguł filtra
-
+
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
-
+
%n godzina
@@ -3297,8 +3297,8 @@
-
-
+
+
%n minuta
@@ -3307,8 +3307,8 @@
-
-
+
+
%n sekunda
@@ -3317,7 +3317,7 @@
-
+
%n milisekunda
@@ -3342,22 +3342,22 @@
QApplication
-
+
Plik wykonywalny '%1' nie działa w trybie kompatybilności z Windows.
-
+
Plik wykonywalny '%1' wymaga Qt v%2, znaleziono jednak Qt v%3.
-
+
Plik wykonywalny "%1" został skompilowany dla Qt "%2", znaleziono "%3".
-
+
Plik wykonywalny "%1" wymaga Windows XP lub nowszego.
@@ -3426,104 +3426,104 @@
Zamknij
-
-
+
+
Build
-
+
Nieznana
-
+
Testowanie połączenia internetowego, prosze czekać...
-
+
LameXP wykrył brak dostępu do internetu!
-
-
+
+
Upewnij się że komputer jest podłączony do internetu i spróbuj ponownie.
-
+
Test połączenia internetowego zakończony niepowodzeniem!
-
+
Sprawdzanie aktualizacji online, prosze czekać...
-
+
Pobieranie informacji z serwera zakończone niepowodzeniem!
-
+
Serwer aktualizacji wydaje się nie odpowiadać w tej chwili. Prosze spróbować później.
-
+
Więcej informacji tutaj:
-
+
Dostępna nowa wersja LameXP!
-
+
Inicjowanie, prosze czekać...
-
+
Jest wysoce zalecane aby zainstalować tę aktualizację jak najszybciej.
-
+
Nie ma nowych aktualizacji w tej chwili.
-
+
Posiadasz najnowszą wersję LameXP. Sprawdzaj aktualizacje regularnie!
-
+
Posiadasz nowszą wersję LameXP niż ostatnie wydanie.
-
+
To wskazuje na to, że posiadasz wersję alfa LameXP.
-
+
Pobieranie aktualizacji w toku, prosze czekać...
-
+
Aktualizacja gotowa do instalacji. Teraz program zostanie zamknięty...
-
+
Aktualizacja zakończona niepowodzeniem. Prosze spróbować ponownie lub zainstalować ręcznie!
diff --git a/etc/Translation/LameXP_SV.ts b/etc/Translation/LameXP_SV.ts
index 01a58086..4cc28694 100644
--- a/etc/Translation/LameXP_SV.ts
+++ b/etc/Translation/LameXP_SV.ts
@@ -4,23 +4,23 @@
AboutDialog
-
+
LameXP - Ljudkonvertering
-
+
Besök %1 för nyheter och uppdateringar!
-
-
+
+
OBS! Denna testversion av LameXP kommer att upphöra %1. %2 dagar kvar.
-
+
OBS! LameXP är gratis mjukvara. Betala <b>inte</b> för att ladda ner eller använda LameXP! Om någon webbsida försöker ta betalt för LameXP, bör du lämna sidan <b>utan</b> att ladda ner något!
@@ -75,313 +75,313 @@
Stäng
-
+
Följande har medverkat i LameXP:
-
+
Programmerare:
-
+
Projektledare
-
+
Översättare:
-
+
Speciellt tack till:
-
+
Doom9's Forum
-
+
Gleitz | German Doom9
-
+
Hydrogenaudio Forums
-
+
RareWares
-
+
GitHub
-
+
SourceForge
-
+
Qt Developer Network
-
+
-
+
-
+
Marius Hudea
-
+
Codecs.com
-
+
Kontakta oss gärna om du vill medverka il LameXP, med en översättning!
-
+
Följande 3:e-parts mjukvara används i LameXP:
-
+
LAME - OpenSource mp3 Encoder
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
Släppt under Gnu Lesser General Public License.
-
+
OggEnc - Ogg Vorbis Encoder
-
+
Helt öppen och patentfri ljudkodningsteknologi.
-
+
Nero AAC Reference MPEG-4 Encoder
-
+
Freeware state-of-the-art HE-AAC-kodare med stöd för 2-Pass.
-
+
Tillgänglig som gratis nedladdning, från utvecklarens webbsida:
-
+
Aften - A/52 audio encoder
-
+
FLAC - Free Lossless Audio Codec
-
+
Öppen och patentfri, förlustfri ljudkomprimeringsteknik.
-
+
Opus Audio Codec
-
+
Helt öppen, avgiftsfri, mycket mångsidig ljud-codec
-
+
mpg123 - Fast Console MPEG Audio Player/Decoder
-
+
FAAD - OpenSource MPEG-4 and MPEG-2 AAC Decoder
-
+
Släppt under GNU Generel Public License (GPL).
-
+
Valdec från AC3Filter Tools - AC3/DTS Decoder
-
+
WavPack - Hybrid Lossless Compression
-
+
Helt öppet ljudkomprimeringsformat.
-
+
Musepack - Living Audio Compression
-
+
Monkey's Audio - Lossless Audio Compressor
-
+
Fritt tillgänglig källkod, enkel SDK och icke-restriktiv licensiering.
-
+
Shorten - Lossless Audio Compressor
-
+
Speex - Free Codec For Free Speech
-
+
Öppen källkod, patentfritt ljudformat designat för tal.
-
+
The True Audio - Lossless Audio Codec
-
+
refalac - Win32 kommandorad ALAC-kodare/-avkodare
-
+
ALAC referensimplementation av Apple finns tillgänglig under Apache-licensen.
-
+
wma2wav - Dump WMA files to Wave Audio
-
+
Copyright (c) 2011 LoRd_MuldeR <mulder2@gmx.de>. Some rights reserved.
-
+
avs2wav - Avisynth to Wave Audio converter
-
+
By Jory Stone <jcsston@toughguy.net> and LoRd_MuldeR <mulder2@gmx.de>.
-
+
dcaenc
-
+
Copyright (c) 2008-2011 Alexander E. Patrakov. Distributed under the LGPL.
-
+
MediaInfo - Analysverktyg för mediafiler
-
+
SoX - Sound eXchange
-
+
GnuPG - The GNU Privacy Guard
-
+
GNU Wget - Mjukvara för att ta emot filer via HTTP
-
+
UPX - Den ultimata paketeraren för exekverbara filer
-
+
Silk Icons - Över 700 iconer i PNG-format
-
+
Av Mark James, publicerad under Creative Commons 'by' Licens.
-
+
The copyright of LameXP as a whole belongs to LoRd_MuldeR. The copyright of third-party software used in LameXP belongs to the individual authors.
-
+
n/a
@@ -886,7 +886,7 @@
-
+
Visa detaljer
@@ -1629,9 +1629,9 @@
-
-
-
+
+
+
Sök efter uppdateringar
@@ -1672,13 +1672,13 @@
-
+
Inaktivera uppdateringsmeddelande
-
+
Inaktivera ljudeffekter
@@ -1763,23 +1763,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!
@@ -1787,22 +1787,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)!
@@ -1810,17 +1810,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!
@@ -1828,17 +1828,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!
@@ -1846,729 +1846,729 @@
-
+
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
@@ -2576,37 +2576,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!
@@ -3090,72 +3090,72 @@
Stäng
-
+
Visa detaljerad info för markerad åtgärd
-
+
Öppna utdatamnappen
-
+
Filtrera loggobjekt
-
+
Visa endast aktiva
-
+
Visa endast klara
-
+
Visa endast misslyckade
-
+
Visa endast överhoppade
-
+
Visa alla
-
+
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...
-
+
Kodar! %n fil av%1 slutförd. vänta...
@@ -3163,17 +3163,17 @@
-
+
Skapar spelningslista, vänta...
-
+
Åtgärden avbröts i förtid av användaren!
-
+
Åtgärden avbröts av användaren efter %n fil!
@@ -3181,22 +3181,22 @@
-
+
LameXP - Avbrutet
-
+
Åtgärden avbröts av användaren.
-
+
Åtgärden slutförd efter %1.
-
+
Fel! %1 av %n filer misslyckades (%2). Dubbelklicka på misslyckat objekt för info!
@@ -3204,7 +3204,7 @@
-
+
%n fil hoppades över
@@ -3212,7 +3212,7 @@
-
+
Fel! %1 av %n filer misslyckades. Dubbelklicka på misslyckat objekt för info!
@@ -3220,7 +3220,7 @@
-
+
Alla filer korrekt slutförda. %n fil hoppades över.
@@ -3228,54 +3228,54 @@
-
+
LameXP - Fel
-
+
Minst en fil har misslyckats!
-
+
Alla filer korrekt omkodade.
-
+
LameXP - Klar
-
+
Inga objekt matchar aktuell filtrering
-
+
Kunde inte skapa spelningslista
-
+
Spelningslistan kunde inte skapas:
-
+
Varning! Datorn kommer att stängas av om %1 sekunder...
-
-
+
+
Avbryt avstängning
-
+
%n timma
@@ -3283,8 +3283,8 @@
-
-
+
+
%n minut
@@ -3292,8 +3292,8 @@
-
-
+
+
%n sekund
@@ -3301,7 +3301,7 @@
-
+
%n millisekund
@@ -3325,22 +3325,22 @@
QApplication
-
+
EXE-filen '%1' stöder inte Windows kompatibilitetsläge.
-
+
EXE-filen '%1' kräver Qt v%2, du har Qt v%3.
-
+
EXE-filen '%1' är byggd för Qt '%2', du har Qt '%3'.
-
+
@@ -3409,104 +3409,104 @@
Stäng
-
-
+
+
Build
-
+
Okänd
-
+
Kontrollerar iInternetanslutningen, vänta...
-
+
Datorn verkar inte vara ansluten till Internet!
-
-
+
+
Tillse att datorn är ansluten till Internet och försök igen.
-
+
Anslutningskontrollen misslyckades!
-
+
Söker nya uppdateringar, vänta...
-
+
Kunde inte hämta uppdateringsinformation från servern!
-
+
Uppdateringsservern kan vara upptagen. Försök senare.
-
+
Mer information hittas på:
-
+
En ny version av LameXP finns tillgänglig!
-
+
Initierar, vänta...
-
+
Vi rekommenderar alla användare att installera denna uppdatering så snart som möjligt.
-
+
Det finns inga nya uppdateringar.
-
+
Din version av LameXP är uppdaterad. Kontrollera regelbundet!
-
+
Din version verkar vara nyare än senaste 'Release'.
-
+
Det innebär normalt att du använder en beta-version av LameXP.
-
+
Uppdatering laddas ner, vänta...
-
+
Uppdatering klar att installeras. Programmet kommer att avslutas...
-
+
Uppdateringen misslyckades. Försök igen, eller ladda ner manuellt!
diff --git a/gui/ProcessingDialog.ui b/gui/ProcessingDialog.ui
index d09ffd1d..cac33584 100644
--- a/gui/ProcessingDialog.ui
+++ b/gui/ProcessingDialog.ui
@@ -143,13 +143,13 @@
48
- 45
+ 48
48
- 45
+ 48
diff --git a/res/Sounds.qrc b/res/Sounds.qrc
new file mode 100644
index 00000000..298042ba
--- /dev/null
+++ b/res/Sounds.qrc
@@ -0,0 +1,18 @@
+
+
+
+ sounds/aborted.wav
+ sounds/beep.wav
+ sounds/beep2.wav
+ sounds/blast.wav
+ sounds/drop.wav
+ sounds/error.wav
+ sounds/shutdown.wav
+ sounds/success.wav
+ sounds/tick.wav
+ sounds/uuaarrgh.wav
+ sounds/waiting.wav
+ sounds/whammy.wav
+ sounds/woohoo.wav
+
+
diff --git a/res/images/Working.gif b/res/images/Working.gif
index e19236d9..d937c4fc 100644
Binary files a/res/images/Working.gif and b/res/images/Working.gif differ
diff --git a/src/Config.h b/src/Config.h
index 57f52214..cb3ea1b5 100644
--- a/src/Config.h
+++ b/src/Config.h
@@ -35,7 +35,7 @@
#define VER_LAMEXP_MINOR_LO 9
#define VER_LAMEXP_TYPE Alpha
#define VER_LAMEXP_PATCH 9
-#define VER_LAMEXP_BUILD 1495
+#define VER_LAMEXP_BUILD 1499
#define VER_LAMEXP_CONFG 1348
///////////////////////////////////////////////////////////////////////////////
diff --git a/src/Dialog_About.cpp b/src/Dialog_About.cpp
index 5ee44753..24650d5f 100644
--- a/src/Dialog_About.cpp
+++ b/src/Dialog_About.cpp
@@ -25,7 +25,6 @@
#include "../tmp/UIC_AboutDialog.h"
#include "Global.h"
-#include "Resource.h"
#include "Model_Settings.h"
#include
@@ -214,12 +213,12 @@ int AboutDialog::exec()
{
if(!lamexp_play_sound_file("imageres.dll", 5080, true))
{
- lamexp_play_sound(0, true, L"SystemStart");
+ lamexp_play_sound_alias("SystemStart", true);
}
}
else
{
- lamexp_play_sound(IDR_WAVE_ABOUT, true);
+ lamexp_play_sound("uuaarrgh", true);
}
}
@@ -291,7 +290,7 @@ void AboutDialog::tabChanged(int index, const bool silent)
//Play tick sound
if(m_settings->soundsEnabled() && (!silent))
{
- lamexp_play_sound(IDR_WAVE_TICK, true);
+ lamexp_play_sound("tick", true);
}
//Scroll to the top
diff --git a/src/Dialog_MainWindow.cpp b/src/Dialog_MainWindow.cpp
index f0ccba11..85149318 100644
--- a/src/Dialog_MainWindow.cpp
+++ b/src/Dialog_MainWindow.cpp
@@ -27,7 +27,6 @@
//LameXP includes
#include "Global.h"
-#include "Resource.h"
#include "Dialog_WorkingBanner.h"
#include "Dialog_MetaInfo.h"
#include "Dialog_About.h"
@@ -193,6 +192,12 @@ while(0)
} \
while(0)
+#define PLAY_SOUND_OPTIONAL(NAME, ASYNC) do \
+{ \
+ if(m_settings->soundsEnabled()) lamexp_play_sound((NAME), (ASYNC)); \
+} \
+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 CENTER_CURRENT_OUTPUT_FOLDER_DELAYED QTimer::singleShot(125, this, SLOT(centerOutputFolderModel()))
@@ -1095,7 +1100,7 @@ void MainWindow::dropEvent(QDropEvent *event)
(*m_droppedFileList) << event->mimeData()->urls();
if(!m_droppedFileList->isEmpty())
{
- if(m_settings->soundsEnabled()) lamexp_play_sound(IDR_WAVE_DROP, true);
+ PLAY_SOUND_OPTIONAL("drop", true);
QTimer::singleShot(0, this, SLOT(handleDroppedFiles()));
}
}
@@ -1270,7 +1275,7 @@ void MainWindow::windowShown(void)
m_settings->licenseAccepted(++iAccepted);
m_settings->syncNow();
QApplication::processEvents();
- lamexp_play_sound(IDR_WAVE_WHAMMY, false);
+ lamexp_play_sound("whammy", false);
QMessageBox::critical(this, tr("License Declined"), tr("You have declined the license. Consequently the application will exit now!"), tr("Goodbye!"));
QFileInfo uninstallerInfo = QFileInfo(QString("%1/Uninstall.exe").arg(QApplication::applicationDirPath()));
if(uninstallerInfo.exists())
@@ -1286,7 +1291,7 @@ void MainWindow::windowShown(void)
return;
}
- lamexp_play_sound(IDR_WAVE_WOOHOO, false);
+ lamexp_play_sound("woohoo", false);
m_settings->licenseAccepted(1);
m_settings->syncNow();
if(lamexp_version_demo()) showAnnounceBox();
@@ -1298,7 +1303,7 @@ void MainWindow::windowShown(void)
if(lamexp_current_date_safe() >= lamexp_version_expires())
{
qWarning("Binary has expired !!!");
- lamexp_play_sound(IDR_WAVE_WHAMMY, false);
+ lamexp_play_sound("whammy", false);
if(QMessageBox::warning(this, tr("LameXP - Expired"), QString("%1
%2").arg(NOBR(tr("This demo (pre-release) version of LameXP has expired at %1.").arg(lamexp_version_expires().toString(Qt::ISODate))), NOBR(tr("LameXP is free software and release versions won't expire."))), tr("Check for Updates"), tr("Exit Program")) == 0)
{
checkForUpdates();
@@ -1340,7 +1345,7 @@ void MainWindow::windowShown(void)
return;
default:
QEventLoop loop; QTimer::singleShot(7000, &loop, SLOT(quit()));
- lamexp_play_sound(IDR_WAVE_WAITING, true);
+ lamexp_play_sound("waiting", true);
SHOW_BANNER_ARG(tr("Skipping update check this time, please be patient..."), &loop);
break;
}
@@ -1543,7 +1548,7 @@ void MainWindow::encodeButtonClicked(void)
{
QStringList tempFolderParts = tempFolder.split("/", QString::SkipEmptyParts, Qt::CaseInsensitive);
tempFolderParts.takeLast();
- if(m_settings->soundsEnabled()) lamexp_play_sound(IDR_WAVE_WHAMMY, false);
+ PLAY_SOUND_OPTIONAL("whammy", false);
QString lowDiskspaceMsg = QString("%1
%2
%3
%4
").arg
(
NOBR(tr("There are less than %1 GB of free diskspace available on your system's TEMP folder.").arg(QString::number(minimumFreeDiskspaceMultiplier))),
@@ -1649,9 +1654,9 @@ void MainWindow::tabPageChanged(int idx, const bool silent)
}
//Play tick sound
- if(m_settings->soundsEnabled() && (!silent))
+ if(!silent)
{
- lamexp_play_sound(IDR_WAVE_TICK, true);
+ PLAY_SOUND_OPTIONAL("tick", true);
}
int initialWidth = this->width();
@@ -3496,11 +3501,7 @@ void MainWindow::compressionTabEventOccurred(QWidget *sender, QEvent *event)
}
else if((sender == ui->labelResetEncoders) && (event->type() == QEvent::MouseButtonPress))
{
- if(m_settings->soundsEnabled())
- {
- lamexp_play_sound(IDR_WAVE_BLAST, true);
- }
-
+ PLAY_SOUND_OPTIONAL("blast", true);
EncoderRegistry::resetAllEncoders(m_settings);
m_settings->compressionEncoder(SettingsModel::MP3Encoder);
ui->radioButtonEncoderMP3->setChecked(true);
@@ -4024,10 +4025,7 @@ void MainWindow::overwriteModeChanged(int id)
*/
void MainWindow::resetAdvancedOptionsButtonClicked(void)
{
- if(m_settings->soundsEnabled())
- {
- lamexp_play_sound(IDR_WAVE_BLAST, true);
- }
+ PLAY_SOUND_OPTIONAL("blast", true);
ui->sliderLameAlgoQuality->setValue(m_settings->lameAlgoQualityDefault());
ui->spinBoxBitrateManagementMin->setValue(m_settings->bitrateManagementMinRateDefault());
diff --git a/src/Dialog_Processing.cpp b/src/Dialog_Processing.cpp
index 3f24e499..60531e7a 100644
--- a/src/Dialog_Processing.cpp
+++ b/src/Dialog_Processing.cpp
@@ -26,7 +26,6 @@
#include "../tmp/UIC_ProcessingDialog.h"
#include "Global.h"
-#include "Resource.h"
#include "Model_FileList.h"
#include "Model_Progress.h"
#include "Model_Settings.h"
@@ -113,6 +112,12 @@ while(0)
} \
while(0)
+#define PLAY_SOUND_OPTIONAL(NAME, ASYNC) do \
+{ \
+ if(m_settings->soundsEnabled()) lamexp_play_sound((NAME), (ASYNC)); \
+} \
+while(0)
+
#define IS_VBR(RC_MODE) ((RC_MODE) == SettingsModel::VBRMode)
////////////////////////////////////////////////////////////
@@ -694,17 +699,14 @@ void ProcessingDialog::doneEncoding(void)
if(m_userAborted)
{
- CHANGE_BACKGROUND_COLOR(ui->frame_header, QColor("#FFF3BA"));
+ CHANGE_BACKGROUND_COLOR(ui->frame_header, QColor("#FFFFE0"));
WinSevenTaskbar::setTaskbarState(this, WinSevenTaskbar::WinSevenTaskbarErrorState);
WinSevenTaskbar::setOverlayIcon(this, &QIcon(":/icons/error.png"));
SET_PROGRESS_TEXT((m_succeededJobs.count() > 0) ? tr("Process was aborted by the user after %n file(s)!", "", m_succeededJobs.count()) : tr("Process was aborted prematurely by the user!"));
m_systemTray->showMessage(tr("LameXP - Aborted"), tr("Process was aborted by the user."), QSystemTrayIcon::Warning);
m_systemTray->setIcon(QIcon(":/icons/cd_delete.png"));
qApp->processEvents(QEventLoop::ExcludeUserInputEvents);
- if(m_settings->soundsEnabled() && (!m_forcedAbort))
- {
- lamexp_play_sound(IDR_WAVE_ABORTED, false);
- }
+ if(!m_forcedAbort) PLAY_SOUND_OPTIONAL("aborted", false);
}
else
{
@@ -721,7 +723,7 @@ void ProcessingDialog::doneEncoding(void)
if(m_failedJobs.count() > 0)
{
- CHANGE_BACKGROUND_COLOR(ui->frame_header, QColor("#FFBABA"));
+ CHANGE_BACKGROUND_COLOR(ui->frame_header, QColor("#FFF0F0"));
WinSevenTaskbar::setTaskbarState(this, WinSevenTaskbar::WinSevenTaskbarErrorState);
WinSevenTaskbar::setOverlayIcon(this, &QIcon(":/icons/exclamation.png"));
if(m_skippedJobs.count() > 0)
@@ -735,11 +737,11 @@ void ProcessingDialog::doneEncoding(void)
m_systemTray->showMessage(tr("LameXP - Error"), tr("At least one file has failed!"), QSystemTrayIcon::Critical);
m_systemTray->setIcon(QIcon(":/icons/cd_delete.png"));
qApp->processEvents(QEventLoop::ExcludeUserInputEvents);
- if(m_settings->soundsEnabled()) lamexp_play_sound(IDR_WAVE_ERROR, false);
+ PLAY_SOUND_OPTIONAL("error", false);
}
else
{
- CHANGE_BACKGROUND_COLOR(ui->frame_header, QColor("#E0FFE2"));
+ CHANGE_BACKGROUND_COLOR(ui->frame_header, QColor("#F0FFF0"));
WinSevenTaskbar::setTaskbarState(this, WinSevenTaskbar::WinSevenTaskbarNormalState);
WinSevenTaskbar::setOverlayIcon(this, &QIcon(":/icons/accept.png"));
if(m_skippedJobs.count() > 0)
@@ -753,7 +755,7 @@ void ProcessingDialog::doneEncoding(void)
m_systemTray->showMessage(tr("LameXP - Done"), tr("All files completed successfully."), QSystemTrayIcon::Information);
m_systemTray->setIcon(QIcon(":/icons/cd_add.png"));
qApp->processEvents(QEventLoop::ExcludeUserInputEvents);
- if(m_settings->soundsEnabled()) lamexp_play_sound(IDR_WAVE_SUCCESS, false);
+ PLAY_SOUND_OPTIONAL("success", false);
}
}
@@ -1123,12 +1125,9 @@ bool ProcessingDialog::shutdownComputer(void)
qApp->processEvents(QEventLoop::ExcludeUserInputEvents);
- if(m_settings->soundsEnabled())
- {
- QApplication::setOverrideCursor(Qt::WaitCursor);
- lamexp_play_sound(IDR_WAVE_SHUTDOWN, false);
- QApplication::restoreOverrideCursor();
- }
+ QApplication::setOverrideCursor(Qt::WaitCursor);
+ PLAY_SOUND_OPTIONAL("shutdown", false);
+ QApplication::restoreOverrideCursor();
QTimer timer;
timer.setInterval(1000);
@@ -1150,7 +1149,7 @@ bool ProcessingDialog::shutdownComputer(void)
progressDialog.setLabelText(text.arg(iTimeout-i));
if(iTimeout-i == 3) progressDialog.setCancelButton(NULL);
qApp->processEvents(QEventLoop::ExcludeUserInputEvents);
- lamexp_play_sound(((i < iTimeout) ? IDR_WAVE_BEEP : IDR_WAVE_BEEP_LONG), false);
+ PLAY_SOUND_OPTIONAL(((i < iTimeout) ? "beep" : "beep2"), false);
}
progressDialog.close();
diff --git a/src/Dialog_Update.cpp b/src/Dialog_Update.cpp
index 03e913d8..fd35a1e7 100644
--- a/src/Dialog_Update.cpp
+++ b/src/Dialog_Update.cpp
@@ -27,7 +27,6 @@
//LameXP includes
#include "Global.h"
-#include "Resource.h"
#include "Thread_CheckUpdate.h"
#include "Dialog_LogView.h"
#include "Model_Settings.h"
@@ -338,7 +337,7 @@ void UpdateDialog::threadFinished(void)
if(!bSuccess)
{
- if(m_settings->soundsEnabled()) lamexp_play_sound(IDR_WAVE_ERROR, true);
+ if(m_settings->soundsEnabled()) lamexp_play_sound("error", true);
}
else
{
diff --git a/src/Dialog_WorkingBanner.cpp b/src/Dialog_WorkingBanner.cpp
index d7414f83..ffee8d89 100644
--- a/src/Dialog_WorkingBanner.cpp
+++ b/src/Dialog_WorkingBanner.cpp
@@ -89,9 +89,9 @@ WorkingBanner::WorkingBanner(QWidget *parent)
{
m_style = new QWindowsVistaStyle();
this->setStyle(m_style);
- ui->labelStatus->setStyle(m_style);
ui->progressBar->setStyle(m_style);
- ui->labelStatus->setStyleSheet("background-color: rgb(255, 255, 255);");
+ ui->labelStatus->setStyle(m_style);
+ ui->labelStatus->setStyleSheet("background-color: #FFFFFF;");
}
else
{
@@ -99,7 +99,6 @@ WorkingBanner::WorkingBanner(QWidget *parent)
m_working = new QMovie(":/images/Busy.gif");
m_working->setCacheMode(QMovie::CacheAll);
ui->labelWorking->setMovie(m_working);
- m_working->start();
}
//Set Opacity
@@ -256,9 +255,29 @@ bool WorkingBanner::winEvent(MSG *message, long *result)
void WorkingBanner::showEvent(QShowEvent *event)
{
+ QDialog::showEvent(event);
+ if(!event->spontaneous())
+ {
+ if(m_working)
+ {
+ m_working->start();
+ }
+ }
QTimer::singleShot(25, this, SLOT(windowShown()));
}
+void WorkingBanner::hideEvent(QHideEvent *event)
+{
+ QDialog::hideEvent(event);
+ if(!event->spontaneous())
+ {
+ if(m_working)
+ {
+ m_working->stop();
+ }
+ }
+}
+
////////////////////////////////////////////////////////////
// SLOTS
////////////////////////////////////////////////////////////
diff --git a/src/Dialog_WorkingBanner.h b/src/Dialog_WorkingBanner.h
index 99ff8f6f..ca26e917 100644
--- a/src/Dialog_WorkingBanner.h
+++ b/src/Dialog_WorkingBanner.h
@@ -69,6 +69,7 @@ protected:
virtual void closeEvent(QCloseEvent *event);
virtual bool winEvent(MSG *message, long *result);
virtual void showEvent(QShowEvent *event);
+ virtual void hideEvent(QHideEvent *event);
QFontMetrics *m_metrics;
QStyle *m_style;
diff --git a/src/Global.h b/src/Global.h
index efa16dcd..c60a6b3c 100644
--- a/src/Global.h
+++ b/src/Global.h
@@ -197,8 +197,9 @@ bool lamexp_open_media_file(const QString &mediaFilePath);
QString lamexp_path_to_short(const QString &longPath);
__int64 lamexp_perfcounter_frequ(void);
__int64 lamexp_perfcounter_value(void);
-bool lamexp_play_sound(const unsigned short uiSoundIdx, const bool bAsync, const wchar_t *alias = NULL);
+bool lamexp_play_sound(const QString &name, const bool bAsync);
bool lamexp_play_sound_file(const QString &library, const unsigned short uiSoundIdx, const bool bAsync);
+bool lamexp_play_sound_alias(const QString &alias, const bool bAsync);
bool lamexp_portable_mode(void);
unsigned long lamexp_process_id(const QProcess *proc);
QStringList lamexp_query_translations(void);
diff --git a/src/Global_Win32.cpp b/src/Global_Win32.cpp
index c187001f..4dd52061 100644
--- a/src/Global_Win32.cpp
+++ b/src/Global_Win32.cpp
@@ -61,6 +61,7 @@
#include
#include
#include
+#include
//LameXP includes
#define LAMEXP_INC_CONFIG
@@ -190,6 +191,14 @@ static struct
}
g_lamexp_dwmapi;
+//Sound file cache
+static struct
+{
+ QHash *sound_db;
+ QReadWriteLock lock;
+}
+g_lamexp_sounds;
+
//Image formats
static const char *g_lamexp_imageformats[] = {"bmp", "png", "jpg", "gif", "ico", "xpm", NULL}; //"svg"
@@ -1537,44 +1546,84 @@ bool lamexp_beep(int beepType)
/*
* Play a sound (from resources)
*/
-bool lamexp_play_sound(const unsigned short uiSoundIdx, const bool bAsync, const wchar_t *alias)
+bool lamexp_play_sound(const QString &name, const bool bAsync)
{
- if(alias)
+ const unsigned char *data = NULL;
+
+ //Try to look-up the sound in the cache first
+ if(!name.isEmpty())
{
- return PlaySound(alias, GetModuleHandle(NULL), (SND_ALIAS | (bAsync ? SND_ASYNC : SND_SYNC))) == TRUE;
+ QReadLocker readLock(&g_lamexp_sounds.lock);
+ if(g_lamexp_sounds.sound_db && g_lamexp_sounds.sound_db->contains(name))
+ {
+ data = g_lamexp_sounds.sound_db->value(name);
+ }
}
- else
+
+ //If data not found in cache, try to load from resource!
+ if((!data) && (!name.isEmpty()))
{
- return PlaySound(MAKEINTRESOURCE(uiSoundIdx), GetModuleHandle(NULL), (SND_RESOURCE | (bAsync ? SND_ASYNC : SND_SYNC))) == TRUE;
+ QResource resource(QString(":/sounds/%1.wav").arg(name));
+ if(resource.isValid() && (data = resource.data()))
+ {
+ QWriteLocker writeLock(&g_lamexp_sounds.lock);
+ if(!g_lamexp_sounds.sound_db)
+ {
+ g_lamexp_sounds.sound_db = new QHash();
+ }
+ g_lamexp_sounds.sound_db->insert(name, data);
+ }
+ else
+ {
+ qWarning("Sound effect \"%s\" not found!", QUTF8(name));
+ }
}
+
+ //Play the sound, if availbale
+ if(data)
+ {
+ return PlaySound(LPCWSTR(data), NULL, (SND_MEMORY | (bAsync ? SND_ASYNC : SND_SYNC))) != FALSE;
+ }
+
+ return false;
}
/*
- * Play a sound (from resources)
+ * Play a sound (system alias)
+ */
+bool lamexp_play_sound_alias(const QString &alias, const bool bAsync)
+{
+ return PlaySound(QWCHAR(alias), GetModuleHandle(NULL), (SND_ALIAS | (bAsync ? SND_ASYNC : SND_SYNC))) != FALSE;
+}
+
+/*
+ * Play a sound (from external DLL)
*/
bool lamexp_play_sound_file(const QString &library, const unsigned short uiSoundIdx, const bool bAsync)
{
bool result = false;
- HMODULE module = NULL;
QFileInfo libraryFile(library);
if(!libraryFile.isAbsolute())
{
- unsigned int buffSize = GetSystemDirectoryW(NULL, NULL) + 1;
- wchar_t *buffer = (wchar_t*) _malloca(buffSize * sizeof(wchar_t));
- unsigned int result = GetSystemDirectory(buffer, buffSize);
- if(result > 0 && result < buffSize)
+ const QString &systemDir = lamexp_known_folder(lamexp_folder_systemfolder);
+ if(!systemDir.isEmpty())
{
- libraryFile.setFile(QString("%1/%2").arg(QDir::fromNativeSeparators(QString::fromUtf16(reinterpret_cast(buffer))), library));
+ libraryFile.setFile(QDir(systemDir), libraryFile.fileName());
}
- _freea(buffer);
}
- module = LoadLibraryW(QWCHAR(QDir::toNativeSeparators(libraryFile.absoluteFilePath())));
- if(module)
+ if(libraryFile.exists() && libraryFile.isFile())
{
- result = (PlaySound(MAKEINTRESOURCE(uiSoundIdx), module, (SND_RESOURCE | (bAsync ? SND_ASYNC : SND_SYNC))) == TRUE);
- FreeLibrary(module);
+ if(HMODULE module = LoadLibraryW(QWCHAR(QDir::toNativeSeparators(libraryFile.canonicalFilePath()))))
+ {
+ result = (PlaySound(MAKEINTRESOURCE(uiSoundIdx), module, (SND_RESOURCE | (bAsync ? SND_ASYNC : SND_SYNC))) != FALSE);
+ FreeLibrary(module);
+ }
+ }
+ else
+ {
+ qWarning("PlaySound: File \"%s\" could not be found!", QUTF8(libraryFile.absoluteFilePath()));
}
return result;
@@ -2202,6 +2251,7 @@ extern "C" void _lamexp_global_init_win32(void)
LAMEXP_ZERO_MEMORY(g_lamexp_wine);
LAMEXP_ZERO_MEMORY(g_lamexp_themes_enabled);
LAMEXP_ZERO_MEMORY(g_lamexp_dwmapi);
+ LAMEXP_ZERO_MEMORY(g_lamexp_sounds);
}
///////////////////////////////////////////////////////////////////////////////
@@ -2245,6 +2295,9 @@ extern "C" void _lamexp_global_free_win32(void)
g_lamexp_log_file = NULL;
}
+ //Clear sound cache
+ LAMEXP_DELETE(g_lamexp_sounds.sound_db);
+
//Free CLI Arguments
LAMEXP_DELETE(g_lamexp_argv.list);
}
diff --git a/src/Resource.h b/src/Resource.h
index 4cd4aa39..7955a6f1 100644
--- a/src/Resource.h
+++ b/src/Resource.h
@@ -25,19 +25,6 @@
*/
#define IDI_ICON1 106
#define IDI_ICON2 107
-#define IDR_WAVE_ABOUT 666
-#define IDR_WAVE_SUCCESS 667
-#define IDR_WAVE_ERROR 668
-#define IDR_WAVE_ABORTED 669
-#define IDR_WAVE_WHAMMY 670
-#define IDR_WAVE_WOOHOO 671
-#define IDR_WAVE_SHUTDOWN 672
-#define IDR_WAVE_BEEP 673
-#define IDR_WAVE_BEEP_LONG 674
-#define IDR_WAVE_WAITING 675
-#define IDR_WAVE_BLAST 676
-#define IDR_WAVE_TICK 677
-#define IDR_WAVE_DROP 678
/*
* Next default values for new objects