diff --git a/LameXP_VS2010.vcxproj b/LameXP_VS2010.vcxproj index 06edff68..6880b0d7 100644 --- a/LameXP_VS2010.vcxproj +++ b/LameXP_VS2010.vcxproj @@ -88,7 +88,7 @@ "/MANIFESTDEPENDENCY:type=%27win32%27 name=%27Microsoft.Windows.Common-Controls%27 version=%276.0.0.0%27 publicKeyToken=%276595b64144ccf1df%27 language=%27*%27 processorArchitecture=%27*%27" %(AdditionalOptions) - qtmaind.lib;QtCored4.lib;QtGuid4.lib;Winmm.lib;Shlwapi.lib;Wininet.lib;PowrProf.lib;psapi.lib;QKeccakHash_VS2010.lib;%(AdditionalDependencies) + qtmaind.lib;QtCored4.lib;QtGuid4.lib;Winmm.lib;Shlwapi.lib;Sensapi.lib;PowrProf.lib;psapi.lib;QKeccakHash_VS2010.lib;%(AdditionalDependencies) $(QTDIR)\lib;$(QTDIR)\plugins\imageformats;$(SolutionDir)\etc\Prerequisites\VisualLeakDetector\lib\Win32;$(SolutionDir)\etc\Prerequisites\keccak\lib\$(Configuration);%(AdditionalLibraryDirectories) true Windows @@ -144,7 +144,7 @@ copy /Y "$(SolutionDir)\etc\Prerequisites\VisualLeakDetector\bin\Win32\*.manifes "/MANIFESTDEPENDENCY:type=%27win32%27 name=%27Microsoft.Windows.Common-Controls%27 version=%276.0.0.0%27 publicKeyToken=%276595b64144ccf1df%27 language=%27*%27 processorArchitecture=%27*%27" %(AdditionalOptions) - qtmain.lib;QtCore4.lib;QtGui4.lib;Winmm.lib;Shlwapi.lib;Wininet.lib;PowrProf.lib;Psapi.lib;QKeccakHash_VS2010.lib;%(AdditionalDependencies) + qtmain.lib;QtCore4.lib;QtGui4.lib;Winmm.lib;Shlwapi.lib;Sensapi.lib;PowrProf.lib;Psapi.lib;QKeccakHash_VS2010.lib;%(AdditionalDependencies) LinkVerboseLib @@ -216,10 +216,9 @@ del "$(TargetDir)imageformats\q???d4.dll" "/MANIFESTDEPENDENCY:type=%27win32%27 name=%27Microsoft.Windows.Common-Controls%27 version=%276.0.0.0%27 publicKeyToken=%276595b64144ccf1df%27 language=%27*%27 processorArchitecture=%27*%27" %(AdditionalOptions) - qtmain.lib;QtCore.lib;QtGui.lib;QtSvg.lib;qsvg.lib;qico.lib;qtga.lib;Winmm.lib;imm32.lib;ws2_32.lib;Shlwapi.lib;Wininet.lib;PowrProf.lib;Psapi.lib;QKeccakHash_VS2010.lib;EncodePointer.lib;%(AdditionalDependencies) + qtmain.lib;QtCore.lib;QtGui.lib;QtSvg.lib;qsvg.lib;qico.lib;qtga.lib;Winmm.lib;imm32.lib;ws2_32.lib;Shlwapi.lib;Sensapi.lib;PowrProf.lib;Psapi.lib;QKeccakHash_VS2010.lib;EncodePointer.lib;%(AdditionalDependencies) LinkVerboseLib - $(SolutionDir)\etc\Prerequisites\z_old\qt4_static.VS2010\lib;$(SolutionDir)\etc\Prerequisites\z_old\qt4_static.VS2010\plugins\imageformats;$(SolutionDir)\etc\Prerequisites\EncodePointer\lib;$(SolutionDir)\etc\Prerequisites\VisualLeakDetector\lib\Win32;$(SolutionDir)\etc\Prerequisites\keccak\lib\$(Configuration);%(AdditionalLibraryDirectories) - %(IgnoreSpecificDefaultLibraries) + $(SolutionDir)\etc\Prerequisites\qt4_static.VS2010\lib;$(SolutionDir)\etc\Prerequisites\qt4_static.VS2010\plugins\imageformats;$(SolutionDir)\etc\Prerequisites\EncodePointer\lib;$(SolutionDir)\etc\Prerequisites\VisualLeakDetector\lib\Win32;$(SolutionDir)\etc\Prerequisites\keccak\lib\$(Configuration);%(AdditionalLibraryDirectories) false @@ -282,6 +281,7 @@ del "$(TargetDir)imageformats\q???d4.dll" + @@ -292,7 +292,12 @@ del "$(TargetDir)imageformats\q???d4.dll" - + + + + + + @@ -308,6 +313,7 @@ del "$(TargetDir)imageformats\q???d4.dll" + @@ -340,6 +346,7 @@ del "$(TargetDir)imageformats\q???d4.dll" + @@ -352,6 +359,7 @@ del "$(TargetDir)imageformats\q???d4.dll" + @@ -369,9 +377,15 @@ del "$(TargetDir)imageformats\q???d4.dll" + - - + + + + + + + @@ -511,8 +525,30 @@ del "$(TargetDir)imageformats\q???d4.dll" $(SolutionDir)tmp\MOC_%(Filename).cpp;%(Outputs) + + "$(QTDIR)\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" + MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp" + $(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)" + "$(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" + MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp" + $(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)" @@ -1013,17 +1049,14 @@ del "$(TargetDir)imageformats\q???d4.dll" RCC "$(SolutionDir)tmp\QRC_%(Filename).cpp" "$(QTDIR)\bin\rcc.exe" -o "$(SolutionDir)tmp\QRC_%(Filename).cpp" -name "%(Filename)" "%(FullPath)" - $(ProjectDir)\res\localization\LameXP_DE.qm;%(AdditionalInputs) $(SolutionDir)tmp\QRC_%(Filename).cpp;%(Outputs) RCC "$(SolutionDir)tmp\QRC_%(Filename).cpp" "$(QTDIR)\bin\rcc.exe" -o "$(SolutionDir)tmp\QRC_%(Filename).cpp" -name "%(Filename)" "%(FullPath)" - $(ProjectDir)\res\localization\LameXP_DE.qm;%(AdditionalInputs) $(SolutionDir)tmp\QRC_%(Filename).cpp;%(Outputs) RCC "$(SolutionDir)tmp\QRC_%(Filename).cpp" "$(QTDIR)\bin\rcc.exe" -o "$(SolutionDir)tmp\QRC_%(Filename).cpp" -name "%(Filename)" "%(FullPath)" - %(AdditionalInputs) $(SolutionDir)tmp\QRC_%(Filename).cpp;%(Outputs) @@ -1173,29 +1206,101 @@ del "$(TargetDir)imageformats\q???d4.dll" RCC "$(SolutionDir)tmp\QRC_%(Filename).cpp" "$(QTDIR)\bin\rcc.exe" -o "$(SolutionDir)tmp\QRC_%(Filename).cpp" -name "%(Filename)" "%(FullPath)" - + Document - "$(QTDIR)\bin\rcc.exe" -o "$(SolutionDir)tmp\QRC_%(Filename).cpp" -name "%(Filename)" "%(FullPath)" - RCC "$(SolutionDir)tmp\QRC_%(Filename).cpp" - $(SolutionDir)tmp\QRC_%(Filename).cpp;%(Outputs) - "$(QTDIR)\bin\rcc.exe" -o "$(SolutionDir)tmp\QRC_%(Filename).cpp" -name "%(Filename)" "%(FullPath)" - RCC "$(SolutionDir)tmp\QRC_%(Filename).cpp" - $(SolutionDir)tmp\QRC_%(Filename).cpp;%(Outputs) - $(SolutionDir)tmp\QRC_%(Filename).cpp;%(Outputs) - RCC "$(SolutionDir)tmp\QRC_%(Filename).cpp" "$(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) - + Document - "$(QTDIR)\bin\rcc.exe" -o "$(SolutionDir)tmp\QRC_%(Filename).cpp" -name "%(Filename)" "%(FullPath)" - RCC "$(SolutionDir)tmp\QRC_%(Filename).cpp" - $(SolutionDir)tmp\QRC_%(Filename).cpp;%(Outputs) - "$(QTDIR)\bin\rcc.exe" -o "$(SolutionDir)tmp\QRC_%(Filename).cpp" -name "%(Filename)" "%(FullPath)" - RCC "$(SolutionDir)tmp\QRC_%(Filename).cpp" - $(SolutionDir)tmp\QRC_%(Filename).cpp;%(Outputs) - $(SolutionDir)tmp\QRC_%(Filename).cpp;%(Outputs) - RCC "$(SolutionDir)tmp\QRC_%(Filename).cpp" "$(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) + + + 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) + + + 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) + + + 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) + + + 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) + + + 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) + + + 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_VS2010.vcxproj.filters b/LameXP_VS2010.vcxproj.filters index fc607db3..420a6bdd 100644 --- a/LameXP_VS2010.vcxproj.filters +++ b/LameXP_VS2010.vcxproj.filters @@ -1,9 +1,6 @@  - - Source Files - Source Files @@ -316,12 +313,6 @@ Generated Files\QRC - - Generated Files\QRC - - - Generated Files\QRC - Source Files\Threads @@ -379,6 +370,60 @@ Source Files\Misc + + Generated Files\QRC + + + Generated Files\QRC + + + Generated Files\QRC + + + Generated Files\QRC + + + Generated Files\QRC + + + Generated Files\QRC + + + Generated Files\QRC + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files\Threads + + + Generated Files\MOC + + + Source Files\Encoders + + + Generated Files\MOC + + + Generated Files\QRC + @@ -668,12 +713,6 @@ Header Files\Encoders - - Resources - - - Resources - Resources @@ -704,6 +743,36 @@ Dialogs + + Resources + + + Resources + + + Resources + + + Resources + + + Resources + + + Resources + + + Resources + + + Header Files\Threads + + + Header Files\Encoders + + + Resources + diff --git a/LameXP_VS2013.vcxproj b/LameXP_VS2013.vcxproj index 485da211..ecac2bde 100644 --- a/LameXP_VS2013.vcxproj +++ b/LameXP_VS2013.vcxproj @@ -90,7 +90,7 @@ false - "/MANIFESTDEPENDENCY:type=%27win32%27 name=%27Microsoft.Windows.Common-Controls%27 version=%276.0.0.0%27 publicKeyToken=%276595b64144ccf1df%27 language=%27*%27 processorArchitecture=%27*%27" %(AdditionalOptions) + "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions) QtCored4.lib;QtGuid4.lib;Winmm.lib;Shlwapi.lib;Sensapi.lib;PowrProf.lib;psapi.lib;QKeccakHash_VS2013.lib;%(AdditionalDependencies) $(QTDIR)\lib;$(QTDIR)\plugins\imageformats;$(SolutionDir)\etc\Prerequisites\VisualLeakDetector\lib\Win32;$(SolutionDir)\etc\Prerequisites\keccak\lib\$(Configuration);%(AdditionalLibraryDirectories) true @@ -154,7 +154,7 @@ copy /Y "$(SolutionDir)\etc\Prerequisites\VisualLeakDetector\bin\Win32\*.manifes - "/MANIFESTDEPENDENCY:type=%27win32%27 name=%27Microsoft.Windows.Common-Controls%27 version=%276.0.0.0%27 publicKeyToken=%276595b64144ccf1df%27 language=%27*%27 processorArchitecture=%27*%27" %(AdditionalOptions) + "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions) QtCore4.lib;QtGui4.lib;Winmm.lib;Shlwapi.lib;Sensapi.lib;PowrProf.lib;psapi.lib;QKeccakHash_VS2013.lib;%(AdditionalDependencies) LinkVerboseLib @@ -234,10 +234,10 @@ del "$(TargetDir)imageformats\q???d4.dll" - "/MANIFESTDEPENDENCY:type=%27win32%27 name=%27Microsoft.Windows.Common-Controls%27 version=%276.0.0.0%27 publicKeyToken=%276595b64144ccf1df%27 language=%27*%27 processorArchitecture=%27*%27" %(AdditionalOptions) + "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" %(AdditionalOptions) QtCore.lib;QtGui.lib;QtSvg.lib;qtmain.lib;qsvg.lib;qico.lib;qtga.lib;Winmm.lib;imm32.lib;ws2_32.lib;Shlwapi.lib;Sensapi.lib;PowrProf.lib;psapi.lib;QKeccakHash_VS2013.lib;EncodePointer.lib;%(AdditionalDependencies) LinkVerboseLib - $(SolutionDir)\etc\Prerequisites\qt4_static.VS2013\lib;$(SolutionDir)\etc\Prerequisites\qt4_static.VS2013\plugins\imageformats;$(SolutionDir)\etc\Prerequisites\EncodePointer\lib;$(SolutionDir)\etc\Prerequisites\VisualLeakDetector\lib\Win32;$(SolutionDir)\etc\Prerequisites\keccak\lib\$(Configuration);%(AdditionalLibraryDirectories) + $(SolutionDir)\etc\Prerequisites\qt4_static\lib;$(SolutionDir)\etc\Prerequisites\qt4_static\plugins\imageformats;$(SolutionDir)\etc\Prerequisites\EncodePointer\lib;$(SolutionDir)\etc\Prerequisites\VisualLeakDetector\lib\Win32;$(SolutionDir)\etc\Prerequisites\keccak\lib\$(Configuration);%(AdditionalLibraryDirectories) %(IgnoreSpecificDefaultLibraries) false diff --git a/LameXP_VS2013.vcxproj.filters b/LameXP_VS2013.vcxproj.filters index 1d09f0c2..c11ba17c 100644 --- a/LameXP_VS2013.vcxproj.filters +++ b/LameXP_VS2013.vcxproj.filters @@ -564,9 +564,6 @@ Header Files\Misc\3rd Party - - Header Files\Encoders - @@ -776,6 +773,9 @@ Header Files + + Header Files\Encoders + diff --git a/doc/Changelog.html b/doc/Changelog.html index 25fe5ed6..b089b25a 100644 --- a/doc/Changelog.html +++ b/doc/Changelog.html @@ -17,7 +17,17 @@ a:visited { color: #0000EE; }

LameXP - Version History


-Changes between v4.08 and v4.09 [unreleased]:

Please follow the install instructions that are included with the 'QAAC Encoder Add-in' download package!
Note that you do NOT need to install this Add-in, if you only want to use the Nero AAC Encoder.
@@ -514,13 +516,15 @@ Note that you do NOT need to install this Add-in, if you only want to use the Ne FHG AAC Encoder

Optionally LameXP also supports the FHG AAC Encoder now. Just like the Nero encoder, the FHG encoder can NOT
-be redistributed along with LameXP. However the FHG AAC Encoder is included with Winamp v5.62, which is
+be redistributed along with LameXP. However the FHG AAC Encoder is included with Winamp (v5.62+), which is
available as a free download (you don't need to buy the "Pro" version!) from the official Winamp web-site at:
+
  • http://www.winamp.com/media-player/en +
  • http://download.nullsoft.com/winamp/client/winamp5666_full_en-us.exe +
  • http://www.free-codecs.com/winamp_download.htm
    In order to enable the FHG AAC Encoder support you will also need the 'FHG AAC Encoder Add-in' for LameXP:

    Please follow the install instructions that are included with the 'FHG AAC Encoder Add-in' download package!
    @@ -661,6 +665,25 @@ WARNING: Any attempt to close the LameXP console window will kill the applicatio

    +How can I change the font size in the LameXP window?
    +
    +Sometimes it may be required to adjust the font size, e.g. when working on a "high DPI" screen. The best way
    +to adjust the font size is tweaking the DPI settings of your system. On modern Windows operating systems,
    +this option can be found at the "Display" options at the Control Panel. Simply select, e.g., "Medium" (125%)
    +or "Larger" (150%) to increase the size of all GUI widgets, including larger fonts. LameXP is based on Qt and
    +therefore is fully "DPI aware". This means it will respect the system's DPI settings - without(!) blurring.
    +
    +In rare cases you may which to adjust the font-size only inside the LameXP window, but *not* effect any other
    +applications. For this particular purpose, LameXP offers the following command-line options:
    +
    + + + + +
    --tiny-font  Enforces very small font size (75%)
    --small-font Enforces smaller font size (87.5%)
    --big-font  Enforces larger font size (125%)
    --huge-font  Enforces very large font size (150%)
    + +

    + Why does application 'xyz' not open the Wave files created by LameXP?

    Some of the decoders used in LameXP will insert an additional 'JUNK' chunk into the Wave/RIFF file, right
    @@ -701,7 +724,7 @@ cores, the maximum number of parallel instances is six. On systems with 16 cores parallel instances is eight. On systems with 32 cores, the maximum number of parallel instances is eleven.
    And on systems with 64 cores, the maximum number of parallel instances is 16. 16 is the upper limit.

    -thumb
    +thumb

    You may wonder why LameXP doesn't always create one instance for each CPU core. In theory, the more instances
    we run in parallel, the more CPU cores can be utilized - until all CPU cores are busy and the overall CPU
    @@ -832,7 +855,7 @@ filter will be applied in order to recover a continuous signal from these indivi reconstructed analogue signal it is possible to have voltages that are higher than the highest digital sample
    in the audio track! This is illustrated in the following image (samples are represented as tiny squares):

    -thumb
    +thumb

    Consequently normalizing the sample values to 0dBFS is NOT a very good idea, as this may very well result in
    a reconstructed analogue signal which exceeds(!) 0dBFS. And, as the analogue parts of the playback equipment
    @@ -959,7 +982,7 @@ switching to the 'Compatibility' tab and un-checking the 'Run this program in co Why do I get the error 'LameXP.exe is not a valid Win32 application' on startup?

    You are trying to run LameXP on a platform that is NOT supported, such as Windows 95, Windows 98, Windows
    -Millennium Edition, Windows NT 4.0 or Windows 2000. There is nothing you can do about that, except for +Millennium Edition, Windows NT 4.0 or Windows 2000. There is nothing you can do about that, except for
    updating to a less antiquated OS. Running an outdated and unsupported OS is a severe security risk anyway!

    Note: This error can also occur, if your system has been configured to run LameXP in compatibility mode.

    @@ -1002,12 +1025,14 @@ Please see the guide for translators at:


    Where can I submit bug reports or feature requests?
    @@ -1033,10 +1058,11 @@ application framework and offers full Unicode support. For the time being LameXP LameXP is developed using the Git revision control system. You can access one of the public mirrors:
    • git clone git://git.code.sf.net/p/lamexp/code lamexp-src (Browse)
    • git clone git://git.berlios.de/lamexp lamexp-src (Browse) -
    • git clone https://git01.codeplex.com/lamexp lamexp-src (Browse)
    • git clone https://github.com/lordmulder/LameXP.git lamexp-src (Browse) +
    • git clone https://git01.codeplex.com/lamexp lamexp-src (Browse)
    • git clone https://bitbucket.org/lord_mulder/lamexp.git lamexp-src (Browse) -
    • git clone git://gitorious.org/lamexp/lamexp.git lamexp-src (Browse)
    +
  • git clone git://gitorious.org/lamexp/lamexp.git lamexp-src (Browse) +
  • git clone git://git.assembla.com/lamexp.git lamexp-src (Browse)
    In case you are new to Git or want to extend your knowledge, have a look at the Pro Git book by Scott Chacon!
    For Windows users, we highly recommend using MSYS Git in conjunction with the superb Tortoise Git front-end.

    diff --git a/doc/Manual.html b/doc/Manual.html index 840493f7..6c9b5897 100644 --- a/doc/Manual.html +++ b/doc/Manual.html @@ -27,5 +27,8 @@ Sorry, there is no LameXP user manual (yet), but we have an extensive F.A.Q. document, it will probably answer your question...


    +Note: If you are willing to contribute an in-depth LameXP manual, then please contact us!
    +
    +
    eof diff --git a/doc/Translate.html b/doc/Translate.html index 00d2646c..4fe79815 100644 --- a/doc/Translate.html +++ b/doc/Translate.html @@ -13,20 +13,34 @@ a:visited { color: #0000EE; } +

    Howto: Translate LameXP

    -

    If you are willing to contribute a new LameXP v4.xx translation or update/fix an existing translation, then this guide will help you to do so :-)

    +

    If you are willing to contribute a new LameXP v4.xx translation or improve an existing translation, then this guide will help you to do so :-)


    Screenshot

    -

    Prerequisites:

    -

    LameXP v4.xx is a complete re-write of LameXP. This time LameXP is developed in C++ and it is based on the Qt cross-platform application framework. The good news for translators is that Qt provides full Unicode support, which was also one of the main reasons for the re-write. Consequently there will be no more headache with different Codepages! Furthermore the Qt framework provides a sophisticated translation system, which allows for easy internationalization and localization. There even is an easy-to-use graphical tool for translating Qt application, the Qt Linguist. So before you start translating, you should make yourself familiar with the Qt Linguist application. As a translator, having a quick look at the guide for translators is sufficient.

    -

    You can download Qt Linguist as a part of the "Qt SDK" or the "Qt libraries", which are available as a free download from the Qt download site. We recommend picking the "Qt SDK" and download the "Online installer" (∼15 MB), but you do not need to worry about a "commercial" license. In the Qt SDK Setup wizard, make sure you select the "Custom" install type. Then un-check all components, except for "Qt SDK" ⇒ "Development Tools" ⇒ "Qt Liguist". Alternatively, if you don't want to install the Qt SDK on your computer, you can find Qt Linguist for Windows as a stand-alone download at this location (only ∼4 MB). This stand-alone version of Linguist has been built using static Qt libraries and thus should work "out of the box" without any dependencies - just unzip the ZIP file and run the "linguist.exe" file.

    + +

    Introduction:

    +

    LameXP v4.xx is a complete re-write of LameXP. This time LameXP is developed in C++ and it is based on the Qt cross-platform application framework. The good news for translators is that Qt provides full Unicode support, which was also one of the main reasons for the re-write. Consequently there will be no more headache with different Codepages! Furthermore the Qt framework provides a sophisticated translation system, which allows for easy internationalization and localization. There even is an easy-to-use graphical tool for translating Qt application, which is called Qt Linguist. Consequently, before you start translating, you should make yourself familiar with the Qt Linguist application. As a translator, having a quick look at the Qt Linguist manual for translators should be sufficient.


    + +

    Prerequisites:

    +

    You can obtain the Qt Linguist application as a part of the Qt cross-platform application framework, which is available as a free download from the Qt Project web-site. We recommend choosing the "Qt libraries 4.8.6 for Windows (VS 2010)" download. Note that, in order to find the desired download link, you may need to click on the "Show Downloads" button first and then scroll down. In any case, the free "OpenSource" edition of Qt is perfectly sufficient, i.e. you do not need to buy the commercial edition of Qt offered by Digia Inc.

    +

    Alternatively, if you do not want to download and install the complete Qt framework, you can download Qt Linguist (and some other Qt-related tools) as a stand-alone package at this location. This stand-alone version will work "out of the box" without installation.

    +
    +

    Editing the language file:

    LameXP v4.xx translations are created as TS (translation) files, which can be edited using the Qt Linguist application. For new translations an empty TS file ("Blank.ts") is provided in the LameXP Git repository. When you open the empty TS file for the first time, Qt Linguist will ask for some basic settings. Here you must keep the "Source language" options at "English" and "Any Country". Change the "Target language" options to whatever language (region) you are going to translate to. Once you have edited all (or some) text strings, you can save your work to a TS file again. It is recommended to save your work to "LameXP_XX.ts", where XX should be replaced with the suitable upper-case ISO 639-1 Code for the representation of names of languages (for example the German translation is saved as "LameXP_DE.ts", because the corresponding ISO 639-1 code is DE). You can re-open your TS file at any time in order to continue with your work. In case you want to improve an existing LameXP translation, simply download the corresponding TS file from the LameXP Git repository and edit it using the Qt Linguist tool.

    -

    The latest translation (TS) files can always be found in the LameXP Git repository at:
    https://github.com/lordmulder/LameXP/tree/master/etc/Translation
    https://bitbucket.org/lord_mulder/lamexp/src/master/etc/Translation

    After you have chosen a file from the directory tree (by left-click!), you can download the file by right-clicking on "raw" button/link (in the upper right corner) an choosing "Save Link As...".
    Raw
    (As people seem to have problems here: Please be sure to download the actual file content, by using the "raw" button/link. Do not save the page as shown in the browser, as that would only save the HTML preview of the file rather than the file itself! Also, in the directory tree view, do not right-click + "Save Link As..." on one of the TS files, as that would only save the HTML preview. Instead, left-click on the link to open/preview the TS file in the browser, then use the "raw" button/link!)

    -

    IMPORTANT: Before you start to create a new translation, always make sure you downloaded the latest "Blank.ts" file from the LameXP Git repository. Also before you start editing or updating an existing translation, including translations you have created yourself, make sure you downloaded the latest TS file from the LameXP Git repository. Never do any translations based on an old working copy (TS file) from your local system! The translation files (TS) in the Git repository will be updated/extended continuously, as the development proceeds. We cannot accept translations based on an outdated TS file!

    +

    The latest translation (TS) files can always be found in the LameXP Git repository at:

    + +

    After you have chosen a file from the directory tree, by left-click, you can download the file by right-clicking on Raw button/link (in the upper right corner) an then choosing "Save Link As..." from the context menu.
    Raw Button

    +

    (As many people seem to have problems here: Please be sure to download the actual file content, by using the "Raw" button. Please do not save the page as shown in the browser, as that would only save the HTML preview of the file rather than the file itself! Also, in the directory tree view, do not right-click + "Save Link As..." on one of the TS files, as that would only save the HTML preview. Instead, left-click on the link to open the TS file in the browser. Then use the "Raw" button as described above!)

    +

    IMPORTANT: Before you start to create a new translation, always make sure you downloaded the latest "Blank.ts" file from the LameXP Git repository. Also, before you start editing or updating an existing translation, make sure you downloaded the latest TS file from the LameXP Git repository. Never do any translations based on some working copies that you kept on your local system! The translation files (TS) in the Git repository will be updated continuously, as the development proceeds. We can not accept translations based on an outdated TS file!


    +

    Language file editing rules:

    Only language files that have been edited according to the following rules can be accepted:
      @@ -40,6 +54,7 @@ Only language files that have been edited according to the following rules can b
    • Note that the red ! icon and the yellow icon indicate that there is some problem with your translation, which needs to be resolved!

    +

    Examples:

    Here are a few examples of properly translated strings:
      @@ -48,20 +63,24 @@ Here are a few examples of properly translated strings:
    • Example #3
      • Original: %n minute(s)
      • Translated (Singular): %n Minute
      • Translated (Plural): %n Minuten

    +

    Testing your translation:

    -

    LameXP v4.xx needs to be re-built from the sources in order to integrate a new translation or to update one of the "built-in" translations. However there is an easy method to test your translation file without re-building LameXP: Open your current translation (TS) file in the Qt Linguist application and go to "File" ⇒ "Release As...", which allows you to save your translation as a "release" (QM) file. Once saved as a QM file, you can load your translation in LameXP. This is not possible with the TS file. In LameXP, just goto "View" ⇒ "Language" ⇒ "From File..." and choose the QM file that you have saved in Linguist before. Your translation should be in effect immediately. If you notice that your translation needs further modifications, please go back to the TS file for editing (don't try to edit the QM file!), in the Qt Linguist application. Then, for your next test run, create a new QM file from the updated TS file. Also note that, in newer versions of LameXP, you can press CTRL+F5 to re-load your current QM file (works only in the "Main" window!).

    +

    LameXP v4.xx needs to be re-built from the sources in order to integrate a new translation or to update one of the "built-in" translations. However there is an easy method to test your translation file without re-building LameXP: Open your current translation (TS) file in the Qt Linguist application and go to "File" ⇒ "Release As...", which allows you to save your translation as a "release" (QM) file. Once saved as a QM file, you can load your translation in LameXP. This is not possible with the TS file. In LameXP, just goto "View" ⇒ "Language" ⇒ "From File..." and choose the QM file that you have saved in Linguist before. Your translation should be in effect immediately. If you notice that your translation needs further modifications, please go back to the TS file for editing (don't try to edit the QM file!), in the Qt Linguist application. Then, for your next test run, create a new QM file from the updated TS file. Also note that, in newer versions of LameXP, you can press CTRL+F5 to re-load your current QM file (works only in the "Main" window!).


    +

    Submitting your translation:

    Once you are done with your translation (i.e. all items and all contexts have a green icon), you can submit it, so it can be integrated into the next LameXP release. You can contact me by e-mail:
    mulder2[at]gmx[dot]de

    Please do not submit translations that have any items/context with , ?, ? or even ! icon left. Also do not submit QM files, do not compress the submitted file (ZIP, RAR, etc) and do not attach a flag icon file. It is perfectly sufficient to submit only the translation (TS) file.

    -

    Legal notice: By submitting LameXP translations, all translators agree that their work will be incorporated into the LameXP software and, from then on, will be published and redistributed under the terms of the GNU General Public License. If you do not agree, please do not submit! +

    Legal notice:
    By submitting LameXP translations, all translators agree that their work will be incorporated into the LameXP software. All translations will be published and redistributed under the terms of the GNU General Public License. If you do not agree, please do not submit!

    (Advanced translators can get write-access to the Git repository, so they can keep their translations up-to-date easily. If you need Git access, just drop me a note!)

    -

    IMPORTANT: Before you start to create a new translation, always make sure you downloaded the latest "Blank.ts" file from the LameXP Git repository. Also before you start editing or updating an existing translation, including translations you have created yourself, make sure you downloaded the latest TS file from the LameXP Git repository. Never do any translations based on an old working copy (TS file) from your local system! The translation files (TS) in the Git repository will be updated/extended continuously, as the development proceeds. We cannot accept translations based on an outdated TS file!

    +

    IMPORTANT: Before you start to create a new translation, always make sure you downloaded the latest "Blank.ts" file from the LameXP Git repository. Also, before you start editing or updating an existing translation, make sure you downloaded the latest TS file from the LameXP Git repository. Never do any translations based on some working copies that you kept on your local system! The translation files (TS) in the Git repository will be updated continuously, as the development proceeds. We can not accept translations based on an outdated TS file!


    +

    Personalization:

    -

    Usually all translators will be mentioned in the "About..." dialogue of LameXP. If you don't want your (nick)name and/or e-mail address to appear there, please tell us that you whish to stay anonymous!

    +

    Usually all translators will be mentioned in the "About..." dialogue of LameXP. If you don't want your (nick)name and/or e-mail address to appear there, please tell us that you wish to stay anonymous!



    Thanks in advance !!!

    emoticon + diff --git a/etc/Prerequisites/keccak/lib/Debug/QKeccakHash_VS2013.lib b/etc/Prerequisites/keccak/lib/Debug/QKeccakHash_VS2013.lib index a2682d5e..fa780e58 100644 Binary files a/etc/Prerequisites/keccak/lib/Debug/QKeccakHash_VS2013.lib and b/etc/Prerequisites/keccak/lib/Debug/QKeccakHash_VS2013.lib differ diff --git a/etc/Prerequisites/keccak/lib/Release/QKeccakHash_VS2013.lib b/etc/Prerequisites/keccak/lib/Release/QKeccakHash_VS2013.lib index 7fc073f2..aa62e018 100644 Binary files a/etc/Prerequisites/keccak/lib/Release/QKeccakHash_VS2013.lib and b/etc/Prerequisites/keccak/lib/Release/QKeccakHash_VS2013.lib differ diff --git a/etc/Prerequisites/keccak/lib/Release_Static/QKeccakHash_VS2013.lib b/etc/Prerequisites/keccak/lib/Release_Static/QKeccakHash_VS2013.lib index 66558a74..5994216a 100644 Binary files a/etc/Prerequisites/keccak/lib/Release_Static/QKeccakHash_VS2013.lib and b/etc/Prerequisites/keccak/lib/Release_Static/QKeccakHash_VS2013.lib differ diff --git a/etc/Translation/Blank.ts b/etc/Translation/Blank.ts index b1ef388f..6e822387 100644 --- a/etc/Translation/Blank.ts +++ b/etc/Translation/Blank.ts @@ -54,334 +54,284 @@ - + LameXP - Audio Encoder Front-end - + Please visit %1 for news and updates! - - + + Note: This demo (pre-release) version of LameXP will expire at %1. Still %2 days left. - + Note: LameXP is free software. Do <b>not</b> pay money to obtain or use LameXP! If some third-party website tries to make you pay for downloading LameXP, you should <b>not</b> respond to the offer !!! - + The following people have contributed to LameXP: - + Programmers: - + Project Leader - + Translators: - + Special thanks to: - - Doom9's Forum + + Official Mirrors: - - Gleitz | German Doom9 - - - - - Hydrogenaudio Forums - - - - - RareWares - - - - - GitHub - - - - - SourceForge - - - - - Qt Developer Network - - - - - BerliOS Developer - - - - - CodePlex - - - - - Marius Hudea - - - - - Codecs.com - - - - + If you are willing to contribute a LameXP translation, feel free to contact us! - + The following third-party software is used in LameXP: - + LAME - OpenSource mp3 Encoder - - - - - - - - - - - - + + + + + + + + + + + + Released under the terms of the GNU Lesser General Public License. - + OggEnc - Ogg Vorbis Encoder - + Completely open and patent-free audio encoding technology. - + Nero AAC Reference MPEG-4 Encoder - + Freeware state-of-the-art HE-AAC encoder with 2-Pass support. - + Available from vendor web-site as free download: - + Aften - A/52 audio encoder - + FLAC - Free Lossless Audio Codec - + Open and patent-free lossless audio compression technology. - + Opus Audio Codec - + Totally open, royalty-free, highly versatile audio codec. - + mpg123 - Fast Console MPEG Audio Player/Decoder - + FAAD - OpenSource MPEG-4 and MPEG-2 AAC Decoder - + Released under the terms of the GNU General Public License. - + Valdec from AC3Filter Tools - AC3/DTS Decoder - + WavPack - Hybrid Lossless Compression - + Completely open audio compression format. - + Musepack - Living Audio Compression - + Monkey's Audio - Lossless Audio Compressor - + Freely available source code, simple SDK and non-restrictive licensing. - + Shorten - Lossless Audio Compressor - + Speex - Free Codec For Free Speech - + Open Source patent-free audio format designed for speech. - + The True Audio - Lossless Audio Codec - + refalac - Win32 command line ALAC encoder/decoder - + The ALAC reference implementation by Apple is available under the Apache license. - + 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 - Media File Analysis Tool - + SoX - Sound eXchange - + GnuPG - The GNU Privacy Guard - + GNU Wget - Software for retrieving files using HTTP - + UPX - The Ultimate Packer for eXecutables - + Silk Icons - Over 700 icons in PNG format - + By Mark James, released under the Creative Commons 'by' License. - + 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 @@ -389,56 +339,56 @@ AudioFileModel - - + + Profile - + Channels - + Samplerate - - + + Bitdepth - + Type - + Version - - - + + + Bitrate - + Constant - + Variable - + Encoder @@ -882,7 +832,7 @@ - + Show Details @@ -1630,9 +1580,10 @@ - - - + + + + Check for Updates @@ -1673,13 +1624,13 @@ - + Disable Update Reminder - + Disable Sound Effects @@ -1764,845 +1715,845 @@ - + Adding file(s), please wait... - - + + Access Denied - + %n file(s) have been rejected, because read access was not granted! - + This usually means the file is locked by another process. - + CDDA Files - + %n file(s) have been rejected, because they are dummy CDDA files! - + Sorry, LameXP cannot extract audio tracks from an Audio-CD at present. - + We recommend using %1 for that purpose. - + Cue Sheet - + %n file(s) have been rejected, because they appear to be Cue Sheet images! - + Please use LameXP's Cue Sheet wizard for importing Cue Sheet files. - + Files Rejected - + %n file(s) have been rejected, because the file format could not be recognized! - + This usually means the file is damaged or the file format is not supported. - + Scanning folder(s) for files, please wait... - + DEMO VERSION - + Initializing directory outline, please be patient... - + You can drop in audio files here! - + Open File in External Application - + Browse File Location - + Browse Selected Folder - + Refresh Directory Outline - + Go To Parent Directory - + Bookmark Current Output Folder - + Export Meta Tags to CSV File - + Import Meta Tags from CSV File - + License Declined - + You have declined the license. Consequently the application will exit now! - + Goodbye! - + LameXP - Expired - + This demo (pre-release) version of LameXP has expired at %1. - + LameXP is free software and release versions won't expire. - - + + Exit Program - + It seems that a bogus anti-virus software is slowing down the startup of LameXP. - + Please refer to the %1 document for details and solutions! - + Slow Startup - - - - - + + + + + Discard - - + + Don't Show Again - + Urgent Update - + Your version of LameXP is more than a year old. Time for an update! - - + + Ignore - + Skipping update check this time, please be patient... - - - + + + Update Reminder - + Your last update check was more than 14 days ago. Check for updates now? - + Your did not check for LameXP updates yet. Check for updates now? - + Postpone - + LameXP detected that your version of the Nero AAC encoder is outdated! - + The current version available is %1 (or later), but you still have version %2 installed. - + n/a - + You can download the latest version of the Nero AAC encoder from the Nero website at: - + (Hint: Please ignore the name of the downloaded ZIP file and check the included 'changelog.txt' instead!) - + AAC Encoder Outdated - + The Nero AAC encoder could not be found. AAC encoding support will be disabled. - + Please put 'neroAacEnc.exe', 'neroAacDec.exe' and 'neroAacTag.exe' into the LameXP directory! - + Your LameXP directory is located here: - + You can download the Nero AAC encoder for free from the official Nero website at: - + AAC Support Disabled - - - + + + LameXP - + You must add at least one file to the list before proceeding! - + Not Found - + Your currently selected TEMP folder does not exist anymore: - + Restore Default - + Cancel - + There are less than %1 GB of free diskspace available on your system's TEMP folder. - + It is highly recommend to free up more diskspace before proceeding with the encode! - + Your TEMP folder is located at: - + Low Diskspace Warning - + Abort Encoding Process - + Clean Disk Now - + Low Diskspace - + You are proceeding with low diskspace. Problems might occur! - + Sorry, an unsupported encoder has been chosen! - + Cannot write to the selected output directory. - + Please choose a different directory! - + Load Translation - + Translation Files - + Do you really want to disable the update reminder? - - - - - - - + + + + + + + Yes - - - - - - - + + + + + + + No - + The update reminder has been disabled. - + Please remember to check for updates at regular intervals! - + The update reminder has been re-enabled. - + Do you really want to disable all sound effects? - - + + Sound Effects - + All sound effects have been disabled. - + The sound effects have been re-enabled. - - - + + + Nero AAC Notifications - + Do you really want to disable all Nero AAC Encoder notifications? - + All Nero AAC Encoder notifications have been disabled. - + The Nero AAC Encoder notifications have been re-enabled. - - - + + + Slow Startup Notifications - + Do you really want to disable the slow startup notifications? - + The slow startup notifications have been disabled. - + The slow startup notifications have been re-enabled. - - + + Open Cue Sheet - - + + Cue Sheet File - - - + + + Beta Updates - + Do you really want LameXP to check for Beta (pre-release) updates? - + LameXP will check for Beta (pre-release) updates from now on. - + Check Now - + LameXP will <i>not</i> check for Beta (pre-release) updates from now on. - - - + + + Hibernate Computer - + Do you really want the computer to be hibernated on shutdown? - + LameXP will hibernate the computer on shutdown from now on. - + LameXP will <i>not</i> hibernate the computer on shutdown from now on. - - - + + + Shell Integration - + Do you really want to disable the LameXP shell integration? - + The LameXP shell integration has been disabled. - + The LameXP shell integration has been re-enabled. - - + + Add file(s) - - + + Add Folder - + Loading dropped files or folders, please wait... - - + + Save CSV file - - - - + + + + CSV File - - - - + + + + CSV Export - + Sorry, there are no meta tags that can be exported! - + Sorry, failed to open CSV file for writing! - + Sorry, failed to write to the CSV file! - + The CSV files was created successfully! - - + + Open CSV file - - - - - + + + + + CSV Import - + Sorry, failed to open CSV file for reading! - + Sorry, failed to read from the CSV file! - + Sorry, the CSV file does not contain any known fields! - + CSV file is incomplete. Not all files were updated! - + The CSV files was imported successfully! - - + + New Folder - + Enter the name of the new folder: - + Failed to create folder - + The new folder could not be created: - + Drive is read-only or insufficient access rights! - + Current Encoder: %1 - - + + Quality Level %1 - + Compression %1 - + Uncompressed - + Best Quality (Slow) - + High Quality (Recommended) - + Acceptable Quality (Fast) - + Poor Quality (Very Fast) - + File name without extension - + Track number with leading zero - + Track title - + Artist name - + Album name - + Year with (at least) four digits - + Comment - + Characters forbidden in file names: - + Rename Macros - + %n Instance(s) - + Cannot write to the selected directory. Please choose another directory! - + Overwrite Mode - + Warning: This mode may overwrite existing files with no way to revert! - + Continue - + Revert - + Already Running - + LameXP is already running, please use the running instance! @@ -3085,52 +3036,52 @@ - + Show details for selected job - + Browse Output File Location - + Filter Log Items - + Show Running Only - + Show Succeeded Only - + Show Failed Only - + Show Skipped Only - + Show All Items - + Encoding Files - + Your files are being encoded, please be patient... diff --git a/etc/Translation/LameXP_DE.ts b/etc/Translation/LameXP_DE.ts index 84b59461..126638af 100644 --- a/etc/Translation/LameXP_DE.ts +++ b/etc/Translation/LameXP_DE.ts @@ -239,38 +239,6 @@ Special thanks to: Besonderen Dank an: - - Doom9's Forum - - - - Gleitz | German Doom9 - - - - Hydrogenaudio Forums - - - - RareWares - - - - GitHub - - - - SourceForge - - - - Qt Developer Network - - - - Marius Hudea - - UPX - The Ultimate Packer for eXecutables @@ -288,16 +256,8 @@ Valdec aus den AC3Filter Tools - AC3/DTS Decoder - Codecs.com - - - - BerliOS Developer - - - - CodePlex - + Official Mirrors: + Offizielle Spiegelserver: diff --git a/etc/Translation/LameXP_EN.ts b/etc/Translation/LameXP_EN.ts index efee8a70..6926d453 100644 --- a/etc/Translation/LameXP_EN.ts +++ b/etc/Translation/LameXP_EN.ts @@ -31,7 +31,7 @@ MainWindow - + %n file(s) have been rejected, because read access was not granted! %n file have been rejected, because read access was not granted! @@ -39,7 +39,7 @@ - + %n file(s) have been rejected, because they are dummy CDDA files! %n file have been rejected, because they are dummy CDDA files! @@ -47,7 +47,7 @@ - + %n file(s) have been rejected, because they appear to be Cue Sheet images! %n file have been rejected, because they appear to be Cue Sheet images! @@ -55,7 +55,7 @@ - + %n file(s) have been rejected, because the file format could not be recognized! %n file have been rejected, because the file format could not be recognized! @@ -63,7 +63,7 @@ - + %n Instance(s) %n Instance diff --git a/etc/Translation/LameXP_ES.ts b/etc/Translation/LameXP_ES.ts index 6022b2d4..539da7c3 100644 --- a/etc/Translation/LameXP_ES.ts +++ b/etc/Translation/LameXP_ES.ts @@ -239,38 +239,6 @@ Special thanks to: Agradecimientos a: - - Doom9's Forum - Doom9's Forum - - - Gleitz | German Doom9 - Gleitz | German Doom9 - - - Hydrogenaudio Forums - Hydrogenaudio Forums - - - RareWares - RareWares - - - GitHub - GitHub - - - SourceForge - SourceForge - - - Qt Developer Network - Qt Developer Network - - - Marius Hudea - Marius Hudea - UPX - The Ultimate Packer for eXecutables UPX - The Ultimate Packer for eXecutables @@ -288,15 +256,7 @@ Valdec de AC3Filter Tools - Decodificador AC3/DTS - Codecs.com - Codecs.com - - - BerliOS Developer - - - - CodePlex + Official Mirrors: diff --git a/etc/Translation/LameXP_FR.ts b/etc/Translation/LameXP_FR.ts index aef6ca18..0628ce7e 100644 --- a/etc/Translation/LameXP_FR.ts +++ b/etc/Translation/LameXP_FR.ts @@ -243,38 +243,6 @@ Special thanks to: Grand merci à : - - Doom9's Forum - Forum Doom9's - - - Gleitz | German Doom9 - Gleitz | German Doom9 - - - Hydrogenaudio Forums - Forums Hydrogenaudi - - - RareWares - RareWares - - - GitHub - GitHub - - - SourceForge - SourceForge - - - Qt Developer Network - Qt Developer Network - - - Marius Hudea - Marius Hudea - UPX - The Ultimate Packer for eXecutables UPX - The Ultimate Packer for eXecutable @@ -292,15 +260,7 @@ Valdec depuis les outils AC3Filter - Décodeur AC3/DTS - Codecs.com - Codecs.com - - - BerliOS Developer - - - - CodePlex + Official Mirrors: @@ -2024,15 +1984,15 @@ Ouvrir le dossier récursivement... Current Encoder: %1 - + Encodeur actuel r: %1 Loading dropped files or folders, please wait... - + Chargement des fichiers ou dossiers déposés, patientez... APE - + APE @@ -2618,7 +2578,7 @@ Ouvrir le dossier récursivement... Executable '%1' requires Windows XP or later. - + '%1' requiert Windows XP ou une version ultérieure. @@ -2751,23 +2711,23 @@ Ouvrir le dossier récursivement... Initializing, please wait... - Initialisation, patientez... + Initialisation, patientez... Discard - Abandonner + Abandonner Ignore - Ignorer + Ignorer Sorry, but only users in the "Administrators" group can install updates. - + Désolé, mais seuls les « Administrateurs » peuvent installer les mises à jour. Please start application from an administrator account and try again! - + Veuillez démarrer l'application depuis un compte administrateur, puis réessayez ! diff --git a/etc/Translation/LameXP_IT.ts b/etc/Translation/LameXP_IT.ts index 35be5b37..d06e9781 100644 --- a/etc/Translation/LameXP_IT.ts +++ b/etc/Translation/LameXP_IT.ts @@ -239,38 +239,6 @@ Special thanks to: - - Doom9's Forum - - - - Gleitz | German Doom9 - - - - Hydrogenaudio Forums - - - - RareWares - - - - GitHub - - - - SourceForge - - - - Qt Developer Network - - - - Marius Hudea - - UPX - The Ultimate Packer for eXecutables @@ -288,15 +256,7 @@ - Codecs.com - - - - BerliOS Developer - - - - CodePlex + Official Mirrors: diff --git a/etc/Translation/LameXP_KR.ts b/etc/Translation/LameXP_KR.ts index 355bb9ee..2ccba7dc 100644 --- a/etc/Translation/LameXP_KR.ts +++ b/etc/Translation/LameXP_KR.ts @@ -239,38 +239,6 @@ Special thanks to: 특별히 감사합니다: - - Doom9's Forum - Doom9 포럼 - - - Gleitz | German Doom9 - Gleitz | German Doom9 - - - Hydrogenaudio Forums - Hydrogenaudio 포럼 - - - RareWares - RareWares - - - GitHub - GitHub - - - SourceForge - SourceForge - - - Qt Developer Network - Qt 개발자 네트워크 - - - Marius Hudea - Marius Hudea - UPX - The Ultimate Packer for eXecutables UPX - The Ultimate Packer for eXecutables @@ -289,15 +257,7 @@ AC3Filter 도구의 Valdec - AC3/DTS Decoder - Codecs.com - Codecs.com - - - BerliOS Developer - - - - CodePlex + Official Mirrors: @@ -2008,15 +1968,15 @@ Current Encoder: %1 - + 현재 인코더: %1 Loading dropped files or folders, please wait... - + 파일 또는 폴더 불러오는 중, 잠시만 기다려 주십시오... APE - + APE @@ -2590,7 +2550,7 @@ Executable '%1' requires Windows XP or later. - + '%1' 실행하려면 Windows XP 또는 상위 버전이 필요합니다. @@ -2608,7 +2568,7 @@ SplashScreen LameXP is launching... - LameXP 실행중... + LameXP 실행 중... @@ -2735,11 +2695,11 @@ Sorry, but only users in the "Administrators" group can install updates. - + 죄송하지만 관리자 그룹의 사용자들만 업데이트를 설치할 수 있습니다. Please start application from an administrator account and try again! - + 프로그램을 관리자 권한으로 시작한 다음 다시 시도하시기 바랍니다! diff --git a/etc/Translation/LameXP_PL.ts b/etc/Translation/LameXP_PL.ts index a309833f..1713baf8 100644 --- a/etc/Translation/LameXP_PL.ts +++ b/etc/Translation/LameXP_PL.ts @@ -4,23 +4,23 @@ AboutDialog - + LameXP - Audio Encoder Front-end LameXP - Program do kompresji dźwięku - + Please visit %1 for news and updates! Odwiedź %1 aby zobaczyć nowości i aktualizacje! - - + + Note: This demo (pre-release) version of LameXP will expire at %1. Still %2 days left. Uwaga: To jest wersja próbna LameXP, która wygaśnie %1. Pozostało jeszcze %2 dni. - + Note: LameXP is free software. Do <b>not</b> pay money to obtain or use LameXP! If some third-party website tries to make you pay for downloading LameXP, you should <b>not</b> respond to the offer !!! 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,263 @@ Zamknij - + The following people have contributed to LameXP: Osoby które pomogły w rozwoju LameXP: - + Programmers: Programiści: - + Project Leader Lider projektu - + Translators: Tłumacze: - + Special thanks to: Specjalne podziękowania dla: - - Doom9's Forum - Forum Doom9 + + Official Mirrors: + - - Gleitz | German Doom9 - Gleitz | Niemieckiego Doom9 - - - - Hydrogenaudio Forums - Forum Hydrogenaudio - - - - RareWares - RareWares - - - - GitHub - GitHub - - - - SourceForge - SourceForge - - - - Qt Developer Network - Qt Developer Network - - - - BerliOS Developer - BerliOS Developer - - - - CodePlex - CodePlex - - - - Marius Hudea - Marius Hudea - - - - Codecs.com - Codecs.com - - - + If you are willing to contribute a LameXP translation, feel free to contact us! Jeśli chcesz wspomóc LameXP w obsłudze większej ilości języków, nie wahaj skontaktować się z nami! - + The following third-party software is used in LameXP: Następujące programy firm trzecich zostały użyte w LameXP: - + LAME - OpenSource mp3 Encoder LAME - Otwartoźródłowy koder mp3 - - - - - - - - - - - - + + + + + + + + + + + + Released under the terms of the GNU Lesser General Public License. Wydane na warunkach licencji GNU Lesser General Public License. - + OggEnc - Ogg Vorbis Encoder OggEnc - Koder Ogg Vorbis - + Completely open and patent-free audio encoding technology. Całkowicie otwarta i wolna od patentów technologia kompresji dźwięku. - + Nero AAC Reference MPEG-4 Encoder Nero AAC Reference MPEG-4 Encoder - + Freeware state-of-the-art HE-AAC encoder with 2-Pass support. Darmowy, jedyny w swoim rodzaju koder HE-AAC z obsługą dwóch przebiegów. - + Available from vendor web-site as free download: Darmowy pakiet dostępny ze strony wydawcy: - + Aften - A/52 audio encoder Aften - Koder dźwięku A/52 - + FLAC - Free Lossless Audio Codec FLAC - Darmowy i bezstartny kodek dźwięku - + Open and patent-free lossless audio compression technology. Otwarta i wolna od patentów technologia bezstratnej kompresji dźwięku. - + Opus Audio Codec Opus Audio Codec - + Totally open, royalty-free, highly versatile audio codec. Otwartoźródłowy, wolny od patentów, wielozadaniowy kodek dźwięku. - + mpg123 - Fast Console MPEG Audio Player/Decoder mpg123 - Szybki dekoder/odtwarzacz MPEG Audio - + FAAD - OpenSource MPEG-4 and MPEG-2 AAC Decoder FAAD - Otwartoźródłowy dekoder MPEG-4 oraz MPEG-2 AAC - + Released under the terms of the GNU General Public License. Wydane na warunkach licencji GNU General Public License. - + Valdec from AC3Filter Tools - AC3/DTS Decoder Dekoder AC3/DTS z narzędzi AC3Filter Tools Valdec'a - + WavPack - Hybrid Lossless Compression Wavpack - Bezstratny hybrydowy kodek dźwięku - + Completely open audio compression format. Całkowicie otwarty format kompresji dźwięku. - + Musepack - Living Audio Compression Musepack - Koder dźwięku - + Monkey's Audio - Lossless Audio Compressor Monkey's Audio - Koder bezstratnego formatu dźwięku - + Freely available source code, simple SDK and non-restrictive licensing. Szeroko dostępny kod źródłowy, prosty SDK i bezrestrykcyjna licencja. - + Shorten - Lossless Audio Compressor Shorten - Bezstratny kodek dźwięku - + Speex - Free Codec For Free Speech Speex - Darmowy kodek dla mowy ludzkiej - + Open Source patent-free audio format designed for speech. Otwartoźródłowy, wolny od patentów format dźwięku przeznaczony dla mowy ludzkiej. - + The True Audio - Lossless Audio Codec The True Audio - Bezstratny kodek dźwięku - + refalac - Win32 command line ALAC encoder/decoder refalac - Koder/dekoder ALAC na platformę Win32 działający z wiersza poleceń - + The ALAC reference implementation by Apple is available under the Apache license. Referencyjna implementacja formatu ALAC firmy Apple jest dostępna na licencji Apache. - + wma2wav - Dump WMA files to Wave Audio wma2wav - Dekoder plików WMA do Wave - + Copyright (c) 2011 LoRd_MuldeR <mulder2@gmx.de>. Some rights reserved. Prawa autorskie 2011 LoRd_MuldeR <mulder2@gmx.de>. Pewne prawa zastrzeżone. - + avs2wav - Avisynth to Wave Audio converter avs2wav - Konwerter dźwięku z Avisynth do Wave - + By Jory Stone <jcsston@toughguy.net> and LoRd_MuldeR <mulder2@gmx.de>. Autorami programu są Jory Stone <jcsston@toughguy.net> i LoRd_MuldeR <mulder2@gmx.de>. - + dcaenc dcaenc - + Copyright (c) 2008-2011 Alexander E. Patrakov. Distributed under the LGPL. Prawa autorskie: 2008-2011 Alexander E. Patrakov. Rozpowszechniane na licencji LGPL. - + MediaInfo - Media File Analysis Tool MediaInfo - Narzędzie do analizy plików multimedialnych - + SoX - Sound eXchange SoX - Sound eXchange - + GnuPG - The GNU Privacy Guard GnuPG - GNU Privacy Guard - + GNU Wget - Software for retrieving files using HTTP GNU Wget - Oprogramowanie służące do pobierania plików za pomocą protokołu HTTP - + UPX - The Ultimate Packer for eXecutables UPX - The Ultimate Packer for eXecutables - + Silk Icons - Over 700 icons in PNG format Silk Icons - Ponad 700 ikon w formacie PNG - + By Mark James, released under the Creative Commons 'by' License. Autorstwa Mark James, wydane na licencji Creative Commons. - + 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. 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/a n/d @@ -389,56 +339,56 @@ AudioFileModel - - + + Profile Profil - + Channels Kanały - + Samplerate Częstotliwość - - + + Bitdepth Głębia bitów - + Type Typ - + Version Wersja - - - + + + Bitrate Przepływność bitów - + Constant Stały - + Variable Zmienny - + Encoder Koder @@ -888,7 +838,7 @@ - + Show Details Pokaż szczegóły @@ -1637,9 +1587,10 @@ - - - + + + + Check for Updates Sprawdź aktualizacje @@ -1680,13 +1631,13 @@ - + Disable Update Reminder Wyłącz przypominanie o aktualizacji - + Disable Sound Effects Wyłącz efekty dźwiękowe @@ -1771,314 +1722,314 @@ Otwartoźródłowe projekty MuldeR'a - + Adding file(s), please wait... Dodawanie plików, prosze czekać... - - + + Access Denied Dostęp zablokowany - + This usually means the file is locked by another process. To przeważnie oznacza, że plik jest zablokowany przez inny proces. - + CDDA Files Pliki CDDA - + Sorry, LameXP cannot extract audio tracks from an Audio-CD at present. LameXP nie może teraz wyekstrachować ścieżki z płyty Audio-CD. - + We recommend using %1 for that purpose. Zaleca się użycie w tym celu %1. - + Cue Sheet Cue Sheet - + Please use LameXP's Cue Sheet wizard for importing Cue Sheet files. Prosze użyć przewodnika Cue Sheet w LameXP w celu importowania tych plików. - + Files Rejected Pliki odrzucone - + This usually means the file is damaged or the file format is not supported. To przeważnie oznacza że plik jest uszkodzony lub format pliku nie jest wspierany. - + Scanning folder(s) for files, please wait... Skanowanie folderu/ów, prosze czekać... - + You can drop in audio files here! Tutaj możesz upuścić pliki dźwiękowe! - + Open File in External Application Otwórz plik w zewnętrznym programie - + Browse File Location Otwórz lokalizację pliku - + Browse Selected Folder Otwórz wybrany folder - + Bookmark Current Output Folder Zapamiętaj wybrany folder - + License Declined Licencja odrzucona - + You have declined the license. Consequently the application will exit now! Odrzuciłeś licencję. W takim razie program zostanie teraz zamknięty! - + Goodbye! Naraska! - + LameXP - Expired LameXP - Termin wygasł - + This demo (pre-release) version of LameXP has expired at %1. Ta wersja próbna LameXP wygasła %1. - + LameXP is free software and release versions won't expire. LameXP jest darmowym oprogramowaniem i pełna wersja nie wygasa. - - + + Exit Program Wyjdź z programu - + It seems that a bogus anti-virus software is slowing down the startup of LameXP. Najwyraźniej twoje oprogramowanie antywirusowe spowalnia uruchamianie się LameXP. - + Please refer to the %1 document for details and solutions! Prosze sprawdzić dokument %1 w celu dalszych szcegółów i rozwiązań! - + Slow Startup Powolny start - - - - - + + + + + Discard Zamknij - - + + Don't Show Again Nie pokazuj ponownie - + Urgent Update Ważna aktualizacja - + Your version of LameXP is more than a year old. Time for an update! Twoja wersja LameXP jest starsza niż rok! Czas na aktualizację! - - - + + + Update Reminder Powiadomienie aktualizacji - + Your last update check was more than 14 days ago. Check for updates now? Ostatnie sprawdzenie aktualizacji było ponad 14 dni temu. Sprawdzić teraz aktualizacje? - + Your did not check for LameXP updates yet. Check for updates now? Nie sprawdzałeś jeszcze aktualizacji LameXP. Sprawdzić teraz aktualizacje? - + Postpone Przełóż - + LameXP detected that your version of the Nero AAC encoder is outdated! LameXP wykrył że Twoja wersja kodera Nero AAC jest nieaktualna! - + The current version available is %1 (or later), but you still have version %2 installed. Wersją dostępną obecnie jest %1, Twoja wersja to %2. - + n/a b/d - + You can download the latest version of the Nero AAC encoder from the Nero website at: Możesz pobrać najnowszą wersję kodera Nero AAC ze strony Nero: - + AAC Encoder Outdated Koder AAC jest nieaktualny - + The Nero AAC encoder could not be found. AAC encoding support will be disabled. Nie można odnaleźć kodera Nero AAC. Kompresja formatu AAC zostanie wyłączona. - + Please put 'neroAacEnc.exe', 'neroAacDec.exe' and 'neroAacTag.exe' into the LameXP directory! Prosze skopiować 'neroAacEnc.exe', 'neroAacDec.exe', oraz 'neroAacTag.exe' do folderu LameXP! - + Your LameXP directory is located here: Folder aplikacji LameXP znajduje się tutaj: - + You can download the Nero AAC encoder for free from the official Nero website at: Możesz pobrać koder Nero AAC za darmo z oficjalnej strony Nero: - + AAC Support Disabled Wsparcie dla AAC wyłączone - - - + + + LameXP LameXP - + You must add at least one file to the list before proceeding! Powinienieś dodać przynajmniej jeden plik do listy aby zacząć działać! - + Not Found Nie znaleziono - + Your currently selected TEMP folder does not exist anymore: Wybrany przez Ciebie folder tymczasowy TEMP już nie istnieje: - + Restore Default Przywróć domyślne - + Cancel Anuluj - + Low Diskspace Warning Ostrzeżenie o małej ilości miejsca na dysku - + There are less than %1 GB of free diskspace available on your system's TEMP folder. Jest mniej niż %1 GB dostępnego miejsca w systemowym folderze TEMP. - + DEMO VERSION WERSJA PRÓBNA - + (Hint: Please ignore the name of the downloaded ZIP file and check the included 'changelog.txt' instead!) (Podpowiedź: Zignoruj nazwę pobranego pliku ZIP, w zamian sprawdż załączony w archiwum plik "changelog.txt"!) - + It is highly recommend to free up more diskspace before proceeding with the encode! Jest wysoce zalecane zwolnić miejsce na dysku zanim zaczniesz kompresję! - + Your TEMP folder is located at: Twój folder TEMP znajduję się: - + Abort Encoding Process Przerwij proces kompresji - + Clean Disk Now Wykonaj oczyszczanie dysku - - + + Ignore Ignoruj - + %n file(s) have been rejected, because read access was not granted! %n plik został odrzucony, ponieważ nie dano praw odczytu! @@ -2087,7 +2038,7 @@ - + %n file(s) have been rejected, because they are dummy CDDA files! %n plik został odrzucony, ponieważ jest to plik CDDA! @@ -2096,7 +2047,7 @@ - + %n file(s) have been rejected, because they appear to be Cue Sheet images! %n plik został odrzucony, ponieważ jest to plik Cue! @@ -2105,7 +2056,7 @@ - + %n file(s) have been rejected, because the file format could not be recognized! %n plik został odrzucony, ponieważ jego format nie został rozpoznany! @@ -2114,473 +2065,473 @@ - + Initializing directory outline, please be patient... Ładowanie zestawu folderów, prosze czekać... - + Refresh Directory Outline Odśwież foldery - + Go To Parent Directory Idź do głównego folderu - + Export Meta Tags to CSV File Eksportuj Tagi do pliku CVS - + Import Meta Tags from CSV File Importuj Tagi do pliku CVS - + Skipping update check this time, please be patient... Pomijanie sprawdzania aktualizacji, prosze czekać... - + Low Diskspace Mało miejsca na dysku - + You are proceeding with low diskspace. Problems might occur! Chcesz zacząć działać z małą ilością miejsca na dysku. Mogą wystąpić problemy! - + Sorry, an unsupported encoder has been chosen! Został wybrany koder, który nie jest wspierany! - + Cannot write to the selected output directory. Nie można zapisać do wybranej lokalizacji. - + Please choose a different directory! Prosze wybrać inną lokalizację! - + Load Translation Zaladuj plik językowy - + Translation Files Pliki językowe - + Do you really want to disable the update reminder? Czy na pewno chcesz wyłączyć przypominanie o aktualizacjach? - - - - - - - + + + + + + + Yes Tak - - - - - - - + + + + + + + No Nie - + The update reminder has been disabled. Przypominanie o aktualizacjach wyłączone. - + Please remember to check for updates at regular intervals! Prosze pamiętać o okresowym sprawdzaniu aktualizacji! - + The update reminder has been re-enabled. Przypominanie o aktualizacjach ponownie włączone. - + Do you really want to disable all sound effects? Czy na pewno chcesz wyłączyć wszystkie dźwiękowe? - - + + Sound Effects Efekty dźwiękowe - + All sound effects have been disabled. Wszystkie efekty dźwiękowe zostały wyłączone. - + The sound effects have been re-enabled. Efekty dźwiękowe zostały ponownie włączone. - - - + + + Nero AAC Notifications Powiadomienia Nero AAC - + Do you really want to disable all Nero AAC Encoder notifications? Czy na pewno chcesz wyłączyć wszystkie powiadomienia Nero AAC? - + All Nero AAC Encoder notifications have been disabled. Wszystkie powiadomienia kodera Nero AAC zostały wyłączone. - + The Nero AAC Encoder notifications have been re-enabled. Powiadomienia Nero AAC zostały ponownie włączone. - - - + + + Slow Startup Notifications Powiadomienia o powolnym starcie - + Do you really want to disable the slow startup notifications? Czy na pewno chcesz wyłączyć powiadomienia o powolnym starcie? - + The slow startup notifications have been disabled. Powiadomienia o powolnym starcie zostały wyłączone. - + The slow startup notifications have been re-enabled. Powiadomienia o powolnym starcie zostały ponownie włączone. - - + + Open Cue Sheet Otwórz plik Cue Sheet - - + + Cue Sheet File Plik Cue Sheet - - - + + + Beta Updates Aktualizacje Beta - + Do you really want LameXP to check for Beta (pre-release) updates? Czy na pewno chcesz aby LameXP sprawdzał aktualizacje Beta? - + LameXP will check for Beta (pre-release) updates from now on. Od teraz LameXP będzie sprawdzał aktualizacje Beta. - + Check Now Sprawdź teraz - + LameXP will <i>not</i> check for Beta (pre-release) updates from now on. LameXP od teraz <i>nie będzie</i> sprawdzał aktualizacji Beta. - - - + + + Hibernate Computer Hibernuj komputer - + Do you really want the computer to be hibernated on shutdown? Czy na pewno chcesz aby komputer był hibernowany zamiast zamykany? - + LameXP will hibernate the computer on shutdown from now on. Od teraz LameXP będzie hibernował komputer zamiast zamykać. - + LameXP will <i>not</i> hibernate the computer on shutdown from now on. LameXP od teraz <i>nie</i> będzie hibernował komputera tylko zamykał. - - - + + + Shell Integration Integracja z systemem - + Do you really want to disable the LameXP shell integration? Czy na pewno chcesz wyłączyć integrację LameXP z systemem? - + The LameXP shell integration has been disabled. Integracja LameXP z systemem zostałą wyłączona. - + The LameXP shell integration has been re-enabled. Integracja LameXP z systemem została ponownie włączona. - - + + Add file(s) Dodaj plik(i) - - + + Add Folder Dodaj folder - + Loading dropped files or folders, please wait... Ładowanie upuszczonych plików lub folderów, prosze czekać... - - + + Save CSV file Zapisz plik CSV - - - - + + + + CSV File Plik CSV - - - - + + + + CSV Export Eksportowanie CSV - + Sorry, there are no meta tags that can be exported! Nie ma żadnych tagów, które można eksportować! - + Sorry, failed to open CSV file for writing! Nie można otworzyć pliku CSV aby go zapisać! - + Sorry, failed to write to the CSV file! Nie można zapisać do pliku CSV! - + The CSV files was created successfully! Pliki CSV utworzone pomyślnie! - - + + Open CSV file Otwórz plik CSV - + Sorry, failed to open CSV file for reading! Nie można otworzyć pliku CSV aby go wczytać! - - - - - + + + + + CSV Import Importowanie CSV - + Sorry, failed to read from the CSV file! Próba odczytania pliku CSV zakończona niepowodzeniem! - + Sorry, the CSV file does not contain any known fields! Plik CSV nie zawiera żadnych znanych pól! - + CSV file is incomplete. Not all files were updated! Plik CSV nie jest kompletny. Nie wszystkie pliki zostały zaktualizowane! - + The CSV files was imported successfully! Pliki CSV zaimportowano pomyślnie! - - + + New Folder Nowy folder - + Enter the name of the new folder: Wprowadź nazwę nowego folderu: - + Failed to create folder Utworzenie folderu zakończone niepowodzeniem - + The new folder could not be created: Nowy folder nie mógł zostać stworzony: - + Drive is read-only or insufficient access rights! Dysk tylko do odczytu lub brak praw dostępu! - - + + Quality Level %1 Poziom jakości %1 - + Compression %1 Kompresja %1 - + Uncompressed Nieskompresowany - + Best Quality (Slow) Najlepsza jakość (Powoli) - + Acceptable Quality (Fast) Akceptowalna jakość (Szybko) - + High Quality (Recommended) Wysoka jakość (Zalecane) - + Current Encoder: %1 Obecny koder: %1 - + Poor Quality (Very Fast) Najniższa jakość (Bardzo szybko) - + File name without extension Nazwa pliku bez rozszerzenia - + Track number with leading zero Numer ścieżki z zerem na początku - + Track title Nazwa ścieżki - + Artist name Nazwa Artysty - + Album name Nazwa Albumu - + Year with (at least) four digits Rok z (przynajmniej) czterema cyframi - + Comment Komentarz - + Characters forbidden in file names: Zabronione znaki w nazwach plików: - + Rename Macros Zmień nazwy makr - + %n Instance(s) %n wątek @@ -2589,37 +2540,37 @@ - + Cannot write to the selected directory. Please choose another directory! Nie można zapisać do wybranej lokalizacji. Prosze wybierz inną lokalizację! - + Overwrite Mode Tryb nadpisywania - + Warning: This mode may overwrite existing files with no way to revert! Ostrzeżenie: W tym trybie istniejące pliki będą nadpisywane bez możliwości ich odzyskania! - + Continue Kontynuuj - + Revert Cofnij - + Already Running Już działa - + LameXP is already running, please use the running instance! LameXP już działa, przejdź do działającego procesu! @@ -3102,52 +3053,52 @@ Powrót - + Show details for selected job Pokaż szczegóły wybranego zadania - + Browse Output File Location Wybierz lokalizację dla plików wyjściowych - + Filter Log Items Filtruj długie pozycje - + Show Running Only Pokaż tylko trwające - + Show Succeeded Only Pokaż tylko zakończone pomyślnie - + Show Failed Only Pokaż tylko zakończone niepowodzeniem - + Show Skipped Only Pokaż tylko pominięte - + Show All Items Pokaż wszystkie pozycje - + Encoding Files Kompresowanie plików - + Your files are being encoded, please be patient... Twoje pliki są właśnie kompresowane, prosze być cierpliwy... diff --git a/etc/Translation/LameXP_RU.ts b/etc/Translation/LameXP_RU.ts index ec6f32ae..4e617cba 100644 --- a/etc/Translation/LameXP_RU.ts +++ b/etc/Translation/LameXP_RU.ts @@ -145,19 +145,19 @@ SoX - Sound eXchange - + GnuPG - The GNU Privacy Guard - + GNU Wget - Software for retrieving files using HTTP - + 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. - LameXP защищена авторским правом LoRd_MuldeR. Авторское право на программное обеспечение третьих сторон, используемое в LameXP, принадлежит индивидуальным авторам. + Программа LameXP защищена авторским правом LoRd_MuldeR. Авторское право на программное обеспечение третьих сторон, используемое в LameXP, принадлежит индивидуальным авторам. n/a @@ -165,67 +165,67 @@ Note: This demo (pre-release) version of LameXP will expire at %1. Still %2 days left. - Внимание: эта демо (пре-релиз) версия LameXP прекратит работу %1. Осталось %2 дней. + Внимание: эта демо (пре-релиз) версия LameXP прекратит работу %1. Осталось %2 дней. Aften - A/52 audio encoder - + Copyright (c) 2011 LoRd_MuldeR <mulder2@gmx.de>. Some rights reserved. - + By Jory Stone <jcsston@toughguy.net> and LoRd_MuldeR <mulder2@gmx.de>. - + wma2wav - Dump WMA files to Wave Audio - + avs2wav - Avisynth to Wave Audio converter - + dcaenc - + Copyright (c) 2008-2011 Alexander E. Patrakov. Distributed under the LGPL. - + Information - + Информация License - + Лицензия Programmers: - + Программисты: Project Leader - + Руководитель проекта Opus Audio Codec - + Totally open, royalty-free, highly versatile audio codec. - + Silk Icons - Over 700 icons in PNG format - + Silk Icons - Более 700 значков в формате PNG By Mark James, released under the Creative Commons 'by' License. - + Создал Mark James, распространяется по лицензии Creative Commons. Show License Text @@ -233,70 +233,30 @@ About Qt... - О Qt + О Qt... Special thanks to: - - - - Doom9's Forum - - - - Gleitz | German Doom9 - - - - Hydrogenaudio Forums - - - - RareWares - - - - GitHub - - - - SourceForge - - - - Qt Developer Network - - - - Marius Hudea - + Отдельная благодарность: UPX - The Ultimate Packer for eXecutables - + refalac - Win32 command line ALAC encoder/decoder - + The ALAC reference implementation by Apple is available under the Apache license. - + Valdec from AC3Filter Tools - AC3/DTS Decoder - + - Codecs.com - - - - BerliOS Developer - - - - CodePlex + Official Mirrors: @@ -340,171 +300,171 @@ Encoder - Кодер + Кодер CueImportDialog Import Cue Sheet - Импорт CUE плэйлиста + Импорт CUE плэйлиста The following Cue Sheet will be split and imported into LameXP. - Следующий CUE плэйлист будет импортирован в LameXP. + Следующий CUE плэйлист будет импортирован в LameXP. Loading Cue Sheet file, please be patient... - Загружаю CUE плэйлист, пожалуйста, подождите... + Загружаю CUE плэйлист, пожалуйста, подождите... An unknown error has occured! - Неизвестная ошибка случилась! + Произошла неизвестная ошибка! Failed to load the Cue Sheet file: - Не могу загрузить CUE плэйлист: + Не могу загрузить CUE плэйлист: Cue Sheet Error - Ошибка CUE плэйлиста + Ошибка CUE плэйлиста The specified file could not be found! - Выбранный файл неможет быть найден! + Выбранный файл не может быть найден! The file could not be opened for reading. Make sure you have the required rights! - Не могу открыть файл для чтения. Пожалуйста проверьте что у вас есть доступ к файлу! + Не могу открыть файл для чтения. Пожалуйста проверьте что у вас есть доступ к файлу! The provided file does not look like a valid Cue Sheet disc image file! - Выбранный файл не похож на правильный CUE плэйлист! + Выбранный файл не похож на правильный CUE плэйлист! Could not find any supported audio track in the Cue Sheet image! пыщь пыщь - Не могу найти аудио файлы, которые LameXP поддерживает! + Не могу найти аудио файлы, которые поддерживает LameXP! Note that LameXP can not handle "binary" Cue Sheet images. - Заметьте, что LameXP не поддерживает бинарныйе CUE плэйлисты. + Заметьте, что LameXP не поддерживает бинарныйе CUE плэйлисты. The selected Cue Sheet file contains inconsistent information. Take care! омг сложные фразы - Выбранный CUE плэйлист содержит некорректную информацию. Будьте осторожны! + Выбранный CUE плэйлист содержит некорректную информацию. Будьте осторожны! Choose Output Directory - Выберите выходную директорию + Выберите выходную директорию LameXP - LameXP + LameXP Error: The selected output directory is not writable! - Ошибка: выбранная попка недостпна для записи! + Ошибка: выбранная папка недостпна для записи! Low Diskspace Warning - Предупреждение: Мало свободного места на диске + Предупреждение: Мало свободного места на диске There are less than %1 GB of free diskspace available in the selected output directory. - В выбранный папке менее %1 Гб свободного места. + В выбранной папке менее %1 Гб свободного места. It is highly recommend to free up more diskspace before proceeding with the import! - Очень рекомендуется освободить больше места, перед началом операции! + Настоятельно рекомендуется освободить больше места, перед началом операции! Analyzing file(s), please wait... - Анализирую файл(ы), пожалуйста подождите... + Анализирую файл(ы), пожалуйста подождите... Splitting file(s), please wait... - Разделяю файл(ы), пожалуйста подождите... + Разделяю файл(ы), пожалуйста подождите... Error: The selected output directory could not be created! - Ошибка: Не могу создать директорию! + Ошибка: Не могу создать выходную папку! An unexpected error has occured while splitting the Cue Sheet! - Непредвиденная ошибка случилась при разделении CUE плэйлиста! + Произошла непредвиденная ошибка при разделении CUE плэйлиста! Cue Sheet Completed - Операция завершена + Операция завершена Analysis Failed - Ошибка при анализе + Ошибка при анализе Warning: The format of some of the input files could not be determined! - Предупреждение: формат некоторых файлов неопознан! + Предупреждение: формат некоторых файлов неопознан! Continue Anyway - Всёравно продолжить + Всё равно продолжить Abort - Отмена + Отмена (System Default) - + Select ANSI Codepage for Cue Sheet file: - Кодировка ANSI для файла CUE: + Кодировка ANSI для файла CUE: OK - ОК + ОК Cancel - Отмена + Отмена Unknown Artist - Неизвестный Артист + Неизвестный Артист Unknown Album - Неизвестный Альбом + Неизвестный Альбом New Folder - Новая папка + Новая папка Process was aborted by the user after %n track(s)! - - - - + + Процесс прерван пользователем после %n трэка! + Процесс прерван пользователем после %n трэков! + Процесс прерван пользователем после %n трэков! Imported %n track(s) from the Cue Sheet. - - - - + + Импортирован %n трэк из CUE-плэйлиста. + Импортировано %n трэка из CUE-плэйлиста. + Импортировано %n трэков из CUE-плэйлиста. Skipped %n track(s). - - - - + + Пропущен %n трэк. + Пропущены %n трэка. + Пропущено %n трэков. @@ -512,39 +472,39 @@ CueSheetImport Import Cue Sheet - Импортировать + Импортировать Output Directory - Выходная папка + Выходная папка Browse... - Выбрать... + Выбрать... Discard - Отменить + Отменить Existing Source File - Файл найден + Файл найден Missing Source File (Tracks will be skipped!) - Файл не найден (будет пропущен!) + Файл не найден (будет пропущен!) Load a different Cue Sheet - Загрузить другой CUE плэйлист + Загрузить другой CUE плэйлист Artist: - Исполнитель: + Исполнитель: Album: - Альбом: + Альбом: @@ -552,35 +512,35 @@ No. беда беда - №. + №. File / Track - Файл / Трэк + Файл / Трэк Index - Индекс + Индекс File %1 - Файл %1 + Файл %1 Track %1 - Трэк %1 + Трэк %1 Unknown Artist - Неизвестный Артист + Неизвестный Артист Unknown Title - Неизвестное Название + Неизвестное Название Duration - Длителность + Длителность @@ -636,19 +596,19 @@ (System Default) - + Select ANSI Codepage for CSV file: - Кодировка ANSI для файла CSV: + Кодировка ANSI для файла CSV: OK - ОК + ОК Cancel - Отмена + Отмена @@ -667,7 +627,7 @@ Copy to Clipboard - Копировать в буфер обмена + Копировать в буфер обмена Log File @@ -686,11 +646,11 @@ Source Files - Исходные Файлы + Исходные Файлы Add File(s) - Добавить файлы + Добавить файл(ы) Remove @@ -706,39 +666,39 @@ Output Directory - Выходная папка + Выходная папка Goto Home Folder - Домашняя папка + Домашняя папка Goto Music Folder - Моя музыка + Моя музыка Goto Desktop Folder - Рабочий стол + Рабочий стол Make New Folder - Новая папка + Новая папка Save output files to the same location where the input file is located - Сохранять в той же папке где исходные файлы + Сохранять в той же папке где исходные файлы Prepend relative source file path to output file - Сохранять структуру каталогов + Сохранять структуру каталогов Meta Data - Метаданные + Метаданные Meta Information - Метаинформация + Метаинформация Edit @@ -746,367 +706,367 @@ Note: Meta information you enter here will <u>supersede</u> data from the source! - Примечание: метаинформация введённая здесь <u>заменит</u> информацию из источника! + Примечание: метаинформация введённая здесь <u>заменит</u> информацию из источника! Reset - Сбросить + Сбросить Options - Параметры + Параметры Automatically generate playlist file (.m3u) - Автоматически генерировать файл плэйлиста (.M3U) + Автоматически генерировать файл плэйлиста (.M3U) Write meta information to encoded files - Писать метаинформацию в выходные файлы + Писать метаинформацию в выходные файлы Compression - Сжатие + Сжатие Encoder / Format - Кодер / Формат + Кодер / Формат FLAC - + Rate Control Method - Битрейт + Битрейт Quality-based (VBR) - Переменный (VBR) + Переменный (VBR) Average Bitrate (ABR) - Средний (ABR) + Средний (ABR) Constant Bitrate (CBR) - Постоянный (CBR) + Постоянный (CBR) Quality / Bitrate - Качество / Битрейт + Качество / Битрейт Minimum - Минимум + Минимум Maximum - Максимум + Максимум Advanced Options - Расширенные опции + Расширенные опции Bitrate Management (LAME and OggEnc2) - Управление битрейтом (Lame и OggEnc2) + Управление битрейтом (Lame и OggEnc2) Enable Bitrate Management - Управление битрейтом + Управление битрейтом Minimum (kbps): - Мин. (kbps): + Мин. (kbps): Maximum (kbps): - Макс. (kbps): + Макс. (kbps): LAME Algorithm Quality - Качество алгоритма Lame + Качество алгоритма Lame Faster Processing - Быстрее + Быстрее Better quality - Качественнее + Качественнее Channel Mode / Sampling Rate - Количество каналов / Сэмплинг + Количество каналов / Сэмплинг Auto Select (Default) - Авто (по умолчанию) + Авто (по умолчанию) Joint Stereo - + Forced Joint Stereo - + Simple - + Dual Mono - + Mono - + MP3 Channel Mode: - Тип каналов MP3: + Тип каналов MP3: Sampling Rate (Hz): - Частота сэмплинга (Hz): + Частота сэмплинга (Hz): 16.000 - + 22.050 - + 24.000 - + 32.000 - + 44.100 - + 48.000 - + Enable 2-Pass Processing (ABR Mode) - 2-х проходное кодирование (режим ABR) + 2-х проходное кодирование (режим ABR) Select AAC Profile: - Профиль AAC: + Профиль AAC: Auto Select (Recommended) - Авто (Рекомендуется) + Авто (Рекомендуется) Enforce LC-AAC - LC-AAC + LC-AAC Enforce HE-AAC (AAC + SBR) - HE-AAC (AAC + SBR) + HE-AAC (AAC + SBR) Enforce HE-AAC v2 (AAC + SBR + PS) - HE-AAC v2 (AAC + SBR + PS) + HE-AAC v2 (AAC + SBR + PS) Volume Normalization - Нормализация громкости + Нормализация громкости Enable Normalization Filter - Фильтр нормализации + Фильтр нормализации Peak Volume (dB): - Пиковая громкость (dB): + Пиковая громкость (dB): Tone Adjustment - Корректировка тона + Корректировка тона Adjust Treble (dB): - Высокие частоты (dB): + Высокие частоты (dB): Adjust Bass (dB): - Низкие частоты (dB): + Низкие частоты (dB): Custom Encoder Parameters - Пользовательские параметры + Пользовательские параметры OggEnc2: - + FLAC: - + Warning: Custom parameters won't be checked at all. Use them at your own risk !!! - Предупреждение: Пользовательские параметры не будут проверены вообще. Используйте их на ваш собственный риск!!! + Предупреждение: Пользовательские параметры не будут проверены вообще. Используйте их на ваш собственный риск!!! Reset Advanced Options - Сбросить расширенные опции + Сбросить расширенные опции Encode Now! - Кодировать сейчас! + Кодировать сейчас! About... - О программе... + О программе... Exit Program - Выйти из программы + Выйти из программы File - Файл + Файл ? - ? + ? View - Вид + Вид Style - Стиль + Стиль Language - Язык + Язык Tools - Инструменты + Инструменты Configuration - Конфигурация + Конфигурация Quit - Выход + Выход Open File(s)... - Открыть файлы... + Открыть файл(ы)... Visit Official Web-Site - Посетить официальный сайт + Посетить официальный сайт Check for Updates - Проверить обновления + Проверить обновления Open Folder... - Открыть папку... + Открыть папку... Clear All - Очистить всё + Очистить всё Plastique - + Cleanlooks - + Windows Vista ("Aero") - + Windows Classic - + Windows XP ("Luna") - + Disable Update Reminder - Отключить напоминание об обновлениях + Отключить напоминание об обновлениях Disable Sound Effects - Отключить звуковые эффекты + Отключить звуковые эффекты Install WMA Decoder - Установить WMA декодер + Установить WMA декодер Disable Nero AAC Notifications - Отключить сообщения Nero AAC + Отключить сообщения Nero AAC Show DropBox - Показать DropBox + Показать DropBox From File... - Из файла... + Из файла... Encode! - Кодировать! + Кодировать! Disable Shell Integration - Отключить интеграцию в контекстное меню + Отключить интеграцию в контекстное меню Open Folder Recursively... - Открытие папок рекурсивно... + Открытие папок рекурсивно... Adding file(s), please wait... - Добавляю файлы, пожалуйста ожидайте... + Добавляю файлы, пожалуйста, подождите... Access Denied - Доступ запрещён + Доступ запрещён This usually means the file is locked by another process. - Это обычно означает, что файл блокируется другим процессом. + Это обычно означает, что файл блокируется другим процессом. Files Rejected - Отклоненные файлы + Отклоненные файлы This usually means the file is damaged or the file format is not supported. - Это обычно означает, что файл поврежден, или формат файла не поддерживается. + Это обычно означает, что файл поврежден, или формат файла не поддерживается. Scanning folder(s) for files, please wait... - Поиск файлов, пожалуйста, подождите... + Поиск файлов, пожалуйста, подождите... Cancel @@ -1114,112 +1074,112 @@ Postpone - Отложить + Отложить You can drop in audio files here! - Можете перетащить аудио файлы сюда! + Можете перетащить аудио файлы сюда! Open File in External Application - Открыть файл в другой программе + Открыть файл в другой программе Browse File Location - Показать папку файла + Показать папку файла Browse Selected Folder - Показать выделенную папку + Показать выделенную папку License Declined - Лицензия отклонена + Лицензия отклонена You have declined the license. Consequently the application will exit now! - Вы отклонили лицензию. Следовательно приложение отключится сейчас! + Вы отклонили лицензию. Следовательно приложение сейчас закроется! Goodbye! - Пока! + Пока! LameXP - Expired - LameXP - пробный период окончен + LameXP - пробный период истёк This demo (pre-release) version of LameXP has expired at %1. - Этот демонстрационный пример (предварительный выпуск) версии LameXP истек в %1. + Эта демонстрационная версия (предварительный выпуск) LameXP истекла в %1. LameXP is free software and release versions won't expire. пределать - LameXP является бесплатным программным обеспечением, и релизные версии не будут истекать. + LameXP это бесплатное ПО, и релизные версии не ограничены по сроку использования. Exit Program - Выйти из программы + Выйти из программы Urgent Update - Срочное Обновление + Срочное Обновление Your version of LameXP is more than a year old. Time for an update! - Вашей версии LameXP больше года. Время для обновления! + Вашей версии LameXP больше года. Время для обновления! Update Reminder - Напоминание о обновлении + Напоминание о обновлении Your last update check was more than 14 days ago. Check for updates now? - Ваша проверка последнего обновления была больше чем 14 дней назад. Проверьте на обновления сейчас? + Проверка обновлений была больше чем 14 дней назад. Проверить на обновления сейчас? Your did not check for LameXP updates yet. Check for updates now? - Вы еще не проверяли обновления LameXP. Проверить обновления сейчас? + Вы еще не проверяли обновления LameXP. Проверить обновления сейчас? LameXP detected that your version of the Nero AAC encoder is outdated! - LameXP обнаружил, что Ваша версия кодера Nero AAC является устаревшей! + LameXP обнаружил, что Ваша версия кодера Nero AAC является устаревшей! The current version available is %1 (or later), but you still have version %2 installed. - Текущая версия %1 (или новее), но Вам все еще используется версия %2. + Текущая версия %1 (или новее), но Вами все еще используется версия %2. n/a - н/д + н/д You can download the latest version of the Nero AAC encoder from the Nero website at: - Можно загрузить самую последнюю версию кодера Nero AAC с веб-сайта Nero здесь: + Можно загрузить самую последнюю версию кодера Nero AAC с веб-сайта Nero здесь: AAC Encoder Outdated - Кодер AAC устарел + Кодер AAC устарел The Nero AAC encoder could not be found. AAC encoding support will be disabled. - Кодер Nero AAC не найден. Поддержка кодирования AAC будет отключена. + Кодер Nero AAC не найден. Поддержка кодирования AAC будет отключена. Please put 'neroAacEnc.exe', 'neroAacDec.exe' and 'neroAacTag.exe' into the LameXP directory! - Пожалуйста, поместите 'neroAacEnc.exe', 'neroAacDec.exe' и 'neroAacTag.exe' в каталог LameXP! + Пожалуйста, поместите 'neroAacEnc.exe', 'neroAacDec.exe' и 'neroAacTag.exe' в папку LameXP! Your LameXP directory is located here: - Ваш каталог LameXP располагается здесь: + Ваша папка LameXP располагается здесь: You can download the Nero AAC encoder for free from the official Nero website at: - Можно загрузить кодер Nero AAC бесплатно с официального веб-сайта Nero здесь: + Можно бесплатно загрузить кодер Nero AAC с официального веб-сайта Nero здесь: AAC Support Disabled - Поддержка AAC отключена + Поддержка AAC отключена LameXP @@ -1227,649 +1187,649 @@ You must add at least one file to the list before proceeding! - Следует добавить по крайней мере один файл к списку перед продолжением! + Следует добавить по крайней мере один файл к списку перед продолжением! Low Diskspace Warning - Предупреждение: Мало свободного места на диске + Предупреждение: Мало свободного места на диске There are less than %1 GB of free diskspace available on your system's TEMP folder. улучшить - Доступно меньше чем %1 Гбайт свободного пространства на диске. + Во временной папке доступно меньше %1 Гбайт свободного дискового пространства. It is highly recommend to free up more diskspace before proceeding with the encode! - Настоятельно рекомендуется освободить больше дискового пространства перед продолжением кодирования! + Настоятельно рекомендуется освободить больше дискового пространства перед продолжением! Your TEMP folder is located at: - Ваш ВРЕМЕННАЯ папка располагается в: + Ваша ВРЕМЕННАЯ папка располагается в: Abort Encoding Process - Прервать процесс кодирования + Прервать процесс кодирования Clean Disk Now - Очистить диск сейчас + Очистить диск сейчас Ignore - Игнорировать + Игнорировать Low Diskspace - Свободное место на диске заканчивается + Свободное место на диске заканчивается You are proceeding with low diskspace. Problems might occur! - Вы решили продолжить в условиях недостаточного свободного места на диске. Могут возникнуть проблемы! + Вы решили продолжить в условиях недостаточного свободного места на диске. Могут быть проблемы! Sorry, an unsupported encoder has been chosen! - Извините, неподдерживаемый кодер был выбран! + Извините, был выбран неподдерживаемый кодер! Cannot write to the selected output directory. - Не могу записать в выбранню папку. + Не могу записать в выбранню папку. Please choose a different directory! - Выберите другую директорию! + Выберите другую папку! Add file(s) - Добавить файлы + Добавить файл(ы) Load Translation - Загрузить первод + Загрузить перевод Translation Files - Файлы локализаций + Файлы локализаций New Folder - Новая папка + Новая папка Enter the name of the new folder: - Введите имя новой папки: + Введите имя новой папки: Failed to create folder - Не могу создать папку + Не могу создать папку The new folder could not be created: - Не могу создать новую папку: + Не могу создать новую папку: Drive is read-only or insufficient access rights! - Недостаточно прав для записи на диск! + Диск только для чтения или недостаточно прав для записи! Already Running - Уже запущено + Уже запущено LameXP is already running, please use the running instance! - LameXP уже запущена, пожалуйста, используйте запущенную копию программы! + LameXP уже запущена, пожалуйста, используйте запущенную копию программы! Quality Level %1 - Уровень качества %1 + Уровень качества %1 Compression %1 - Сжатие %1 + Сжатие %1 Uncompressed - Несжатый + Несжатый High Quality (Recommended) - Высокое качество (рекомендуется) + Высокое качество (рекомендуется) Poor Quality (Very Fast) - Плохое качество (Очень быстро) + Плохое качество (Очень быстро) Do you really want to disable the update reminder? - Вы действительно хотите отключить напоминание об обновлениях? + Вы действительно хотите отключить напоминание об обновлениях? Yes - Да + Да No - Нет + Нет The update reminder has been disabled. - Напоминаие об обновлениях отключено. + Напоминание об обновлениях отключено. Please remember to check for updates at regular intervals! - Не забыйвайте периодически проверять обновления! + Не забыйвайте периодически проверять обновления! The update reminder has been re-enabled. - Напоминаие об обновлениях включено. + Напоминание об обновлениях включено. Do you really want to disable all sound effects? - Вы действительно хотите отключить все звуковые эффекты? + Вы действительно хотите отключить все звуковые эффекты? Sound Effects - Звуковые эффекты + Звуковые эффекты All sound effects have been disabled. - Все звуковые эффекты отключены. + Все звуковые эффекты отключены. The sound effects have been re-enabled. - Звуковые эффекты включены. + Звуковые эффекты включены. Nero AAC Notifications - Напоминания о Nero AAC + Напоминания о Nero AAC Do you really want to disable all Nero AAC Encoder notifications? - Вы действительно хотите отключить все уведомления о кодере Nero AAC? + Вы действительно хотите отключить все уведомления о кодере Nero AAC? All Nero AAC Encoder notifications have been disabled. - Все уведомления о кодере Nero AAC были отключены. + Все уведомления о кодере Nero AAC были отключены. The Nero AAC Encoder notifications have been re-enabled. - Все уведомления о кодере Nero AAC были включены. + Все уведомления о кодере Nero AAC были включены. Shell Integration - Интеграция в контекстное меню + Интеграция в контекстное меню Do you really want to disable the LameXP shell integration? - Вы действительно хотите отключить интегрирование LameXP в оболочку Windows? + Вы действительно хотите отключить интеграцию LameXP в оболочку Windows? The LameXP shell integration has been disabled. - Интегрирование в контекстное меню отключено. + Интеграция в контекстное меню отключена. The LameXP shell integration has been re-enabled. - Интегрирование в контекстное меню включено. + Интеграция в контекстное меню включена. Multi-Threading - Многопоточность + Многопоточность Choose the number of parallel instances based on the number of CPU cores (Recommended) - Определять число параллельных потоков по числу ядер процессора (Рекомендуется) + Определять число параллельных потоков по числу ядер процессора (Рекомендуется) Fewer Instances - Меньше потоков + Меньше потоков More Instances - Больше потоков + Больше потоков Temp Directory - Временная папка + Временная папка Browse... - Выбрать... + Выбрать... Store temporary files in your system's default TEMP directory (Recommended) - Хранить временные файлы в системной директории по умолчанию (Рекомендуется) + Хранить временные файлы в системной папке по умолчанию (Рекомендуется) Not Found - Не найдено + Не найдено Your currently selected TEMP folder does not exist anymore: - Выбранная директория для хранения временных файлов больше не существует: + Выбранная папка для хранения временных файлов больше не существует: Restore Default - Востановить умолчания + Востановить умолчания Add Folder - Добавить папку + Добавить папку Cannot write to the selected directory. Please choose another directory! - Директория недоступна для записи. Пожалуйса, выберите другую директорию! + Папка недоступна для записи. Пожалуйста, выберите другую папку! We recommend using %1 for that purpose. - Рекомендуем исползовать %1 для этих целей. + Рекомендуем использовать %1 для этих целей. Sorry, LameXP cannot extract audio tracks from an Audio-CD at present. - Извините, LameXP неможет извлечь аудио из Audio-CD сейчас. + Извините, LameXP не может извлечь аудио из Audio-CD сейчас. Frequently Asked Questions - Часто Задаваемые Вопросы + Часто Задаваемые Вопросы Changelog - Список изменений + Список изменений Translator's Guide - Руководство перевдчика + Руководство перевдчика Help && Support - Помощиь и поддержка + Помощь и поддержка Check for Beta Updates - Поиск БЕТА версий + Поиск БЕТА версий Beta Updates - БЕТА обновления + БЕТА обновления Do you really want LameXP to check for Beta (pre-release) updates? - Вы действительно хотите проверить наличие БЕТА (пред-релизных) обновлений? + Вы действительно хотите проверить наличие БЕТА (пред-релизных) обновлений? LameXP will check for Beta (pre-release) updates from now on. - LameXP бует проверять наличие БЕТА (пред-релизных) обновлений. + LameXP будет проверять наличие БЕТА (пред-релизных) обновлений. Check Now - Проверить сейчас + Проверить сейчас Discard - Отменить + Отменить LameXP will <i>not</i> check for Beta (pre-release) updates from now on. - LameXP не бует <i>проверять</i> наличие БЕТА (пред-релизных) обновлений. + LameXP не будет <i>проверять</i> наличие БЕТА (пред-релизных) обновлений. Lame MP3: - + Aften A/52: - + Aften A/52 Options - Параметры кодера Aften A/52 + Параметры кодера Aften A/52 Film Light - Фильм Light + Фильм Light Film Standard - Фильм Standard + Фильм Standard Music Light - Музыка Light + Музыка Light Music Standard - Музыка Standard + Музыка Standard Speech - Речь + Речь None (Default) - Нет (по умолчанию) + Нет (по умолчанию) Auto Select - Авто + Авто 1+1 (Ch1,Ch2) - + 1/0 (C) - + 2/0 (L,R) - + 3/0 (L,R,C) - + 2/1 (L,R,S) - + 3/1 (L,R,C,S) - + 2/2 (L,R,SL,SR) - + 3/2 (L,R,C,SL,SR) - + Audio Coding Mode: - Режим кодирования: + Режим кодирования: Dynamic Range Compression: - Сжатие динамического диапазона: + Сжатие динамического диапазона: Fast Bit Allocation (Less Accurate) - Быстрое распределение битрейта + Быстрое распределение битрейта Exponent Search Size: - Размер области поиска: + Размер области поиска: Don't Show Again - Больше не показывать + Больше не показывать Import Cue Sheet - Импортировать CUE плэйлист + Импортировать CUE плэйлист Open Cue Sheet - Открыть CUE плэйлист + Открыть CUE плэйлист Cue Sheet File - CUE плэйлист + CUE плэйлист CDDA Files - Файлы CDDA + Файлы CDDA Cue Sheet - CUE плэйлист + CUE плэйлист Please use LameXP's Cue Sheet wizard for importing Cue Sheet files. пиздец бред - Пожалуйста используйте Мастер импорта CUE файлов для импорта CUE файлов. + Пожалуйста, используйте инструмент импорта CUE плэйлистов для добавления CUE файлов. It seems that a bogus anti-virus software is slowing down the startup of LameXP. - По видимому, антивирусное ПО замедляет запуск LameXP. + По видимому, антивирусное ПО замедляет запуск LameXP. Please refer to the %1 document for details and solutions! - Пожалуйста прочтите %1 ! + Пожалуйста прочтите %1 ! Slow Startup - Замедление запуска + Замедление запуска Disable Slow Startup Notifications - Отключить уведомления о медленном запуске + Отключить уведомления о медленном запуске Slow Startup Notifications - Уведомления о медленном запуске + Уведомления о медленном запуске Do you really want to disable the slow startup notifications? - Вы хотите отключить уведомления о медленном запуске? + Вы хотите отключить уведомления о медленном запуске? The slow startup notifications have been disabled. - Уведомления о медленном запуске отключены. + Уведомления о медленном запуске отключены. The slow startup notifications have been re-enabled. - Уведомления о медленном запуске включены. + Уведомления о медленном запуске включены. Rename Output Files - Переименование выходных файлов + Переименование выходных файлов Rename Output Files - Переименовывать файлы + Переименовывать файлы Track number with leading zero - Номер трека + Номер трэка Track title - Название + Название Artist name - Исполнитель + Исполнитель Album name - Альбом + Альбом Year with (at least) four digits - Год (4 цифры) + Год (4 цифры) Comment - Комментарий + Комментарий Rename Macros - Список переменных + Список переменных You can enter custom parameters here! - Вы можете здесь ввести дополнительные параметры! + Вы можете здесь ввести дополнительные параметры! Enter the pattern to rename the output files here! - Введите шаблон переименования выходных файлов! + Введите шаблон переименования выходных файлов! <a href="reset">Reset</a> &nbsp; <a href="#">Show List of Macros</a> - <a href="reset">Сброс</a> &nbsp; <a href="#">Переменные</a> + <a href="reset">Сброс</a> &nbsp; <a href="#">Переменные</a> File name without extension - Файл без расширения + Файл без расширения Rename Pattern: - Шаблон переименования: + Шаблон переименования: Example File Name: - Пример: + Пример: Characters forbidden in file names: - Недопустимые символы: + Недопустимые символы: Enforce Stereo Downmix of Surround (Multi-Channel) Sources - Преобразовывать многоканальный источник в Стерео + Преобразовывать многоканальный источник в Стерео Bookmark Current Output Folder - Запомнить текущую выходную папку + Запомнить текущую выходную папку AAC Encoder-Options - Параметры кодера AAC + Параметры кодера AAC MPEG-4 AAC: - + Warning: Audio quality will be very poor. Please do <u>not</u> complain about audio quality! - Предупреждение: Качество звука будет очень плохим! + Предупреждение: Качество звука будет очень плохим! Warning: Processing speed will be very slow. Please do <u>not</u> complain about processing speed! - Предупреждение: Преобразование будет идти очень медленно! + Предупреждение: Преобразование будет идти очень медленно! Peak Level - + RMS Level - + None - Нет + Нет Equalization Mode: - Режим эквалайзера: + Режим эквалайзера: DEMO VERSION - ДЕМО ВЕРСИЯ + ДЕМО ВЕРСИЯ Hibernate Computer On Shutdown - Гибернация компьютера при выключении + Гибернация компьютера при выключении Hibernate Computer - Гибернация компьютера + Гибернация компьютера Do you really want the computer to be hibernated on shutdown? - Переводить компьютер в состояние гибернации при выключении? + Переводить компьютер в состояние гибернации при выключении? LameXP will hibernate the computer on shutdown from now on. - LameXP переведёт компьютер в состояние гибернации при выключении. + LameXP переведёт компьютер в состояние гибернации при выключении. LameXP will <i>not</i> hibernate the computer on shutdown from now on. - LameXP <i>НЕ</i> переведёт компьютер в состояние гибернации при выключении. + LameXP <i>НЕ</i> переведёт компьютер в состояние гибернации при выключении. (Hint: Please ignore the name of the downloaded ZIP file and check the included 'changelog.txt' instead!) - (Подсказка: Пожалуйста игнорируйте имя загруженного ZIP-файла и проверьте 'changelog.txt') + (Подсказка: Пожалуйста игнорируйте имя загруженного ZIP-файла и проверьте 'changelog.txt') Skipping update check this time, please be patient... - Пропуск проверки обновлений, пожалуйста подождите... + Пропуск проверки обновлений, пожалуйста подождите... Export Meta Tags to CSV File - Экспорт Meta-тегов в файл CSV + Экспорт Meta-тегов в файл CSV Import Meta Tags from CSV File - Испорт Meta-теги из файла CSV + Импорт Meta-тегов из файла CSV Save CSV file - Сохранить файл CSV + Сохранить файл CSV CSV File - CSV файл + CSV файл CSV Export - CSV Экспорт + CSV Экспорт Sorry, there are no meta tags that can be exported! - Meta-теги, которые могут быть экспортированы, отсутствуют! + Meta-теги, которые могут быть экспортированы, отсутствуют! Sorry, failed to open CSV file for writing! - Ошибка открытия файла CSV для записи! + Ошибка открытия файла CSV для записи! Sorry, failed to write to the CSV file! - Ошибка записи файла CSV! + Ошибка записи файла CSV! The CSV files was created successfully! - Файл CSV был успешно создан! + Файл CSV был успешно создан! Open CSV file - Открыть файл CSV + Открыть файл CSV Sorry, failed to open CSV file for reading! - Ошибка открытия файла CSV для чтения! + Ошибка открытия файла CSV для чтения! Sorry, failed to read from the CSV file! - Ошибка при чтении файла CSV! + Ошибка при чтении файла CSV! Sorry, the CSV file does not contain any known fields! - Файл CSV не содержит ни одного известного поля! + Файл CSV не содержит ни одного известного поля! CSV file is incomplete. Not all files were updated! - Файл CSV не полный. Обновлены не все файлы! + Файл CSV не полный. Обновлены не все файлы! The CSV files was imported successfully! - Файлы CSV успешно импортированы! + Файлы CSV успешно импортированы! CSV Import - Импорт CSV + Импорт CSV Edit Output Path - Изменить папку выходных файлов + Изменить папку выходных файлов Show Favorites - Показать избранные папки + Показать избранные папки Initializing directory outline, please be patient... - Чтение структуры каталогов, пожалуйста ждите... + Чтение структуры папок, пожалуйста ждите... Refresh Directory Outline @@ -1877,167 +1837,167 @@ MP3 - + Ogg/Vorbis - + AAC/MP4 - + PCM/Wave - + A/52 - + DCA - + Opus - + Opus Encoder Options - Параметры кодера Opus + Параметры кодера Opus Encoding Complexity: - Сложность кодирования: + Сложность кодирования: Frame Size: - Размер кадра: + Размер кадра: OpusEnc: - + Show Help - Справка + Справка Overwrite Mode - + Режим перезаписи Overwrite Existing File - + Перезаписать Skip File - + Пропустить Keep Both Files (Default) - + Сохранить оба (по умолчанию) If Target File Already Exists: - + Если файл уже существует: Overwrite Mode - + Ркжим перезаписи Warning: This mode may overwrite existing files with no way to revert! - + Предупреждение: В этом режиме безвозвратно будут перезаписываться уже существующие файлы, если таковые есть! Continue - + Да Revert - + Отмена Up One Level - + На уровень вверх Go To Parent Directory - + Перейти в родительскую папку Disable Opus-Decoder Resampling (i.e. always output as 48.000 Hz) - + Отключить преобразование частоты, всегда выводить 48000 Гц %n file(s) have been rejected, because read access was not granted! - - - - + + %n файл был отколонён поскольку права на чтение не были получены! + %n файла были отколонены поскольку права на чтение не были получены! + %n файлов было отколонено поскольку права на чтение не были получены! %n file(s) have been rejected, because they are dummy CDDA files! - - - - + + %n файл был отколонён поскольку это был пустой файл CDDA! + %n файл был отколонён поскольку это были пустые файлы CDDA! + %n файлов было отколонено поскольку это были пустые файлы CDDA! %n file(s) have been rejected, because they appear to be Cue Sheet images! - - - - + + %n файл был отклонён, поскольку он, по всей видимости, образ для Cue плэйлиста! + %n файла было отклонёно, поскольку они, по всей видимости, образы для Cue плэйлиста! + %n файлов были отклонёны, поскольку они, по всей видимости, образы для Cue плэйлиста! %n file(s) have been rejected, because the file format could not be recognized! - - - - + + %n файл был отклонен, поскольку формат файла не определился! + %n файла было отклонено, поскольку формат файлов не определился! + %n файлов было отклонено, поскольку формат файлов не определился! %n Instance(s) - - + + Потоков: %n Best Quality (Slow) - + Наилучшее качество (Медленно) Acceptable Quality (Fast) - + Приемлемое качество (Быстро) Official LameXP Project Web-Site - + Официальный сайт проекта LameXP MuldeR's OpenSource Projects - + OpenSource проекты MuldeR'а Current Encoder: %1 - + Текущий кодер: %1 Loading dropped files or folders, please wait... - + Загрузка файлов или папок, пожалуйста, ждите... APE - + @@ -2056,18 +2016,18 @@ Artwork - Обложка + Обложка MetaInfoDialog Load Artwork From File - Загрузить обложку из файла + Загрузить обложку из файла Clear Artwork - Удалить обложку + Удалить обложку Meta Information @@ -2079,32 +2039,32 @@ Load Artwork - Загрузить обложку + Загрузить обложку Artwork Error !!переделать!! - Ошибка с обложкой + Ошибка обложки Sorry, failed to load artwork from selected file! - Извините, не могу загрузить обложку из выбранного файла! + Извините, не могу загрузить обложку из выбранного файла! Edit this Information - Редактировать эту информацию + Редактировать эту информацию Copy everything to Meta Info tab - Скопировать всё во вкладку Метаинформации + Скопировать всё во вкладку Метаинформации Clear all Meta Info - Очистить всю метаинформацию + Очистить всю метаинформацию Meta Information: %1 - Метаинформация: %1 + Метаинформация: %1 @@ -2127,7 +2087,7 @@ Container - Контейнер + Контейнер Compression @@ -2139,7 +2099,7 @@ Title - Название + Название Artist @@ -2163,7 +2123,7 @@ Generate from list position - Генерировать из позиции в списке + Генерировать из позиции в списке Comment @@ -2179,7 +2139,7 @@ Unspecified - Не указано + Не указано OK @@ -2199,7 +2159,7 @@ The title must not be empty. Generating title from file name! - Заголовок не должен быть пустым. Генерирование заголовка из имени файла! + Заголовок не должен быть пустым. Генерирование заголовка из имени файла! Edit Artist @@ -2243,7 +2203,7 @@ Unspecified (copy from source file) - Не указано (копировать из исходного файла) + Не указано (копировать из исходного файла) Edit Comment @@ -2255,7 +2215,7 @@ Encoded with LameXP - Кодировано с помощью LameXP + Кодировано с помощью LameXP Not editable @@ -2263,7 +2223,7 @@ Sorry, this property of the source file cannot be edited! - К сожалению, это свойство исходного файла не может быть изменено! + К сожалению, это свойство исходного файла не может быть изменено! @@ -2274,15 +2234,15 @@ Not found! - Не найдено! + Не найдено! The format of this file is NOT supported: - Этот тип файлов не поддерживается: + Этот тип файлов не поддерживается: Container Format: - Формат Контейнера: + Формат Контейнера: Audio Format: @@ -2302,7 +2262,7 @@ Failed! - Ошибка! + Ошибка! Encoding @@ -2318,68 +2278,68 @@ The source audio file could not be found: - Исходный аудио файл не найден: + Исходный аудио файл не найден: The source audio file could not be opened for reading: - Исходный аудио файл не может быть открыт: + Исходный аудио файл не может быть открыт: The target output directory doesn't exist and could NOT be created: - Папка для выходных файлов не существует и не может быть создана: + Папка для выходных файлов не существует и не может быть создана: The target output directory is NOT writable: - Папка для выходных файлов недоступна для записи: + Папка для выходных файлов недоступна для записи: Unknown File Name - Неизвестное имя файла + Неизвестное имя файла Unknown Title - Неизвестное Название + Неизвестное Название Unknown Artist - Неизвестный Артист + Неизвестный Артист Unknown Album - Неизвестный Альбом + Неизвестный Альбом Unknown Comment - Неизвестный Комментарий + Неизвестный Комментарий Analyzing - Анализ + Анализ WARNING: Decoded file size exceeds 4 GB, problems might occur! - ВНИМАНИЕ: декодированный файл больше 4 ГБ, возможны проблемы! + ВНИМАНИЕ: декодированный файл больше 4 ГБ, возможны проблемы! Skipped. - + Пропущен. Target output file already exists, going to skip this file: - + Файл уже существует, будет пропущен: If you don't want existing files to be skipped, please change the overwrite mode! - + Если Вы не хотите пропускать уже существующие файлы, пожалуйста, измените режим перезаписи! Target output file already exists, going to delete existing file: - + Файл уже существует, будет удалён: Failed to delete existing target file, will save to another file name! - + Ошибка удаления существующего файла, будет сохранение с другим именем! @@ -2394,47 +2354,47 @@ Abort - Отмена + Отмена Close - Закрыть + Закрыть Show details for selected job - Показать подробности задания + Показать подробности задания Browse Output File Location - Открыть папку с преобразованным файлом + Открыть папку с преобразованным файлом Encoding Files - Преобразование Файлов + Преобразование Файлов Your files are being encoded, please be patient... - Ваши файлы кодируются, пожалуйста проявите терпение... + Ваши файлы кодируются, пожалуйста, проявите терпение... Encoding files, please wait... - Кодирую файлы, пожалуйста, подождите... + Кодирую файлы, пожалуйста, подождите... Multi-threading enabled: Running %1 instances in parallel! - Многопоточность включена: Выполняется %1 экземпляра(ов) параллельно! + Многопоточность включена: Выполняется %1 экземпляра(ов) параллельно! Aborted! Waiting for running jobs to terminate... - Отменено! Ожидание завершения запущенных заданий... + Отменено! Ожидание завершения запущенных заданий... Creating the playlist file, please wait... - Создаю плэйлист, пожалуйста, подождите... + Создаю плэйлист, пожалуйста, подождите... Process was aborted prematurely by the user! - Процесс был преждевременно прерван пользователем! + Процесс был преждевременно прерван пользователем! LameXP - Aborted @@ -2442,7 +2402,7 @@ Process was aborted by the user. - Процесс был прерван пользователем. + Процесс был прерван пользователем. LameXP - Error @@ -2450,7 +2410,7 @@ At least one file has failed! - Ошибка как минимум с 1 файлом! + Ошибка как минимум с 1 файлом! LameXP - Done @@ -2458,39 +2418,39 @@ All files completed successfully. - Все файлы преобразовались успешно. + Все файлы преобразовались успешно. Playlist creation failed - Не могу создать плэйлист + Не могу создать плэйлист The playlist file could not be created: - Плэйлист не может быть создан: + Плэйлист не может быть создан: Shutdown the computer as soon as all files have been converted - Выключить компьютер после завершения преобразования всех файлов + Выключить компьютер после завершения преобразования всех файлов Warning: Computer will shutdown in %1 seconds... - Внимание: Компьютер выключится через %1 секунд... + Внимание: Компьютер выключится через %1 секунд... Cancel Shutdown - Отменить выключение + Отменить выключение CPU Usage (Overall) - Загрузка процессора (Общая) + Загрузка процессора (Общая) Physical RAM Usage - Использование оперативной памяти + Использование оперативной памяти Free Disk Space (Temp Folder) - Свободное место на диске (Временная папка) + Свободное место на диске (Временная папка) Process finished after %1. @@ -2498,110 +2458,110 @@ Filter Log Items - + Фильтр Show Running Only - + Показать только выполняемые Show Succeeded Only - + Показать только готовые Show Failed Only - + Показать только с ошибками Show Skipped Only - + Показать только пропущенные Show All Items - + Показать все None of the items matches the current filtering rules - + Ни один из элементов не удовлетворяет правилам фильтра Process was aborted by the user after %n file(s)! - - - - + + Процесс был прерван пользователем после %n файла + Процесс был прерван пользователем после %n файлов + Процесс был прерван пользователем после %n файлов %n hour(s) - - - - + + %n ч. + %n ч. + %n ч. %n minute(s) - - - - + + %n мин. + %n мин. + %n мин. %n second(s) - - - - + + %n с. + %n с. + %n с. %n millisecond(s) - - - - + + %n мс. + %n мс. + %n мс. Encoding: %n file(s) of %1 completed so far, please wait... - - - - + + Кодирование: %n файл из %1 завершено, пожалуйста ждите... + Кодирование: %n файлов из %1 завершено, пожалуйста ждите... + Кодирование: %n файлов из %1 завершено, пожалуйста ждите... Error: %1 of %n file(s) failed (%2). Double-click failed items for detailed information! - - - - + + Ошибка в: %1 из %n файле (%2). Узнайте подробности по двойному щелчку на элементе с ошибкой! + Ошибка в: %1 из %n файлов (%2). Узнайте подробности по двойному щелчку на элементе с ошибкой! + Ошибка в: %1 из %n файлов (%2). Узнайте подробности по двойному щелчку на элементе с ошибкой! %n file(s) skipped - - - - + + %n файл пропущен + %n файла пропущено + %n файлов пропущено Error: %1 of %n file(s) failed. Double-click failed items for detailed information! - - - - + + Ошибка в: %1 из %n файле. Узнайте подробности по двойному щелчку на элементе с ошибкой! + Ошибка в: %1 из %n файлов. Узнайте подробности по двойному щелчку на элементе с ошибкой! + Ошибка в: %1 из %n файлов. Узнайте подробности по двойному щелчку на элементе с ошибкой! All files completed successfully. Skipped %n file(s). - - - - + + Все файлы успешно преобразованы. Пропущен %n файл. + Все файлы успешно преобразованы. Пропущены %n файла. + Все файлы успешно преобразованы. Пропущено %n файлов. @@ -2609,7 +2569,7 @@ ProgressModel Job - Задание + Задание Status @@ -2620,26 +2580,26 @@ QApplication Executable '%1' doesn't support Windows compatibility mode. - Исполняемый файл '%1' не поддерживает режим совместимости Windows. + Исполняемый файл '%1' не поддерживает режим совместимости Windows. Executable '%1' requires Qt v%2, but found Qt v%3. - Исполняемому файлу '%1' требуется версия Qt v%2, но найдена версия v%3. + Исполняемому файлу '%1' требуется версия Qt v%2, но найдена версия v%3. Executable '%1' was built for Qt '%2', but found Qt '%3'. - Исполняемый файл '%1' был собран для Qt '%2', но найдена версия Qt '%3'. + Исполняемый файл '%1' был собран для Qt '%2', но найдена версия Qt '%3'. Executable '%1' requires Windows XP or later. - + Исполняемый файл '%1' требует Windows XP или новее. ShellIntegration Audio File supported by LameXP - Аудио Файл поддерживаетя LameXP + Аудио Файл поддерживаетя LameXP Convert this file with LameXP v%1 @@ -2693,43 +2653,43 @@ Unknown - Неизвестно + Неизвестно Testing your internet connection, please wait... - Проверяю соединение с сетью, пожалуйста, подождите... + Проверяю соединение с сетью, пожалуйста, подождите... Network connectivity test has failed! - Нет соединения с сетью! + Нет соединения с сетью! Checking for new updates online, please wait... - Проверяю обновления, пожалуйста, подождите... + Проверяю обновления, пожалуйста, подождите... Failed to fetch update information from server! - Не могу получить информацию об обновлениях с сервера! + Не могу получить информацию об обновлениях с сервера! Sorry, the update server might be busy at this time. Plase try again later. - Извините, сервер обновлений сейчас недоступен. Пожалуйста, попробуйте позднее. + Извините, сервер обновлений сейчас недоступен. Пожалуйста, попробуйте позднее. More information available at: - Подробная информация здесь: + Подробная информация здесь: A new version of LameXP is available! - Доступна новя версия LameXP! + Доступна новя версия LameXP! We highly recommend all users to install this update as soon as possible. - Мы очень рекомендуем установить это обновление как можо скорее. + Настоятельно рекомендуем установить это обновление как можо скорее. No new updates available at this time. - На данный момент обновлений нет. + На данный момент обновлений нет. Your version of LameXP is still up-to-date. Please check for updates regularly! @@ -2737,52 +2697,52 @@ Your version appears to be newer than the latest release. - Установленная версия новее чем последний релиз. + Установленная версия новее чем последний релиз. This usually indicates your are currently using a pre-release version of LameXP. - Это обычно значит, что вы используете бета версию LameXP. + Это обычно значит, что вы используете бета версию LameXP. Update is being downloaded, please be patient... - Скачиваю обновление, будте терпеливы... + Скачиваю обновление... Update ready to install. Applicaion will quit... - Обновление готово к установке. Завершение приложения... + Обновление готово к установке. Завершение приложения... Update failed. Please try again or download manually! Фак май майнд - Не могу установить обновление.Пожалуйста попробуйте снова или установите обновление вручную! + Не могу установить обновление в автоматическом режиме. Повторите попытку или установите обновление вручную! It appears that the computer currently is offline! - Похоже компьютер не подключен к интернету! + Похоже компьютер не подключен к интернету! Please make sure your computer is connected to the internet and try again. - Пожалуйста, проверьте, что ваш компьютер подключен к интернету и попробуйте снова. + Пожалуйста, проверьте, что ваш компьютер подключен к интернету и попробуйте снова. Initializing, please wait... - Инициализация, пожалуйста, подождите... + Инициализация, пожалуйста, подождите... Discard - Отменить + Отменить Ignore - Игнорировать + Игнорировать Sorry, but only users in the "Administrators" group can install updates. - + Извините, но только пользователи из группы "Администраторы" могут устанавливать обновления. Please start application from an administrator account and try again! - + Пожалуйста, запустите приложение с правами администратора и попробуйте снова! diff --git a/etc/Translation/LameXP_SV.ts b/etc/Translation/LameXP_SV.ts index 4f16c2fa..4931ddfa 100644 --- a/etc/Translation/LameXP_SV.ts +++ b/etc/Translation/LameXP_SV.ts @@ -4,23 +4,23 @@ AboutDialog - + LameXP - Audio Encoder Front-end LameXP - Ljudkonvertering - + Please visit %1 for news and updates! Besök %1 för nyheter och uppdateringar! - - + + Note: This demo (pre-release) version of LameXP will expire at %1. Still %2 days left. OBS! Denna testversion av LameXP kommer att upphöra %1. %2 dagar kvar. - + Note: LameXP is free software. Do <b>not</b> pay money to obtain or use LameXP! If some third-party website tries to make you pay for downloading LameXP, you should <b>not</b> respond to the offer !!! 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,263 @@ Stäng - + The following people have contributed to LameXP: Följande har medverkat i LameXP: - + Programmers: Programmerare: - + Project Leader Projektledare - + Translators: Översättare: - + Special thanks to: Speciellt tack till: - - Doom9's Forum - Doom9's Forum + + Official Mirrors: + - - Gleitz | German Doom9 - Gleitz | German Doom9 - - - - Hydrogenaudio Forums - Hydrogenaudio Forums - - - - RareWares - RareWares - - - - GitHub - GitHub - - - - SourceForge - SourceForge - - - - Qt Developer Network - Qt Developer Network - - - - BerliOS Developer - BerliOS Utvecklare - - - - CodePlex - CodePlex - - - - Marius Hudea - Marius Hudea - - - - Codecs.com - Codecs.com - - - + If you are willing to contribute a LameXP translation, feel free to contact us! Kontakta oss gärna om du vill medverka il LameXP, med en översättning! - + The following third-party software is used in LameXP: Följande 3:e-parts mjukvara används i LameXP: - + LAME - OpenSource mp3 Encoder LAME - OpenSource mp3 Encoder - - - - - - - - - - - - + + + + + + + + + + + + Released under the terms of the GNU Lesser General Public License. Släppt under Gnu Lesser General Public License. - + OggEnc - Ogg Vorbis Encoder OggEnc - Ogg Vorbis Encoder - + Completely open and patent-free audio encoding technology. Helt öppen och patentfri ljudkodningsteknologi. - + Nero AAC Reference MPEG-4 Encoder Nero AAC Reference MPEG-4 Encoder - + Freeware state-of-the-art HE-AAC encoder with 2-Pass support. Freeware state-of-the-art HE-AAC-kodare med stöd för 2-Pass. - + Available from vendor web-site as free download: Tillgänglig som gratis nedladdning, från utvecklarens webbsida: - + Aften - A/52 audio encoder Aften - A/52 audio encoder - + FLAC - Free Lossless Audio Codec FLAC - Free Lossless Audio Codec - + Open and patent-free lossless audio compression technology. Öppen och patentfri, förlustfri ljudkomprimeringsteknik. - + Opus Audio Codec Opus Audio Codec - + Totally open, royalty-free, highly versatile audio codec. Helt öppen, avgiftsfri, mycket mångsidig ljud-codec - + mpg123 - Fast Console MPEG Audio Player/Decoder mpg123 - Fast Console MPEG Audio Player/Decoder - + FAAD - OpenSource MPEG-4 and MPEG-2 AAC Decoder FAAD - OpenSource MPEG-4 and MPEG-2 AAC Decoder - + Released under the terms of the GNU General Public License. Släppt under GNU Generel Public License (GPL). - + Valdec from AC3Filter Tools - AC3/DTS Decoder Valdec från AC3Filter Tools - AC3/DTS Decoder - + WavPack - Hybrid Lossless Compression WavPack - Hybrid Lossless Compression - + Completely open audio compression format. Helt öppet ljudkomprimeringsformat. - + Musepack - Living Audio Compression Musepack - Living Audio Compression - + Monkey's Audio - Lossless Audio Compressor Monkey's Audio - Lossless Audio Compressor - + Freely available source code, simple SDK and non-restrictive licensing. Fritt tillgänglig källkod, enkel SDK och icke-restriktiv licensiering. - + Shorten - Lossless Audio Compressor Shorten - Lossless Audio Compressor - + Speex - Free Codec For Free Speech Speex - Free Codec For Free Speech - + Open Source patent-free audio format designed for speech. Öppen källkod, patentfritt ljudformat designat för tal. - + The True Audio - Lossless Audio Codec The True Audio - Lossless Audio Codec - + refalac - Win32 command line ALAC encoder/decoder refalac - Win32 kommandorad ALAC-kodare/-avkodare - + The ALAC reference implementation by Apple is available under the Apache license. ALAC referensimplementation av Apple finns tillgänglig under Apache-licensen. - + wma2wav - Dump WMA files to Wave Audio wma2wav - Dump WMA files to Wave Audio - + Copyright (c) 2011 LoRd_MuldeR <mulder2@gmx.de>. Some rights reserved. Copyright (c) 2011 LoRd_MuldeR <mulder2@gmx.de>. Some rights reserved. - + avs2wav - Avisynth to Wave Audio converter avs2wav - Avisynth to Wave Audio converter - + By Jory Stone <jcsston@toughguy.net> and LoRd_MuldeR <mulder2@gmx.de>. By Jory Stone <jcsston@toughguy.net> and LoRd_MuldeR <mulder2@gmx.de>. - + dcaenc dcaenc - + Copyright (c) 2008-2011 Alexander E. Patrakov. Distributed under the LGPL. Copyright (c) 2008-2011 Alexander E. Patrakov. Distributed under the LGPL. - + MediaInfo - Media File Analysis Tool MediaInfo - Analysverktyg för mediafiler - + SoX - Sound eXchange SoX - Sound eXchange - + GnuPG - The GNU Privacy Guard GnuPG - The GNU Privacy Guard - + GNU Wget - Software for retrieving files using HTTP GNU Wget - Mjukvara för att ta emot filer via HTTP - + UPX - The Ultimate Packer for eXecutables UPX - Den ultimata paketeraren för exekverbara filer - + Silk Icons - Over 700 icons in PNG format Silk Icons - Över 700 iconer i PNG-format - + By Mark James, released under the Creative Commons 'by' License. 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. 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 n/a @@ -389,56 +339,56 @@ AudioFileModel - - + + Profile Profil - + Channels Kanaler - + Samplerate Samplingsfrekvens - - + + Bitdepth Bitdjup - + Type Typ - + Version Version - - - + + + Bitrate Bithastighet - + Constant Konstant - + Variable Variabel - + Encoder Kodare @@ -886,7 +836,7 @@ - + Show Details Visa detaljer @@ -1634,9 +1584,10 @@ - - - + + + + Check for Updates Sök efter uppdateringar @@ -1677,13 +1628,13 @@ - + Disable Update Reminder Inaktivera uppdateringsmeddelande - + Disable Sound Effects Inaktivera ljudeffekter @@ -1768,23 +1719,23 @@ MuldeRs Öppen källkodsprojekt - + Adding file(s), please wait... Lägger till fil(er), vänta... - - + + Access Denied Åtkomst nekad - + This usually means the file is locked by another process. Det innebär oftast att filen är låst av någon annan process. - + %n file(s) have been rejected, because read access was not granted! %n fil har avvisats, eftersom läsbehörighet saknas! @@ -1792,22 +1743,22 @@ - + CDDA Files CDDA-filer - + Sorry, LameXP cannot extract audio tracks from an Audio-CD at present. LameXP kan för närvarande inte extrahera ljudspår från en ljud-CD. - + We recommend using %1 for that purpose. Vi rekommenderar att du använder %1 för det ändamålet. - + %n file(s) have been rejected, because they are dummy CDDA files! %n fil har avvisats, eftersom det är en CDDA attrappfil (dummy)! @@ -1815,17 +1766,17 @@ - + Cue Sheet Cue-fil - + Please use LameXP's Cue Sheet wizard for importing Cue Sheet files. Använd LameXPs cue-guide för att importera cue-filer. - + %n file(s) have been rejected, because they appear to be Cue Sheet images! %n fil har avvisats, eftersom det verkar vara en cue-avbildning! @@ -1833,17 +1784,17 @@ - + Files Rejected Undantagna filer - + This usually means the file is damaged or the file format is not supported. Det innebär oftast att filen är skadad eller att filformatet inte stöds. - + %n file(s) have been rejected, because the file format could not be recognized! %n fil har avvisats, eftersom filformatet inte känns igen! @@ -1851,729 +1802,729 @@ - + Scanning folder(s) for files, please wait... Genomsöker mapp(ar) efter fil(er), vänta... - + DEMO VERSION DEMOVERSION - + You can drop in audio files here! Du kan dra och släppa filer här! - + Initializing directory outline, please be patient... Initierar mappdisposition, vänta... - + Open File in External Application Öppna fil i externt program - + Browse File Location Öppna målmappen - + Browse Selected Folder Öppna markerad mapp - + Refresh Directory Outline Uppdatera mappdisposition - + Go To Parent Directory Gå till överordnad mapp - + Bookmark Current Output Folder Lägg till aktuell utdatamapp i favoriter - + Export Meta Tags to CSV File Exportera metadata till CSV-fil - + Import Meta Tags from CSV File Importera metadata från CSV-fil - + License Declined Licensavtal avvisat - + You have declined the license. Consequently the application will exit now! Du har nekat att godkänna licensavtalet. Programmet kommer nu att avslutas! - + Goodbye! Hej då! - + LameXP - Expired LameXP - Upphört - + This demo (pre-release) version of LameXP has expired at %1. Denna demoversion av LameXP har upphört att gälla från %1. - + LameXP is free software and release versions won't expire. LameXP är kostnadsfritt och release-versionerna upphör inte att gälla. - - + + Exit Program Avsluta programmet - + It seems that a bogus anti-virus software is slowing down the startup of LameXP. Det verkar som ett antivirusprogram orsakar långsammare uppstart av LameXP. - + Please refer to the %1 document for details and solutions! Läs gärna %1 för detaljer och lösningar! - + Slow Startup Långsam uppstart - - - - - + + + + + Discard Stäng - - + + Don't Show Again Visa inte igen - + Urgent Update Viktig uppdatering - + Your version of LameXP is more than a year old. Time for an update! Din version av LameXP är mer än ett år gammal. Dags att uppdatera! - - + + Ignore Ignorera - + Skipping update check this time, please be patient... Hoppar över uppdateringskontrollen den här gången, vänta... - - - + + + Update Reminder Uppdateringspåminnelse - + Your last update check was more than 14 days ago. Check for updates now? Din senaste uppdateringskontroll var för mer än 14 dagar sedan. Vill du söka efter uppdateringar nu? - + Your did not check for LameXP updates yet. Check for updates now? Du har inte genomfört uppdateringskontroll ännu. Vill du söka efter uppdateringar nu? - + Postpone Skjut upp - + LameXP detected that your version of the Nero AAC encoder is outdated! LameXP har uptäckt att din version av Nero AAC-kodare är utdaterad! - + The current version available is %1 (or later), but you still have version %2 installed. Aktuell version är %1 (eller senare), men du har fortfarande version %2. - + n/a n/a - + You can download the latest version of the Nero AAC encoder from the Nero website at: Du kan ladda ner senaste versionen av Nero AAC-kodare från Neros webbsida: - + (Hint: Please ignore the name of the downloaded ZIP file and check the included 'changelog.txt' instead!) (Tips: Bortse från den nedladde zipfilens namn, och kontrollera istället den inkluderade textfilen 'changelog.txt'!) - + AAC Encoder Outdated AAC-kodare utdaterad - + The Nero AAC encoder could not be found. AAC encoding support will be disabled. Neros AAC-kodare kan inte hittas. Stödet för AAC-kodning kommer att inaktiveras. - + Please put 'neroAacEnc.exe', 'neroAacDec.exe' and 'neroAacTag.exe' into the LameXP directory! Placera 'neroAacEnc.exe', 'neroAacDec.exe' och 'neroAacTag.exe' i LameXPs programmmapp! - + Your LameXP directory is located here: Din LameXP programmapp finns här: - + You can download the Nero AAC encoder for free from the official Nero website at: Du kan ladda ner Nero AAC-kodare gratis från den officiella webbsidan: - + AAC Support Disabled AAC-stödet är inaktiverat - - - + + + LameXP LameXP - + You must add at least one file to the list before proceeding! Du måste lägga till minst en fil till listan innan du fortsätter! - + Not Found Kan inte hittas - + Your currently selected TEMP folder does not exist anymore: Din aktuella TEMP-mapp finns inte längre: - + Restore Default Återställ standard - + Cancel Avbryt - + There are less than %1 GB of free diskspace available on your system's TEMP folder. Det finns mindre än %1 GB ledigt diskutrymme i systemets temp-mapp. - + It is highly recommend to free up more diskspace before proceeding with the encode! Du behöver frigöra mer diskutrymme innan du fortsätter med omkodningen! - + Your TEMP folder is located at: Temp-mappens placering: - + Low Diskspace Warning Varning för dåligt diskutrymme - + Abort Encoding Process Avbryt omkodningsprocessen - + Clean Disk Now Rensa disken nu - + Low Diskspace Dåligt diskutrymme - + You are proceeding with low diskspace. Problems might occur! Du fortsätter med dåligt diskutrymme. Problem kan uppstå! - + Sorry, an unsupported encoder has been chosen! En kodare som saknar stöd har valts! - + Cannot write to the selected output directory. Kan inte skriva till den valda utdatamappen. - + Please choose a different directory! Välj en annan målmapp! - + Load Translation Läs in översättning - + Translation Files Översättningsfiler - + Do you really want to disable the update reminder? Vill du verkligen inaktivera uppdateringspåminnelsen? - - - - - - - + + + + + + + Yes Ja - - - - - - - + + + + + + + No Nej - + The update reminder has been disabled. Uppdateringspåminnelsen har inaktiverats. - + Please remember to check for updates at regular intervals! Glöm inte att söka efter uppdateringar med jämna mellanrum! - + The update reminder has been re-enabled. Uppdateringspåminnelsen har återaktiverats. - + Do you really want to disable all sound effects? Vill du verkligen inaktivera alla ljudeffekter? - - + + Sound Effects Ljudeffekter - + All sound effects have been disabled. Alla ljudeffekter har inaktiverats. - + The sound effects have been re-enabled. Ljudeffekterna har återaktiverats. - - - + + + Nero AAC Notifications Nero AAC-meddelanden - + Do you really want to disable all Nero AAC Encoder notifications? Vill du verkligen inaktivera alla Nero AAC-meddelanden? - + All Nero AAC Encoder notifications have been disabled. Alla Nero AAC-meddelanden har inaktiverats. - + The Nero AAC Encoder notifications have been re-enabled. Nero AAC-meddelanden har återaktiverats. - - - + + + Slow Startup Notifications Meddelande om långsam uppstart - + Do you really want to disable the slow startup notifications? Vill du verkligen inaktivera meddelanden om långsam uppstart? - + The slow startup notifications have been disabled. Meddelanden om långsam uppstart har inaktiverats. - + The slow startup notifications have been re-enabled. Meddelanden om långsam uppstart har återaktiverats. - - + + Open Cue Sheet Öppna cue-fil - - + + Cue Sheet File Cue-fil - - - + + + Beta Updates Beta-uppdateringar - + Do you really want LameXP to check for Beta (pre-release) updates? Vill du verkligen att LameXP skall söka efter beta-uppdateringar? - + LameXP will check for Beta (pre-release) updates from now on. LameXP kommer i fortsättningen att söka efter beta-uppdatyeringar. - + Check Now Sök nu - + LameXP will <i>not</i> check for Beta (pre-release) updates from now on. LameXP kommer i fortsättningen <i>inte</i> att söka efter beta-uppdateringar. - - - + + + Hibernate Computer Viloläge - + Do you really want the computer to be hibernated on shutdown? Vill du verkligen att datorn skall försättas i viloläge vid avslut? - + LameXP will hibernate the computer on shutdown from now on. LameXP kommer i fortsättningen att försätta datorn i viloläge vid avslut. - + LameXP will <i>not</i> hibernate the computer on shutdown from now on. LameXP kommer i fortsättningen <i>inte</i> att försätta datorn i viloläge vid avslut. - - - + + + Shell Integration Utforskarintegrering - + Do you really want to disable the LameXP shell integration? Vill du verkligen inaktivera LameXPs utforskarintegration? - + The LameXP shell integration has been disabled. LameXPs utforskarintegration har inaktiverats. - + The LameXP shell integration has been re-enabled. LameXPs utforskarintegration har återaktiverats. - - + + Add file(s) Lägg till fil(er) - - + + Add Folder Lägg till mapp - + Loading dropped files or folders, please wait... Läser in släppta filer och mappar! Vänta... - - + + Save CSV file Spara CSV-fil - - - - + + + + CSV File CSV-fil - - - - + + + + CSV Export CSV-export - + Sorry, there are no meta tags that can be exported! Det finns ingen meta-data som kan exporteras! - + Sorry, failed to open CSV file for writing! Kunde inte öppna CSV-filen för skrivning! - + Sorry, failed to write to the CSV file! Kunde inte skriva till CSV-filen! - + The CSV files was created successfully! CSV-filen skapades korrekt! - - + + Open CSV file Öppna CSV-fil - - - - - + + + + + CSV Import CSV-import - + Sorry, failed to open CSV file for reading! Kunde inte öppna CSV-filen för läsning! - + Sorry, failed to read from the CSV file! Kunde inte läsa från CSV-filen! - + Sorry, the CSV file does not contain any known fields! CSV-filen innehåller inga kända fält! - + CSV file is incomplete. Not all files were updated! CSV-filen är inte komplett. Alla filer uppdaterades inte! - + The CSV files was imported successfully! CSV-filen importerades korrekt! - - + + New Folder Ny mapp - + Enter the name of the new folder: Namn på den nya mappen: - + Failed to create folder Kunde inte skapa någon mapp - + The new folder could not be created: Den nya mappen kunde inte skapas: - + Drive is read-only or insufficient access rights! Diskenheten är skrivskyddad eller åtkomsträttigheter saknas! - - + + Quality Level %1 Kvallitetsnivå %1 - + Compression %1 Kompression %1 - + Uncompressed Okomprimerad - + Best Quality (Slow) Bäst kvalitet (Långsam) - + Acceptable Quality (Fast) Acceptabel kvalitet (Snabb) - + High Quality (Recommended) Hög kvallitet (rekommenderas) - + Current Encoder: %1 Aktuell kodare: %1 - + Poor Quality (Very Fast) Dålig kvallitet (mycket snabb) - + File name without extension Filnamn utan filtillägg - + Track number with leading zero Spårnummer med inledande nolla - + Track title Spårtitel - + Artist name Artistnamn - + Album name Albumnamn - + Year with (at least) four digits Årtal med (minst) fyra siffror - + Comment Kommentar - + Characters forbidden in file names: Förbjudna tecken i filnamn: - + Rename Macros Namnändra macron - + %n Instance(s) %n instans @@ -2581,37 +2532,37 @@ - + Cannot write to the selected directory. Please choose another directory! Kan inte skriva till den specificerade mappen. Välj en annan destination! - + Overwrite Mode Överskrivningsläge - + Warning: This mode may overwrite existing files with no way to revert! Varning! Det här läget kan skriva över befintliga filer, utan möjlighet att återskapa! - + Continue Fortsätt - + Revert Återställ - + Already Running Körs redan - + LameXP is already running, please use the running instance! LameXP körs redan, använd den redan startade instansen! @@ -3095,52 +3046,52 @@ Stäng - + Show details for selected job Visa detaljerad info för markerad åtgärd - + Browse Output File Location Öppna utdatamnappen - + Filter Log Items Filtrera loggobjekt - + Show Running Only Visa endast aktiva - + Show Succeeded Only Visa endast klara - + Show Failed Only Visa endast misslyckade - + Show Skipped Only Visa endast överhoppade - + Show All Items Visa alla - + Encoding Files Kodar om filer - + Your files are being encoded, please be patient... Dina filer kodas om, vänta... diff --git a/etc/Translation/LameXP_TW.ts b/etc/Translation/LameXP_TW.ts index a639fda2..3bc314a2 100644 --- a/etc/Translation/LameXP_TW.ts +++ b/etc/Translation/LameXP_TW.ts @@ -239,38 +239,6 @@ Special thanks to: 特別感謝: - - Doom9's Forum - Doom9論壇 - - - Gleitz | German Doom9 - 格雷茲 | 德國 Doom9 - - - Hydrogenaudio Forums - Hydrogenaudio論壇 - - - RareWares - RareWares - - - GitHub - GitHub - - - SourceForge - SourceForge - - - Qt Developer Network - Qt的開發者網絡 - - - Marius Hudea - Marius Hudea - UPX - The Ultimate Packer for eXecutables UPX - 終極可執行程序文件壓縮器 @@ -288,16 +256,8 @@ Valdec AC3Filter工具 - AC3/DTS解碼器 - Codecs.com - Codecs.com - - - BerliOS Developer - BerliOS Developer - - - CodePlex - CodePlex + Official Mirrors: + diff --git a/etc/Translation/LameXP_UK.ts b/etc/Translation/LameXP_UK.ts index 108766b0..b5db9493 100644 --- a/etc/Translation/LameXP_UK.ts +++ b/etc/Translation/LameXP_UK.ts @@ -240,38 +240,6 @@ Special thanks to: Окрема подяка: - - Doom9's Forum - Форум Doom9 - - - Gleitz | German Doom9 - Gleitz | Німецький Doom9 - - - Hydrogenaudio Forums - Форуми Hydrogenaudio - - - RareWares - RareWares - - - GitHub - GitHub - - - SourceForge - SourceForge - - - Qt Developer Network - Мережа розробників Qt - - - Marius Hudea - Marius Hudea - UPX - The Ultimate Packer for eXecutables UPX - The Ultimate Packer for eXecutables @@ -284,21 +252,13 @@ The ALAC reference implementation by Apple is available under the Apache license. Оригінальна реалізація ALAC від Apple доступна під ліцензією Apache. - - Codecs.com - Codecs.com - Valdec from AC3Filter Tools - AC3/DTS Decoder Valdec зі складу AC3Filter Tools - декодер AC3/DTS - BerliOS Developer - BerliOS Developer - - - CodePlex - CodePlex + Official Mirrors: + Офіційні дзеркала: diff --git a/etc/Translation/LameXP_ZH.ts b/etc/Translation/LameXP_ZH.ts index f6c9759e..abae9130 100644 --- a/etc/Translation/LameXP_ZH.ts +++ b/etc/Translation/LameXP_ZH.ts @@ -239,38 +239,6 @@ Special thanks to: 特别感谢: - - Doom9's Forum - Doom9论坛 - - - Gleitz | German Doom9 - 德国 | 格雷兹 Doom9 - - - Hydrogenaudio Forums - Hydrogenaudio论坛 - - - RareWares - RareWares - - - GitHub - GitHub - - - SourceForge - SourceForge - - - Qt Developer Network - Qt的开发者网络 - - - Marius Hudea - Marius Hudea - UPX - The Ultimate Packer for eXecutables UPX - 终极可执行程序文件压缩器 @@ -288,16 +256,8 @@ AC3Filter工具 Valdec - AC3/DTS 解码器 - Codecs.com - Codecs.com - - - BerliOS Developer - BerliOS开发者平台 - - - CodePlex - CodePlex + Official Mirrors: + diff --git a/res/Icons.qrc b/res/Icons.qrc index 7a6f69ad..03d94215 100644 --- a/res/Icons.qrc +++ b/res/Icons.qrc @@ -50,6 +50,7 @@ icons/drive_link.png icons/drive_network.png icons/exclamation.png + icons/exclamation_small.png icons/error.png icons/error_big.png icons/feed.png @@ -97,6 +98,7 @@ icons/script.png icons/script_edit.png icons/script_go.png + icons/server_database.png icons/server_error.png icons/shield_admin.png icons/shield_blue.png diff --git a/res/icons/exclamation_small.png b/res/icons/exclamation_small.png new file mode 100644 index 00000000..ba672fc3 Binary files /dev/null and b/res/icons/exclamation_small.png differ diff --git a/res/images/CD.png b/res/images/CD.png index 55c2b8f5..d7262d80 100644 Binary files a/res/images/CD.png and b/res/images/CD.png differ diff --git a/res/localization/LameXP_DE.qm b/res/localization/LameXP_DE.qm index aceb813b..c0a276c0 100644 Binary files a/res/localization/LameXP_DE.qm and b/res/localization/LameXP_DE.qm differ diff --git a/res/localization/LameXP_ES.qm b/res/localization/LameXP_ES.qm index 02a2d3fb..c124d186 100644 Binary files a/res/localization/LameXP_ES.qm and b/res/localization/LameXP_ES.qm differ diff --git a/res/localization/LameXP_FR.qm b/res/localization/LameXP_FR.qm index bc70c4dc..b0eb3ef2 100644 Binary files a/res/localization/LameXP_FR.qm and b/res/localization/LameXP_FR.qm differ diff --git a/res/localization/LameXP_KR.qm b/res/localization/LameXP_KR.qm index e7e415de..12748ab3 100644 Binary files a/res/localization/LameXP_KR.qm and b/res/localization/LameXP_KR.qm differ diff --git a/res/localization/LameXP_PL.qm b/res/localization/LameXP_PL.qm index 6da715bd..29217f64 100644 Binary files a/res/localization/LameXP_PL.qm and b/res/localization/LameXP_PL.qm differ diff --git a/res/localization/LameXP_RU.qm b/res/localization/LameXP_RU.qm index deb144e6..eb2c2328 100644 Binary files a/res/localization/LameXP_RU.qm and b/res/localization/LameXP_RU.qm differ diff --git a/res/localization/LameXP_SV.qm b/res/localization/LameXP_SV.qm index 1a590e48..d4da46a0 100644 Binary files a/res/localization/LameXP_SV.qm and b/res/localization/LameXP_SV.qm differ diff --git a/res/localization/LameXP_TW.qm b/res/localization/LameXP_TW.qm index 933d418f..c7a0541a 100644 Binary files a/res/localization/LameXP_TW.qm and b/res/localization/LameXP_TW.qm differ diff --git a/res/localization/LameXP_UK.qm b/res/localization/LameXP_UK.qm index 2df84ed8..3251924e 100644 Binary files a/res/localization/LameXP_UK.qm and b/res/localization/LameXP_UK.qm differ diff --git a/res/localization/LameXP_ZH.qm b/res/localization/LameXP_ZH.qm index 2e45f097..23ea9e06 100644 Binary files a/res/localization/LameXP_ZH.qm and b/res/localization/LameXP_ZH.qm differ diff --git a/res/tools/mediainfo.i386.exe b/res/tools/mediainfo.i386.exe index d2097d2e..a5995d01 100644 Binary files a/res/tools/mediainfo.i386.exe and b/res/tools/mediainfo.i386.exe differ diff --git a/res/tools/mediainfo.x64.exe b/res/tools/mediainfo.x64.exe index 4c130982..aa076009 100644 Binary files a/res/tools/mediainfo.x64.exe and b/res/tools/mediainfo.x64.exe differ diff --git a/res/tools/mpg123.exe b/res/tools/mpg123.exe index bd1ce1b4..fc764d76 100644 Binary files a/res/tools/mpg123.exe and b/res/tools/mpg123.exe differ diff --git a/res/tools/opusdec.i386.exe b/res/tools/opusdec.i386.exe index f89c84c5..59d3dd95 100644 Binary files a/res/tools/opusdec.i386.exe and b/res/tools/opusdec.i386.exe differ diff --git a/res/tools/opusdec.sse2.exe b/res/tools/opusdec.sse2.exe index 7e4d5514..40556354 100644 Binary files a/res/tools/opusdec.sse2.exe and b/res/tools/opusdec.sse2.exe differ diff --git a/res/tools/opusenc.i386.exe b/res/tools/opusenc.i386.exe index 03e8cdee..c541a102 100644 Binary files a/res/tools/opusenc.i386.exe and b/res/tools/opusenc.i386.exe differ diff --git a/res/tools/opusenc.sse2.exe b/res/tools/opusenc.sse2.exe index aee245e5..e4f9566e 100644 Binary files a/res/tools/opusenc.sse2.exe and b/res/tools/opusenc.sse2.exe differ diff --git a/src/Config.h b/src/Config.h index 79e3989e..7d82db12 100644 --- a/src/Config.h +++ b/src/Config.h @@ -31,12 +31,12 @@ /////////////////////////////////////////////////////////////////////////////// #define VER_LAMEXP_MAJOR 4 -#define VER_LAMEXP_MINOR_HI 0 -#define VER_LAMEXP_MINOR_LO 9 +#define VER_LAMEXP_MINOR_HI 1 +#define VER_LAMEXP_MINOR_LO 0 #define VER_LAMEXP_TYPE RC #define VER_LAMEXP_PATCH 1 -#define VER_LAMEXP_BUILD 1519 -#define VER_LAMEXP_CONFG 1348 +#define VER_LAMEXP_BUILD 1549 +#define VER_LAMEXP_CONFG 1528 /////////////////////////////////////////////////////////////////////////////// // LameXP Build Options @@ -51,8 +51,8 @@ #define VER_LAMEXP_TOOL_NEROAAC 1540 #define VER_LAMEXP_TOOL_FHGAACENC 20120806 -#define VER_LAMEXP_TOOL_QAAC 139 -#define VER_LAMEXP_TOOL_COREAUDIO 7710 +#define VER_LAMEXP_TOOL_QAAC 233 +#define VER_LAMEXP_TOOL_COREAUDIO 7900 /////////////////////////////////////////////////////////////////////////////// // Helper macros (aka: having fun with the C pre-processor) diff --git a/src/Dialog_About.cpp b/src/Dialog_About.cpp index 8777d5f1..f5965d8c 100644 --- a/src/Dialog_About.cpp +++ b/src/Dialog_About.cpp @@ -84,6 +84,46 @@ g_lamexp_translators[] = {NULL, NULL, NULL, NULL} }; +//Special Thanks +static const struct +{ + char* pcName; + char *pcAddress; +} +g_lamexp_specialThanks[] = +{ + { "Doom9's Forum", "http://forum.doom9.org/" }, + { "Gleitz | German Doom9", "http://forum.gleitz.info/" }, + { "Hydrogenaudio Forums", "http://www.hydrogenaudio.org/" }, + { "RareWares", "http://www.rarewares.org/" }, + { "GitHub", "http://github.com/" }, + { "SourceForge", "http://sourceforge.net/" }, + { "Qt Developer Network", "http://qt-project.org/" }, + { "BerliOS Developer", "http://developer.berlios.de/" }, + { "CodePlex", "http://www.codeplex.com/" }, + { "Marius Hudea", "http://savedonthe.net/" }, + { "Codecs.com", "http://www.codecs.com/" }, + { NULL, NULL } +}; + +//Mirrors +static const struct +{ + char* pcName; + char *pcAddress; +} +g_lamexp_mirrors[] = +{ + { "GitHub.com", "https://github.com/lordmulder/LameXP" }, + { "SourceForge.net", "http://sourceforge.net/p/lamexp/code/" }, + { "Bitbucket.org", "https://bitbucket.org/lord_mulder/lamexp" }, + { "Gitorious.org", "https://gitorious.org/lamexp" }, + { "Codeplex.com", "https://lamexp.codeplex.com/SourceControl/latest" }, + { "Berlios.de", "http://git.berlios.de/cgi-bin/gitweb.cgi?p=lamexp" }, + { "Assembla.com", "https://www.assembla.com/spaces/lamexp/" }, + { NULL, NULL } +}; + //////////////////////////////////////////////////////////// // Constructor //////////////////////////////////////////////////////////// @@ -575,7 +615,7 @@ void AboutDialog::initContributorsTab(void) QString icon = QString("").arg("user_gray"); contributorsAboutText += QString("%1%2").arg(icon, spaces); contributorsAboutText += QString("%1%2").arg(tr("Project Leader"), spaces); - contributorsAboutText += QString("%1%2<%3>").arg("LoRd_MuldeR", spaces, "MuldeR2@GMX.de"); + contributorsAboutText += QString("%1%2<%3>").arg("LoRd_MuldeR", spaces, "MuldeR2@GMX.de"); contributorsAboutText += QString(" "); contributorsAboutText += QString("%1%2").arg(tr("Translators:"), extraVSpace); @@ -584,35 +624,28 @@ void AboutDialog::initContributorsTab(void) QString flagIcon = (strlen(g_lamexp_translators[i].pcFlag) > 0) ? QString("").arg(g_lamexp_translators[i].pcFlag) : QString(); contributorsAboutText += QString("%1%2").arg(flagIcon, spaces); contributorsAboutText += QString("%1%2").arg(WCHAR2QSTR(g_lamexp_translators[i].pcLanguage), spaces); - contributorsAboutText += QString("%1%2<%3>").arg(WCHAR2QSTR(g_lamexp_translators[i].pcName), spaces, g_lamexp_translators[i].pcMail); + contributorsAboutText += QString("%1%2<%3>").arg(WCHAR2QSTR(g_lamexp_translators[i].pcName), spaces, g_lamexp_translators[i].pcMail); } contributorsAboutText += QString(" "); contributorsAboutText += QString("%1%2").arg(tr("Special thanks to:"), extraVSpace); QString webIcon = QString("").arg("world"); - contributorsAboutText += QString("%1%2").arg(webIcon, spaces); - contributorsAboutText += QString("%1%2%3").arg(tr("Doom9's Forum"), spaces, "http://forum.doom9.org/"); - contributorsAboutText += QString("%1%2").arg(webIcon, spaces); - contributorsAboutText += QString("%1%2%3").arg(tr("Gleitz | German Doom9"), spaces, "http://forum.gleitz.info/"); - contributorsAboutText += QString("%1%2").arg(webIcon, spaces); - contributorsAboutText += QString("%1%2%3").arg(tr("Hydrogenaudio Forums"), spaces, "http://www.hydrogenaudio.org/"); - contributorsAboutText += QString("%1%2").arg(webIcon, spaces); - contributorsAboutText += QString("%1%2%3").arg(tr("RareWares"), spaces, "http://www.rarewares.org/"); - contributorsAboutText += QString("%1%2").arg(webIcon, spaces); - contributorsAboutText += QString("%1%2%3").arg(tr("GitHub"), spaces, "http://github.com/"); - contributorsAboutText += QString("%1%2").arg(webIcon, spaces); - contributorsAboutText += QString("%1%2%3").arg(tr("SourceForge"), spaces, "http://sourceforge.net/"); - contributorsAboutText += QString("%1%2").arg(webIcon, spaces); - contributorsAboutText += QString("%1%2%3").arg(tr("Qt Developer Network"), spaces, "http://qt-project.org/"); - contributorsAboutText += QString("%1%2").arg(webIcon, spaces); - contributorsAboutText += QString("%1%2%3").arg(tr("BerliOS Developer"), spaces, "http://developer.berlios.de/"); - contributorsAboutText += QString("%1%2").arg(webIcon, spaces); - contributorsAboutText += QString("%1%2%3").arg(tr("CodePlex"), spaces, "http://www.codeplex.com/"); - contributorsAboutText += QString("%1%2").arg(webIcon, spaces); - contributorsAboutText += QString("%1%2%3").arg(tr("Marius Hudea"), spaces, "http://savedonthe.net/"); - contributorsAboutText += QString("%1%2").arg(webIcon, spaces); - contributorsAboutText += QString("%1%2%3").arg(tr("Codecs.com"), spaces, "http://www.codecs.com/"); + for(int i = 0; g_lamexp_specialThanks[i].pcName; i++) + { + contributorsAboutText += QString("%1%2").arg(webIcon, spaces); + contributorsAboutText += QString("%1%2%3").arg(QString::fromLatin1(g_lamexp_specialThanks[i].pcName), spaces, QString::fromLatin1(g_lamexp_specialThanks[i].pcAddress)); + } + + contributorsAboutText += QString(" "); + contributorsAboutText += QString("%1%2").arg(tr("Official Mirrors:"), extraVSpace); + + QString serverIcon = QString("").arg("server_database"); + for(int i = 0; g_lamexp_mirrors[i].pcName; i++) + { + contributorsAboutText += QString("%1%2").arg(serverIcon, spaces); + contributorsAboutText += QString("%1%2%3").arg(QString::fromLatin1(g_lamexp_mirrors[i].pcName), spaces, QString::fromLatin1(g_lamexp_mirrors[i].pcAddress)); + } contributorsAboutText += "


    "; contributorsAboutText += QString("%1
    ").arg(NOBR(tr("If you are willing to contribute a LameXP translation, feel free to contact us!"))); diff --git a/src/Dialog_MainWindow.cpp b/src/Dialog_MainWindow.cpp index d82b385d..6faee4e5 100644 --- a/src/Dialog_MainWindow.cpp +++ b/src/Dialog_MainWindow.cpp @@ -115,7 +115,7 @@ while(0) #define ABORT_IF_BUSY do \ { \ - if(BANNER_VISIBLE || m_delayedFileTimer->isActive()) \ + if(BANNER_VISIBLE || m_delayedFileTimer->isActive() || (QApplication::activeModalWidget() != NULL)) \ { \ lamexp_beep(lamexp_beep_warning); \ return; \ @@ -198,6 +198,15 @@ while(0) } \ while(0) +#define SHOW_CORNER_WIDGET(FLAG) do \ +{ \ + if(QWidget *cornerWidget = ui->menubar->cornerWidget()) \ + { \ + cornerWidget->setVisible((FLAG)); \ + } \ +} \ +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())) @@ -238,7 +247,7 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel_MetaInfo *me //Enabled main buttons connect(ui->buttonAbout, SIGNAL(clicked()), this, SLOT(aboutButtonClicked())); connect(ui->buttonStart, SIGNAL(clicked()), this, SLOT(encodeButtonClicked())); - connect(ui->buttonQuit, SIGNAL(clicked()), this, SLOT(closeButtonClicked())); + connect(ui->buttonQuit, SIGNAL(clicked()), this, SLOT(closeButtonClicked())); //Setup tab widget ui->tabWidget->setCurrentIndex(0); @@ -247,6 +256,17 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel_MetaInfo *me //Add system menu lamexp_append_sysmenu(this, IDM_ABOUTBOX, "About..."); + //Setup corner widget + QLabel *cornerWidget = new QLabel(ui->menubar); + m_evenFilterCornerWidget = new CustomEventFilter; + cornerWidget->setText("N/A"); + cornerWidget->setFixedHeight(ui->menubar->height()); + cornerWidget->setCursor(QCursor(Qt::PointingHandCursor)); + cornerWidget->hide(); + cornerWidget->installEventFilter(m_evenFilterCornerWidget); + connect(m_evenFilterCornerWidget, SIGNAL(eventOccurred(QWidget*, QEvent*)), this, SLOT(cornerWidgetEventOccurred(QWidget*, QEvent*))); + ui->menubar->setCornerWidget(cornerWidget); + //-------------------------------- // Setup "Source" tab //-------------------------------- @@ -268,23 +288,24 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel_MetaInfo *me m_exportCsvContextAction = m_sourceFilesContextMenu->addAction(QIcon(":/icons/table_save.png"), "N/A"); m_importCsvContextAction = m_sourceFilesContextMenu->addAction(QIcon(":/icons/folder_table.png"), "N/A"); SET_FONT_BOLD(m_showDetailsContextAction, true); - connect(ui->buttonAddFiles, SIGNAL(clicked()), this, SLOT(addFilesButtonClicked())); - connect(ui->buttonRemoveFile, SIGNAL(clicked()), this, SLOT(removeFileButtonClicked())); - connect(ui->buttonClearFiles, SIGNAL(clicked()), this, SLOT(clearFilesButtonClicked())); - connect(ui->buttonFileUp, SIGNAL(clicked()), this, SLOT(fileUpButtonClicked())); - connect(ui->buttonFileDown, SIGNAL(clicked()), this, SLOT(fileDownButtonClicked())); - connect(ui->buttonShowDetails, SIGNAL(clicked()), this, SLOT(showDetailsButtonClicked())); - connect(m_fileListModel, SIGNAL(rowsInserted(QModelIndex,int,int)), this, SLOT(sourceModelChanged())); - connect(m_fileListModel, SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SLOT(sourceModelChanged())); - connect(m_fileListModel, SIGNAL(modelReset()), this, SLOT(sourceModelChanged())); - connect(ui->sourceFileView, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(sourceFilesContextMenu(QPoint))); - connect(ui->sourceFileView->verticalScrollBar(), SIGNAL(sliderMoved(int)), this, SLOT(sourceFilesScrollbarMoved(int))); - connect(ui->sourceFileView->verticalScrollBar(), SIGNAL(valueChanged(int)), this, SLOT(sourceFilesScrollbarMoved(int))); - connect(m_showDetailsContextAction, SIGNAL(triggered(bool)), this, SLOT(showDetailsButtonClicked())); - connect(m_previewContextAction, SIGNAL(triggered(bool)), this, SLOT(previewContextActionTriggered())); - connect(m_findFileContextAction, SIGNAL(triggered(bool)), this, SLOT(findFileContextActionTriggered())); - connect(m_exportCsvContextAction, SIGNAL(triggered(bool)), this, SLOT(exportCsvContextActionTriggered())); - connect(m_importCsvContextAction, SIGNAL(triggered(bool)), this, SLOT(importCsvContextActionTriggered())); + + connect(ui->buttonAddFiles, SIGNAL(clicked()), this, SLOT(addFilesButtonClicked())); + connect(ui->buttonRemoveFile, SIGNAL(clicked()), this, SLOT(removeFileButtonClicked())); + connect(ui->buttonClearFiles, SIGNAL(clicked()), this, SLOT(clearFilesButtonClicked())); + connect(ui->buttonFileUp, SIGNAL(clicked()), this, SLOT(fileUpButtonClicked())); + connect(ui->buttonFileDown, SIGNAL(clicked()), this, SLOT(fileDownButtonClicked())); + connect(ui->buttonShowDetails, SIGNAL(clicked()), this, SLOT(showDetailsButtonClicked())); + connect(m_fileListModel, SIGNAL(rowsInserted(QModelIndex,int,int)), this, SLOT(sourceModelChanged())); + connect(m_fileListModel, SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SLOT(sourceModelChanged())); + connect(m_fileListModel, SIGNAL(modelReset()), this, SLOT(sourceModelChanged())); + connect(ui->sourceFileView, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(sourceFilesContextMenu(QPoint))); + connect(ui->sourceFileView->verticalScrollBar(), SIGNAL(sliderMoved(int)), this, SLOT(sourceFilesScrollbarMoved(int))); + connect(ui->sourceFileView->verticalScrollBar(), SIGNAL(valueChanged(int)), this, SLOT(sourceFilesScrollbarMoved(int))); + connect(m_showDetailsContextAction, SIGNAL(triggered(bool)), this, SLOT(showDetailsButtonClicked())); + connect(m_previewContextAction, SIGNAL(triggered(bool)), this, SLOT(previewContextActionTriggered())); + connect(m_findFileContextAction, SIGNAL(triggered(bool)), this, SLOT(findFileContextActionTriggered())); + connect(m_exportCsvContextAction, SIGNAL(triggered(bool)), this, SLOT(exportCsvContextActionTriggered())); + connect(m_importCsvContextAction, SIGNAL(triggered(bool)), this, SLOT(importCsvContextActionTriggered())); //-------------------------------- // Setup "Output" tab @@ -714,6 +735,7 @@ MainWindow::~MainWindow(void) LAMEXP_DELETE(m_outputFolderFavoritesMenu); LAMEXP_DELETE(m_outputFolderContextMenu); LAMEXP_DELETE(m_dropBox); + LAMEXP_DELETE(m_evenFilterCornerWidget); LAMEXP_DELETE(m_evenFilterCustumParamsHelp); LAMEXP_DELETE(m_evenFilterOutputFolderMouse); LAMEXP_DELETE(m_evenFilterOutputFolderView); @@ -864,6 +886,7 @@ bool MainWindow::checkForUpdates(void) if(updateDialog->getSuccess()) { + SHOW_CORNER_WIDGET(false); m_settings->autoUpdateLastCheck(QDate::currentDate().toString(Qt::ISODate)); bReadyToInstall = updateDialog->updateReadyToInstall(); } @@ -1005,78 +1028,93 @@ void MainWindow::showEvent(QShowEvent *event) */ void MainWindow::changeEvent(QEvent *e) { - if(e->type() == QEvent::LanguageChange) + QMainWindow::changeEvent(e); + if(e->type() != QEvent::LanguageChange) { - /*qWarning("\nMainWindow::changeEvent()\n");*/ - - int comboBoxIndex[8]; - - //Backup combobox indices, as retranslateUi() resets - comboBoxIndex[0] = ui->comboBoxMP3ChannelMode->currentIndex(); - comboBoxIndex[1] = ui->comboBoxSamplingRate->currentIndex(); - comboBoxIndex[2] = ui->comboBoxAACProfile->currentIndex(); - comboBoxIndex[3] = ui->comboBoxAftenCodingMode->currentIndex(); - comboBoxIndex[4] = ui->comboBoxAftenDRCMode->currentIndex(); - comboBoxIndex[5] = ui->comboBoxNormalizationMode->currentIndex(); - comboBoxIndex[6] = 0; //comboBoxOpusOptimize->currentIndex(); - comboBoxIndex[7] = ui->comboBoxOpusFramesize->currentIndex(); - - //Re-translate from UIC - ui->retranslateUi(this); - - //Restore combobox indices - ui->comboBoxMP3ChannelMode->setCurrentIndex(comboBoxIndex[0]); - ui->comboBoxSamplingRate->setCurrentIndex(comboBoxIndex[1]); - ui->comboBoxAACProfile->setCurrentIndex(comboBoxIndex[2]); - ui->comboBoxAftenCodingMode->setCurrentIndex(comboBoxIndex[3]); - ui->comboBoxAftenDRCMode->setCurrentIndex(comboBoxIndex[4]); - ui->comboBoxNormalizationMode->setCurrentIndex(comboBoxIndex[5]); - //comboBoxOpusOptimize->setCurrentIndex(comboBoxIndex[6]); - ui->comboBoxOpusFramesize->setCurrentIndex(comboBoxIndex[7]); - - //Update the window title - if(LAMEXP_DEBUG) - { - setWindowTitle(QString("%1 [!!! DEBUG BUILD !!!]").arg(windowTitle())); - } - else if(lamexp_version_demo()) - { - setWindowTitle(QString("%1 [%2]").arg(windowTitle(), tr("DEMO VERSION"))); - } - - //Manually re-translate widgets that UIC doesn't handle - m_outputFolderNoteBox->setText(tr("Initializing directory outline, please be patient...")); - m_dropNoteLabel->setText(QString("


    %1").arg(tr("You can drop in audio files here!"))); - m_showDetailsContextAction->setText(tr("Show Details")); - m_previewContextAction->setText(tr("Open File in External Application")); - m_findFileContextAction->setText(tr("Browse File Location")); - m_showFolderContextAction->setText(tr("Browse Selected Folder")); - m_refreshFolderContextAction->setText(tr("Refresh Directory Outline")); - m_goUpFolderContextAction->setText(tr("Go To Parent Directory")); - m_addFavoriteFolderAction->setText(tr("Bookmark Current Output Folder")); - m_exportCsvContextAction->setText(tr("Export Meta Tags to CSV File")); - m_importCsvContextAction->setText(tr("Import Meta Tags from CSV File")); - - //Force GUI update - m_metaInfoModel->clearData(); - m_metaInfoModel->setData(m_metaInfoModel->index(4, 1), m_settings->metaInfoPosition()); - updateEncoder(m_settings->compressionEncoder()); - updateLameAlgoQuality(ui->sliderLameAlgoQuality->value()); - updateMaximumInstances(ui->sliderMaxInstances->value()); - renameOutputPatternChanged(ui->lineEditRenamePattern->text(), true); - - //Re-install shell integration - if(m_settings->shellIntegrationEnabled()) - { - ShellIntegration::install(); - } - - //Translate system menu - lamexp_update_sysmenu(this, IDM_ABOUTBOX, ui->buttonAbout->text()); - - //Force resize, if needed - tabPageChanged(ui->tabWidget->currentIndex(), true); + return; } + + int comboBoxIndex[8]; + + //Backup combobox indices, as retranslateUi() resets + comboBoxIndex[0] = ui->comboBoxMP3ChannelMode->currentIndex(); + comboBoxIndex[1] = ui->comboBoxSamplingRate->currentIndex(); + comboBoxIndex[2] = ui->comboBoxAACProfile->currentIndex(); + comboBoxIndex[3] = ui->comboBoxAftenCodingMode->currentIndex(); + comboBoxIndex[4] = ui->comboBoxAftenDRCMode->currentIndex(); + comboBoxIndex[5] = ui->comboBoxNormalizationMode->currentIndex(); + comboBoxIndex[6] = 0; //comboBoxOpusOptimize->currentIndex(); + comboBoxIndex[7] = ui->comboBoxOpusFramesize->currentIndex(); + + //Re-translate from UIC + ui->retranslateUi(this); + + //Restore combobox indices + ui->comboBoxMP3ChannelMode->setCurrentIndex(comboBoxIndex[0]); + ui->comboBoxSamplingRate->setCurrentIndex(comboBoxIndex[1]); + ui->comboBoxAACProfile->setCurrentIndex(comboBoxIndex[2]); + ui->comboBoxAftenCodingMode->setCurrentIndex(comboBoxIndex[3]); + ui->comboBoxAftenDRCMode->setCurrentIndex(comboBoxIndex[4]); + ui->comboBoxNormalizationMode->setCurrentIndex(comboBoxIndex[5]); + //comboBoxOpusOptimize->setCurrentIndex(comboBoxIndex[6]); + ui->comboBoxOpusFramesize->setCurrentIndex(comboBoxIndex[7]); + + //Update the window title + if(LAMEXP_DEBUG) + { + setWindowTitle(QString("%1 [!!! DEBUG BUILD !!!]").arg(windowTitle())); + } + else if(lamexp_version_demo()) + { + setWindowTitle(QString("%1 [%2]").arg(windowTitle(), tr("DEMO VERSION"))); + } + + //Manually re-translate widgets that UIC doesn't handle + m_outputFolderNoteBox->setText(tr("Initializing directory outline, please be patient...")); + m_dropNoteLabel->setText(QString("


    %1").arg(tr("You can drop in audio files here!"))); + if(QLabel *cornerWidget = dynamic_cast(ui->menubar->cornerWidget())) + { + cornerWidget->setText(QString(" %1   ").arg(tr("Check for Updates"))); + } + m_showDetailsContextAction->setText(tr("Show Details")); + m_previewContextAction->setText(tr("Open File in External Application")); + m_findFileContextAction->setText(tr("Browse File Location")); + m_showFolderContextAction->setText(tr("Browse Selected Folder")); + m_refreshFolderContextAction->setText(tr("Refresh Directory Outline")); + m_goUpFolderContextAction->setText(tr("Go To Parent Directory")); + m_addFavoriteFolderAction->setText(tr("Bookmark Current Output Folder")); + m_exportCsvContextAction->setText(tr("Export Meta Tags to CSV File")); + m_importCsvContextAction->setText(tr("Import Meta Tags from CSV File")); + + //Force GUI update + m_metaInfoModel->clearData(); + m_metaInfoModel->setData(m_metaInfoModel->index(4, 1), m_settings->metaInfoPosition()); + updateEncoder(m_settings->compressionEncoder()); + updateLameAlgoQuality(ui->sliderLameAlgoQuality->value()); + updateMaximumInstances(ui->sliderMaxInstances->value()); + renameOutputPatternChanged(ui->lineEditRenamePattern->text(), true); + + //Re-install shell integration + if(m_settings->shellIntegrationEnabled()) + { + ShellIntegration::install(); + } + + //Translate system menu + lamexp_update_sysmenu(this, IDM_ABOUTBOX, ui->buttonAbout->text()); + + //Force resize event + QApplication::postEvent(this, new QResizeEvent(this->size(), QSize())); + for(QObjectList::ConstIterator iter = this->children().constBegin(); iter != this->children().constEnd(); iter++) + { + if(QWidget *child = dynamic_cast(*iter)) + { + QApplication::postEvent(child, new QResizeEvent(child->size(), QSize())); + } + } + + //Force tabe page change + tabPageChanged(ui->tabWidget->currentIndex(), true); } /* @@ -1135,7 +1173,7 @@ void MainWindow::resizeEvent(QResizeEvent *event) m_dropNoteLabel->setGeometry(port->geometry()); } - if (QWidget *port = ui->outputFolderView->viewport()) + if(QWidget *port = ui->outputFolderView->viewport()) { m_outputFolderNoteBox->setGeometry(16, (port->height() - 64) / 2, port->width() - 32, 64); } @@ -1331,6 +1369,7 @@ void MainWindow::windowShown(void) if(lamexp_current_date_safe() >= lamexp_version_date().addYears(1)) { qWarning("Binary is more than a year old, time to update!"); + SHOW_CORNER_WIDGET(true); int ret = QMessageBox::warning(this, tr("Urgent Update"), NOBR(tr("Your version of LameXP is more than a year old. Time for an update!")), tr("Check for Updates"), tr("Exit Program"), tr("Ignore")); switch(ret) { @@ -1351,17 +1390,21 @@ void MainWindow::windowShown(void) break; } } - else if(m_settings->autoUpdateEnabled()) + else { QDate lastUpdateCheck = QDate::fromString(m_settings->autoUpdateLastCheck(), Qt::ISODate); - if(!firstRun && (!lastUpdateCheck.isValid() || lamexp_current_date_safe() >= lastUpdateCheck.addDays(14))) + if((!firstRun) && ((!lastUpdateCheck.isValid()) || (lamexp_current_date_safe() >= lastUpdateCheck.addDays(14)))) { - if(QMessageBox::information(this, tr("Update Reminder"), NOBR(lastUpdateCheck.isValid() ? tr("Your last update check was more than 14 days ago. Check for updates now?") : tr("Your did not check for LameXP updates yet. Check for updates now?")), tr("Check for Updates"), tr("Postpone")) == 0) + SHOW_CORNER_WIDGET(true); + if(m_settings->autoUpdateEnabled()) { - if(checkForUpdates()) + if(QMessageBox::information(this, tr("Update Reminder"), NOBR(lastUpdateCheck.isValid() ? tr("Your last update check was more than 14 days ago. Check for updates now?") : tr("Your did not check for LameXP updates yet. Check for updates now?")), tr("Check for Updates"), tr("Postpone")) == 0) { - QApplication::quit(); - return; + if(checkForUpdates()) + { + QApplication::quit(); + return; + } } } } @@ -1727,6 +1770,21 @@ void MainWindow::tabActionActivated(QAction *action) } } +// ========================================================= +// Menubar slots +// ========================================================= + +/* + * Handle corner widget Event + */ +void MainWindow::cornerWidgetEventOccurred(QWidget *sender, QEvent *event) +{ + if(event->type() == QEvent::MouseButtonPress) + { + QTimer::singleShot(0, this, SLOT(checkUpdatesActionActivated())); + } +} + // ========================================================= // View menu slots // ========================================================= diff --git a/src/Dialog_MainWindow.h b/src/Dialog_MainWindow.h index 8c88cfaf..21cd77d4 100644 --- a/src/Dialog_MainWindow.h +++ b/src/Dialog_MainWindow.h @@ -85,6 +85,7 @@ private slots: void clearMetaButtonClicked(void); void closeButtonClicked(void); void compressionTabEventOccurred(QWidget*, QEvent*); + void cornerWidgetEventOccurred(QWidget *sender, QEvent *event); void customParamsChanged(void); void customParamsHelpRequested(QWidget *obj, QEvent *event); void customTempFolderChanged(const QString &text); @@ -231,6 +232,7 @@ private: QButtonGroup *m_modeButtonGroup; QButtonGroup *m_overwriteButtonGroup; + CustomEventFilter *m_evenFilterCornerWidget; CustomEventFilter *m_evenFilterCustumParamsHelp; CustomEventFilter *m_evenFilterOutputFolderMouse; CustomEventFilter *m_evenFilterOutputFolderView; diff --git a/src/Dialog_Processing.cpp b/src/Dialog_Processing.cpp index eeea81c2..0fdfd81c 100644 --- a/src/Dialog_Processing.cpp +++ b/src/Dialog_Processing.cpp @@ -152,6 +152,7 @@ ProcessingDialog::ProcessingDialog(FileListModel *fileListModel, const AudioFile m_ramObserver(NULL), m_progressViewFilter(-1), m_initThreads(0), + m_defaultColor(new QColor()), m_firstShow(true) { //Init the dialog, from the .ui file @@ -348,6 +349,7 @@ ProcessingDialog::~ProcessingDialog(void) LAMEXP_DELETE(m_contextMenu); LAMEXP_DELETE(m_progressModel); LAMEXP_DELETE(m_threadPool); + LAMEXP_DELETE(m_defaultColor); WinSevenTaskbar::setOverlayIcon(this, NULL); WinSevenTaskbar::setTaskbarState(this, WinSevenTaskbar::WinSevenTaskbarNoState); @@ -407,21 +409,19 @@ void ProcessingDialog::closeEvent(QCloseEvent *event) bool ProcessingDialog::eventFilter(QObject *obj, QEvent *event) { - static QColor defaultColor = QColor(); - if(obj == ui->label_versionInfo) { if(event->type() == QEvent::Enter) { QPalette palette = ui->label_versionInfo->palette(); - defaultColor = palette.color(QPalette::Normal, QPalette::WindowText); + *m_defaultColor = palette.color(QPalette::Normal, QPalette::WindowText); palette.setColor(QPalette::Normal, QPalette::WindowText, Qt::red); ui->label_versionInfo->setPalette(palette); } else if(event->type() == QEvent::Leave) { QPalette palette = ui->label_versionInfo->palette(); - palette.setColor(QPalette::Normal, QPalette::WindowText, defaultColor); + palette.setColor(QPalette::Normal, QPalette::WindowText, *m_defaultColor); ui->label_versionInfo->setPalette(palette); } else if(event->type() == QEvent::MouseButtonPress) diff --git a/src/Dialog_Processing.h b/src/Dialog_Processing.h index ff93baaa..4f0281b9 100644 --- a/src/Dialog_Processing.h +++ b/src/Dialog_Processing.h @@ -136,4 +136,5 @@ private: DiskObserverThread *m_diskObserver; qint64 m_timerStart; int m_progressViewFilter; + QColor *m_defaultColor; }; diff --git a/src/Encoder_AAC_QAAC.cpp b/src/Encoder_AAC_QAAC.cpp index 34da3ec7..16c9fa85 100644 --- a/src/Encoder_AAC_QAAC.cpp +++ b/src/Encoder_AAC_QAAC.cpp @@ -109,7 +109,7 @@ class QAACEncoderInfo : public AbstractEncoderInfo virtual const char *description(void) const { - static const char* s_description = "QAAC/QuickTime (\x0C2\x0A9 Appel)"; + static const char* s_description = "QAAC/QuickTime (\x0C2\x0A9 Apple Inc.)"; return s_description; } } @@ -121,10 +121,11 @@ static const g_qaacEncoderInfo; QAACEncoder::QAACEncoder(void) : - m_binary_enc(lamexp_lookup_tool("qaac.exe")), - m_binary_dll(lamexp_lookup_tool("libsoxrate.dll")) + m_binary_qaac(lamexp_lookup_tool("qaac.exe")), + m_binary_soxr(lamexp_lookup_tool("libsoxr.dll")), + m_binary_soxc(lamexp_lookup_tool("libsoxconvolver.dll")) { - if(m_binary_enc.isEmpty() || m_binary_dll.isEmpty()) + if(m_binary_qaac.isEmpty() || m_binary_soxr.isEmpty() || m_binary_soxc.isEmpty()) { THROW("Error initializing QAAC. Tool 'qaac.exe' is not registred!"); } @@ -189,7 +190,7 @@ bool QAACEncoder::encode(const QString &sourceFile, const AudioFileModel_MetaInf args << "-o" << QDir::toNativeSeparators(outputFile); args << QDir::toNativeSeparators(sourceFile); - if(!startProcess(process, m_binary_enc, args)) + if(!startProcess(process, m_binary_qaac, args)) { return false; } diff --git a/src/Encoder_AAC_QAAC.h b/src/Encoder_AAC_QAAC.h index dd1986ef..83f398eb 100644 --- a/src/Encoder_AAC_QAAC.h +++ b/src/Encoder_AAC_QAAC.h @@ -45,7 +45,8 @@ public: static const AbstractEncoderInfo *getEncoderInfo(void); private: - const QString m_binary_enc; - const QString m_binary_dll; + const QString m_binary_qaac; + const QString m_binary_soxr; + const QString m_binary_soxc; int m_configProfile; }; diff --git a/src/Global.h b/src/Global.h index ac519478..da262127 100644 --- a/src/Global.h +++ b/src/Global.h @@ -186,6 +186,7 @@ bool lamexp_install_translator_from_file(const QString &qmFile); void lamexp_invalid_param_handler(const wchar_t*, const wchar_t*, const wchar_t*, unsigned int, uintptr_t); void lamexp_ipc_read(unsigned int *command, char* message, size_t buffSize); void lamexp_ipc_send(unsigned int command, const char* message); +bool lamexp_is_executable(const QString &path); bool lamexp_is_hibernation_supported(void); const QString &lamexp_known_folder(lamexp_known_folder_t folder_id); const QString lamexp_lookup_tool(const QString &toolName); diff --git a/src/Global_Version.cpp b/src/Global_Version.cpp index 7157afea..a801a434 100644 --- a/src/Global_Version.cpp +++ b/src/Global_Version.cpp @@ -106,8 +106,10 @@ static const unsigned int g_lamexp_toolver_coreaudio = VER_LAMEXP_TOOL_COREAUDIO #if (_MSC_VER == 1800) #if (_MSC_FULL_VER < 180021005) static const char *g_lamexp_version_compiler = "MSVC 2013-Beta"; - #elif (_MSC_FULL_VER == 180021005) + #elif (_MSC_FULL_VER < 180030501) static const char *g_lamexp_version_compiler = "MSVC 2013"; + #elif (_MSC_FULL_VER == 180030501) + static const char *g_lamexp_version_compiler = "MSVC 2013.2"; #else #error Compiler version is not supported yet! #endif @@ -311,7 +313,7 @@ bool lamexp_portable_mode(void) QString baseName = QFileInfo(QApplication::applicationFilePath()).completeBaseName(); int idx1 = baseName.indexOf("lamexp", 0, Qt::CaseInsensitive); int idx2 = baseName.lastIndexOf("portable", -1, Qt::CaseInsensitive); - g_lamexp_portable.bPortableModeEnabled = (idx1 >= 0) && (idx2 >= 0) && (idx1 < idx2); + g_lamexp_portable.bPortableModeEnabled = ((idx1 >= 0) && (idx2 >= 0) && (idx1 < idx2)); } g_lamexp_portable.bInitialized = true; } diff --git a/src/Global_Win32.cpp b/src/Global_Win32.cpp index 10735060..374fd7b6 100644 --- a/src/Global_Win32.cpp +++ b/src/Global_Win32.cpp @@ -1101,6 +1101,20 @@ bool lamexp_init_qt(int argc, char* argv[]) } } + //Enable larger/smaller font size + double fontScaleFactor = 1.0; + if(arguments.contains("--huge-font", Qt::CaseInsensitive)) fontScaleFactor = 1.500; + if(arguments.contains("--big-font", Qt::CaseInsensitive)) fontScaleFactor = 1.250; + if(arguments.contains("--small-font", Qt::CaseInsensitive)) fontScaleFactor = 0.875; + if(arguments.contains("--tiny-font", Qt::CaseInsensitive)) fontScaleFactor = 0.750; + if(!qFuzzyCompare(fontScaleFactor, 1.0)) + { + qWarning("Application font scale factor set to: %.3f\n", fontScaleFactor); + QFont appFont = application->font(); + appFont.setPointSizeF(appFont.pointSizeF() * fontScaleFactor); + application->setFont(appFont); + } + //Add the default translations lamexp_translation_init(); @@ -2253,6 +2267,20 @@ bool lamexp_user_is_admin(void) return isAdmin; } +/* + * Check if file is a valid Win32/Win64 executable + */ +bool lamexp_is_executable(const QString &path) +{ + bool bIsExecutable = false; + DWORD binaryType; + if(GetBinaryType(QWCHAR(QDir::toNativeSeparators(path)), &binaryType)) + { + bIsExecutable = (binaryType == SCS_32BIT_BINARY || binaryType == SCS_64BIT_BINARY); + } + return bIsExecutable; +} + /* * Fatal application exit */ diff --git a/src/Model_Artwork.h b/src/Model_Artwork.h index 9ca99ce3..308cb612 100644 --- a/src/Model_Artwork.h +++ b/src/Model_Artwork.h @@ -41,7 +41,7 @@ public: void setFilePath(const QString &newPath, bool isOwner = true); void clear(void); - inline bool isEmpty(void) const { return (m_data != NULL); } + inline bool isEmpty(void) const { return (m_data == NULL); } private: const QString m_nullString; diff --git a/src/Model_AudioFile.cpp b/src/Model_AudioFile.cpp index bf3ce1ca..df7b8cb5 100644 --- a/src/Model_AudioFile.cpp +++ b/src/Model_AudioFile.cpp @@ -45,6 +45,32 @@ while(0) } \ while(0) +//if((!(OTHER.NAME.isEmpty())) && ((FORCE) || (this.NAME.isEmpty()))) /*this.NAME = OTHER.NAME;*/ \ + +#define UPDATE_STR(OTHER, FORCE, NAME) do \ +{ \ + if(!(((OTHER).NAME).isEmpty())) \ + { \ + if((FORCE) || ((this->NAME).isEmpty())) (this->NAME) = ((OTHER).NAME); \ + } \ +} \ +while(0) + +#define UPDATE_INT(OTHER, FORCE, NAME) do \ +{ \ + if(((OTHER).NAME) > 0) \ + { \ + if((FORCE) || ((this->NAME) == 0)) (this->NAME) = ((OTHER).NAME); \ + } \ +} \ +while(0) + +#define ASSIGN_VAL(OTHER, NAME) do \ +{ \ + (this->NAME) = ((OTHER).NAME); \ +} \ +while(0) + /////////////////////////////////////////////////////////////////////////////// // Audio File - Meta Info /////////////////////////////////////////////////////////////////////////////// @@ -56,40 +82,42 @@ AudioFileModel_MetaInfo::AudioFileModel_MetaInfo(void) AudioFileModel_MetaInfo::AudioFileModel_MetaInfo(const AudioFileModel_MetaInfo &model) { - m_titel = model.m_titel; - m_artist = model.m_artist; - m_album = model.m_album; - m_genre = model.m_genre; - m_comment = model.m_comment; - m_cover = model.m_cover; - m_year = model.m_year; - m_position = model.m_position; + ASSIGN_VAL(model, m_titel); + ASSIGN_VAL(model, m_artist); + ASSIGN_VAL(model, m_album); + ASSIGN_VAL(model, m_genre); + ASSIGN_VAL(model, m_comment); + ASSIGN_VAL(model, m_cover); + ASSIGN_VAL(model, m_year); + ASSIGN_VAL(model, m_position); } AudioFileModel_MetaInfo &AudioFileModel_MetaInfo::operator=(const AudioFileModel_MetaInfo &model) { - m_titel = model.m_titel; - m_artist = model.m_artist; - m_album = model.m_album; - m_genre = model.m_genre; - m_comment = model.m_comment; - m_cover = model.m_cover; - m_year = model.m_year; - m_position = model.m_position; + ASSIGN_VAL(model, m_titel); + ASSIGN_VAL(model, m_artist); + ASSIGN_VAL(model, m_album); + ASSIGN_VAL(model, m_genre); + ASSIGN_VAL(model, m_comment); + ASSIGN_VAL(model, m_cover); + ASSIGN_VAL(model, m_year); + ASSIGN_VAL(model, m_position); return (*this); } +#define IS_EMPTY(X) ((X).isEmpty() ? "YES" : "NO") + void AudioFileModel_MetaInfo::update(const AudioFileModel_MetaInfo &model, const bool replace) { - if((!model.m_titel.isEmpty()) && (replace || m_titel.isEmpty())) m_titel = model.m_titel; - if((!model.m_artist.isEmpty()) && (replace || m_artist.isEmpty())) m_artist = model.m_artist; - if((!model.m_album.isEmpty()) && (replace || m_album.isEmpty())) m_album = model.m_album; - if((!model.m_genre.isEmpty()) && (replace || m_genre.isEmpty())) m_genre = model.m_genre; - if((!model.m_comment.isEmpty()) && (replace || m_comment.isEmpty())) m_comment = model.m_comment; - if((!model.m_cover.isEmpty()) && (replace || m_cover.isEmpty())) m_cover = model.m_cover; - if((model.m_year > 0) && (replace || (m_year == 0))) m_year = model.m_year; - if((model.m_position > 0) && (replace || (m_position == 0))) m_position = model.m_position; + UPDATE_STR(model, replace, m_titel); + UPDATE_STR(model, replace, m_artist); + UPDATE_STR(model, replace, m_album); + UPDATE_STR(model, replace, m_genre); + UPDATE_STR(model, replace, m_comment); + UPDATE_STR(model, replace, m_cover); + UPDATE_INT(model, replace, m_year); + UPDATE_INT(model, replace, m_position); } AudioFileModel_MetaInfo::~AudioFileModel_MetaInfo(void) @@ -132,34 +160,34 @@ AudioFileModel_TechInfo::AudioFileModel_TechInfo(void) AudioFileModel_TechInfo::AudioFileModel_TechInfo(const AudioFileModel_TechInfo &model) { - m_containerType = model.m_containerType; - m_containerProfile = model.m_containerProfile; - m_audioType = model.m_audioType; - m_audioProfile = model.m_audioProfile; - m_audioVersion = model.m_audioVersion; - m_audioEncodeLib = model.m_audioEncodeLib; - m_audioSamplerate = model.m_audioSamplerate; - m_audioChannels = model.m_audioChannels; - m_audioBitdepth = model.m_audioBitdepth; - m_audioBitrate = model.m_audioBitrate; - m_audioBitrateMode = model.m_audioBitrateMode; - m_duration = model.m_duration; + ASSIGN_VAL(model, m_containerType); + ASSIGN_VAL(model, m_containerProfile); + ASSIGN_VAL(model, m_audioType); + ASSIGN_VAL(model, m_audioProfile); + ASSIGN_VAL(model, m_audioVersion); + ASSIGN_VAL(model, m_audioEncodeLib); + ASSIGN_VAL(model, m_audioSamplerate); + ASSIGN_VAL(model, m_audioChannels); + ASSIGN_VAL(model, m_audioBitdepth); + ASSIGN_VAL(model, m_audioBitrate); + ASSIGN_VAL(model, m_audioBitrateMode); + ASSIGN_VAL(model, m_duration); } AudioFileModel_TechInfo &AudioFileModel_TechInfo::operator=(const AudioFileModel_TechInfo &model) { - m_containerType = model.m_containerType; - m_containerProfile = model.m_containerProfile; - m_audioType = model.m_audioType; - m_audioProfile = model.m_audioProfile; - m_audioVersion = model.m_audioVersion; - m_audioEncodeLib = model.m_audioEncodeLib; - m_audioSamplerate = model.m_audioSamplerate; - m_audioChannels = model.m_audioChannels; - m_audioBitdepth = model.m_audioBitdepth; - m_audioBitrate = model.m_audioBitrate; - m_audioBitrateMode = model.m_audioBitrateMode; - m_duration = model.m_duration; + ASSIGN_VAL(model, m_containerType); + ASSIGN_VAL(model, m_containerProfile); + ASSIGN_VAL(model, m_audioType); + ASSIGN_VAL(model, m_audioProfile); + ASSIGN_VAL(model, m_audioVersion); + ASSIGN_VAL(model, m_audioEncodeLib); + ASSIGN_VAL(model, m_audioSamplerate); + ASSIGN_VAL(model, m_audioChannels); + ASSIGN_VAL(model, m_audioBitdepth); + ASSIGN_VAL(model, m_audioBitrate); + ASSIGN_VAL(model, m_audioBitrateMode); + ASSIGN_VAL(model, m_duration); return (*this); } @@ -199,16 +227,16 @@ AudioFileModel::AudioFileModel(const QString &path) AudioFileModel::AudioFileModel(const AudioFileModel &model) { - m_filePath = model.m_filePath; - m_metaInfo = model.m_metaInfo; - m_techInfo = model.m_techInfo; + ASSIGN_VAL(model, m_filePath); + ASSIGN_VAL(model, m_metaInfo); + ASSIGN_VAL(model, m_techInfo); } AudioFileModel &AudioFileModel::operator=(const AudioFileModel &model) { - m_filePath = model.m_filePath; - m_metaInfo = model.m_metaInfo; - m_techInfo = model.m_techInfo; + ASSIGN_VAL(model, m_filePath); + ASSIGN_VAL(model, m_metaInfo); + ASSIGN_VAL(model, m_techInfo); return (*this); } diff --git a/src/Model_Settings.cpp b/src/Model_Settings.cpp index 2fc911ba..b7301baa 100644 --- a/src/Model_Settings.cpp +++ b/src/Model_Settings.cpp @@ -23,6 +23,7 @@ #include "Model_Settings.h" #include "Global.h" +#include "Registry_Encoder.h" #include #include @@ -379,18 +380,12 @@ void SettingsModel::validate(void) CHECK_RCMODE(Aften); CHECK_RCMODE(OpusEnc); - if(!(lamexp_check_tool("neroAacEnc.exe") && lamexp_check_tool("neroAacDec.exe") && lamexp_check_tool("neroAacTag.exe"))) + if(EncoderRegistry::getAacEncoder() == AAC_ENCODER_NONE) { - if(!(lamexp_check_tool("fhgaacenc.exe") && lamexp_check_tool("enc_fhgaac.dll"))) + if(this->compressionEncoder() == SettingsModel::AACEncoder) { - if(!(lamexp_check_tool("qaac.exe") && lamexp_check_tool("libsoxrate.dll"))) - { - if(this->compressionEncoder() == SettingsModel::AACEncoder) - { - qWarning("AAC encoder selected, but not available any more. Reverting to MP3!"); - this->compressionEncoder(SettingsModel::MP3Encoder); - } - } + qWarning("AAC encoder selected, but not available any more. Reverting to MP3!"); + this->compressionEncoder(SettingsModel::MP3Encoder); } } @@ -566,7 +561,7 @@ LAMEXP_MAKE_OPTION_I(aftenExponentSearchSize, 8) LAMEXP_MAKE_OPTION_B(aftenFastBitAllocation, false) LAMEXP_MAKE_OPTION_B(antivirNotificationsEnabled, true) LAMEXP_MAKE_OPTION_B(autoUpdateCheckBeta, false) -LAMEXP_MAKE_OPTION_B(autoUpdateEnabled, true) +LAMEXP_MAKE_OPTION_B(autoUpdateEnabled, (!lamexp_portable_mode())); LAMEXP_MAKE_OPTION_S(autoUpdateLastCheck, "Never") LAMEXP_MAKE_OPTION_B(bitrateManagementEnabled, false) LAMEXP_MAKE_OPTION_I(bitrateManagementMaxRate, 500) diff --git a/src/Registry_Encoder.cpp b/src/Registry_Encoder.cpp index d09bd9a3..2c9b8eae 100644 --- a/src/Registry_Encoder.cpp +++ b/src/Registry_Encoder.cpp @@ -476,7 +476,7 @@ void EncoderRegistry::resetAllEncoders(SettingsModel *settings) int EncoderRegistry::getAacEncoder(void) { - if(lamexp_check_tool("qaac.exe") && lamexp_check_tool("libsoxrate.dll")) + if(lamexp_check_tool("qaac.exe") && lamexp_check_tool("libsoxr.dll") && lamexp_check_tool("libsoxconvolver.dll")) { return SettingsModel::AAC_ENCODER_QAAC; } diff --git a/src/Thread_CheckUpdate.cpp b/src/Thread_CheckUpdate.cpp index 1a3d477b..bea8bc7c 100644 --- a/src/Thread_CheckUpdate.cpp +++ b/src/Thread_CheckUpdate.cpp @@ -57,7 +57,6 @@ static const char *update_mirrors_prim[] = "http://muldersoft.kilu.de/", "http://muldersoft.zxq.net/", "http://lamexp.sourceforge.net/", - "http://lamexp.berlios.de/", "http://lordmulder.github.io/LameXP/", "http://lord_mulder.bitbucket.org/", "http://www.tricksoft.de/", @@ -253,6 +252,7 @@ void UpdateCheckThread::checkForUpdates(void) // ----- Test Internet Connection ----- // int connectionScore = 0; + int maxConnectTries = (3 * MIN_CONNSCORE) / 2; log("Checking internet connection..."); setStatus(UpdateStatus_CheckingConnection); @@ -277,32 +277,22 @@ void UpdateCheckThread::checkForUpdates(void) } lamexp_seed_rand(); - while(!hostList.isEmpty()) + + while(!(hostList.isEmpty() || (connectionScore >= MIN_CONNSCORE) || (maxConnectTries < 1))) { - QString currentHost = hostList.takeAt(lamexp_rand() % hostList.count()); - if(connectionScore < MIN_CONNSCORE) + switch(tryContactHost(hostList.takeAt(lamexp_rand() % hostList.count()))) { - log("", "Testing host:", currentHost); - QString outFile = QString("%1/%2.htm").arg(lamexp_temp_folder2(), lamexp_rand_str()); - bool httpOk = false; - if(getFile(currentHost, outFile, 0, &httpOk)) - { - connectionScore++; - setProgress(qBound(1, connectionScore + 1, MIN_CONNSCORE + 1)); - lamexp_sleep(64); - } - if(httpOk) - { - connectionScore++; - setProgress(qBound(1, connectionScore + 1, MIN_CONNSCORE + 1)); - lamexp_sleep(64); - } - QFile::remove(outFile); + case 01: connectionScore += 1; break; + case 02: connectionScore += 2; break; + default: maxConnectTries -= 1; break; } + setProgress(qBound(1, connectionScore + 1, MIN_CONNSCORE + 1)); + lamexp_sleep(64); } if(connectionScore < MIN_CONNSCORE) { + log("", "Connectivity test has failed: Internet connection appears to be broken!"); setProgress(m_maxProgress); setStatus(UpdateStatus_ErrorConnectionTestFailed); return; @@ -441,6 +431,35 @@ void UpdateCheckThread::log(const QString &str1, const QString &str2, const QStr if(!str4.isNull()) emit messageLogged(str4); } +int UpdateCheckThread::tryContactHost(const QString &url) +{ + int result = -1; bool httpOkay = false; + const QString outFile = QString("%1/%2.htm").arg(lamexp_temp_folder2(), lamexp_rand_str()); + log("", "Testing host:", url); + + if(getFile(url, outFile, 0, &httpOkay)) + { + log("Connection to host was established successfully."); + result = 2; + } + else + { + if(httpOkay) + { + log("Connection to host timed out after HTTP OK was received."); + result = 1; + } + else + { + log("Connection failed: The host could not be reached!"); + result = 0; + } + } + + QFile::remove(outFile); + return result; +} + bool UpdateCheckThread::tryUpdateMirror(UpdateInfo *updateInfo, const QString &url) { bool success = false; @@ -499,7 +518,7 @@ bool UpdateCheckThread::getFile(const QString &url, const QString &outFile, unsi lamexp_init_process(process, output.absolutePath()); QStringList args; - args << "--no-cache" << "--no-dns-cache" << QString().sprintf("--max-redirect=%u", maxRedir); + args << "-T" << "15" << "--no-cache" << "--no-dns-cache" << QString().sprintf("--max-redirect=%u", maxRedir); args << QString("--referer=%1://%2/").arg(QUrl(url).scheme(), QUrl(url).host()) << "-U" << USER_AGENT_STR; args << "-O" << output.fileName() << url; @@ -524,10 +543,10 @@ bool UpdateCheckThread::getFile(const QString &url, const QString &outFile, unsi timer.start(); - while(process.state() == QProcess::Running) + while(process.state() != QProcess::NotRunning) { loop.exec(); - bool bTimeOut = (!timer.isActive()); + const bool bTimeOut = (!timer.isActive()); while(process.canReadLine()) { QString line = QString::fromLatin1(process.readLine()).simplified(); diff --git a/src/Thread_CheckUpdate.h b/src/Thread_CheckUpdate.h index 916520b7..9e01661b 100644 --- a/src/Thread_CheckUpdate.h +++ b/src/Thread_CheckUpdate.h @@ -102,6 +102,7 @@ private: inline void log(const QString &str1, const QString &str2 = QString(), const QString &str3 = QString(), const QString &str4 = QString()); bool getFile(const QString &url, const QString &outFile, unsigned int maxRedir = 5, bool *httpOk = NULL); + int tryContactHost(const QString &url); bool tryUpdateMirror(UpdateInfo *updateInfo, const QString &url); bool checkSignature(const QString &file, const QString &signature); bool parseVersionInfo(const QString &file, UpdateInfo *updateInfo); diff --git a/src/Thread_Initialization.cpp b/src/Thread_Initialization.cpp index 08dd4bbf..e49b6478 100644 --- a/src/Thread_Initialization.cpp +++ b/src/Thread_Initialization.cpp @@ -546,15 +546,24 @@ void InitializationThread::initNeroAac(void) bool neroFilesFound = true; for(int i = 0; i < 3; i++) { if(!neroFileInfo[i].exists()) neroFilesFound = false; } - //Lock the Nero binaries if(!neroFilesFound) { qDebug("Nero encoder binaries not found -> AAC encoding support will be disabled!\n"); return; } + for(int i = 0; i < 3; i++) + { + if(!lamexp_is_executable(neroFileInfo[i].canonicalFilePath())) + { + qDebug("%s executbale is invalid -> AAC encoding support will be disabled!\n", QUTF8(neroFileInfo[i].fileName())); + return; + } + } + qDebug("Found Nero AAC encoder binary:\n%s\n", QUTF8(neroFileInfo[0].canonicalFilePath())); + //Lock the Nero binaries LockedFile *neroBin[3]; for(int i = 0; i < 3; i++) neroBin[i] = NULL; @@ -651,16 +660,22 @@ void InitializationThread::initFhgAac(void) bool fhgFilesFound = true; for(int i = 0; i < 5; i++) { if(!fhgFileInfo[i].exists()) fhgFilesFound = false; } - //Lock the FhgAacEnc binaries if(!fhgFilesFound) { qDebug("FhgAacEnc binaries not found -> FhgAacEnc support will be disabled!\n"); return; } + if(!lamexp_is_executable(fhgFileInfo[0].canonicalFilePath())) + { + qDebug("FhgAacEnc executbale is invalid -> FhgAacEnc support will be disabled!\n"); + return; + } + qDebug("Found FhgAacEnc cli_exe:\n%s\n", QUTF8(fhgFileInfo[0].canonicalFilePath())); qDebug("Found FhgAacEnc enc_dll:\n%s\n", QUTF8(fhgFileInfo[1].canonicalFilePath())); + //Lock the FhgAacEnc binaries LockedFile *fhgBin[5]; for(int i = 0; i < 5; i++) fhgBin[i] = NULL; @@ -743,35 +758,43 @@ void InitializationThread::initQAac(void) { const QString appPath = QDir(QCoreApplication::applicationDirPath()).canonicalPath(); - QFileInfo qaacFileInfo[2]; + QFileInfo qaacFileInfo[4]; qaacFileInfo[0] = QFileInfo(QString("%1/qaac.exe").arg(appPath)); - qaacFileInfo[1] = QFileInfo(QString("%1/libsoxrate.dll").arg(appPath)); + qaacFileInfo[1] = QFileInfo(QString("%1/libsoxr.dll").arg(appPath)); + qaacFileInfo[2] = QFileInfo(QString("%1/libsoxconvolver.dll").arg(appPath)); + qaacFileInfo[3] = QFileInfo(QString("%1/libgcc_s_sjlj-1.dll").arg(appPath)); bool qaacFilesFound = true; - for(int i = 0; i < 2; i++) { if(!qaacFileInfo[i].exists()) qaacFilesFound = false; } + for(int i = 0; i < 4; i++) { if(!qaacFileInfo[i].exists()) qaacFilesFound = false; } - //Lock the QAAC binaries if(!qaacFilesFound) { - qDebug("QAAC binaries not found -> QAAC support will be disabled!\n"); + qDebug("QAAC binary or companion DLL's not found -> QAAC support will be disabled!\n"); + return; + } + + if(!lamexp_is_executable(qaacFileInfo[0].canonicalFilePath())) + { + qDebug("QAAC executbale is invalid -> QAAC support will be disabled!\n"); return; } qDebug("Found QAAC encoder:\n%s\n", QUTF8(qaacFileInfo[0].canonicalFilePath())); - LockedFile *qaacBin[2]; - for(int i = 0; i < 2; i++) qaacBin[i] = NULL; + //Lock the required QAAC binaries + LockedFile *qaacBin[4]; + for(int i = 0; i < 4; i++) qaacBin[i] = NULL; try { - for(int i = 0; i < 2; i++) + for(int i = 0; i < 4; i++) { qaacBin[i] = new LockedFile(qaacFileInfo[i].canonicalFilePath()); } } catch(...) { - for(int i = 0; i < 2; i++) LAMEXP_DELETE(qaacBin[i]); + for(int i = 0; i < 4; i++) LAMEXP_DELETE(qaacBin[i]); qWarning("Failed to get excluive lock to QAAC binary -> QAAC support will be disabled!"); return; } @@ -787,14 +810,19 @@ void InitializationThread::initQAac(void) qWarning("Error message: \"%s\"\n", process.errorString().toLatin1().constData()); process.kill(); process.waitForFinished(-1); - for(int i = 0; i < 2; i++) LAMEXP_DELETE(qaacBin[i]); + for(int i = 0; i < 4; i++) LAMEXP_DELETE(qaacBin[i]); return; } QRegExp qaacEncSig("qaac (\\d)\\.(\\d)(\\d)", Qt::CaseInsensitive); QRegExp coreEncSig("CoreAudioToolbox (\\d)\\.(\\d)\\.(\\d)\\.(\\d)", Qt::CaseInsensitive); + QRegExp soxrEncSig("libsoxr-\\d\\.\\d\\.\\d", Qt::CaseInsensitive); + QRegExp soxcEncSig("libsoxconvolver \\d\\.\\d\\.\\d", Qt::CaseInsensitive); + unsigned int qaacVersion = 0; unsigned int coreVersion = 0; + bool soxrFound = false; + bool soxcFound = false; while(process.state() != QProcess::NotRunning) { @@ -804,7 +832,7 @@ void InitializationThread::initQAac(void) qWarning("QAAC process time out -> killing!"); process.kill(); process.waitForFinished(-1); - for(int i = 0; i < 2; i++) LAMEXP_DELETE(qaacBin[i]); + for(int i = 0; i < 4; i++) LAMEXP_DELETE(qaacBin[i]); return; } while(process.bytesAvailable() > 0) @@ -835,6 +863,8 @@ void InitializationThread::initQAac(void) coreVersion = (qBound(0U, tmp[0], 9U) * 1000) + (qBound(0U, tmp[1], 9U) * 100) + (qBound(0U, tmp[2], 9U) * 10) + qBound(0U, tmp[3], 9U); } } + if(soxcEncSig.lastIndexIn(line) >= 0) { soxcFound = true; } + if(soxrEncSig.lastIndexIn(line) >= 0) { soxrFound = true; } } } @@ -843,33 +873,41 @@ void InitializationThread::initQAac(void) if(!(qaacVersion > 0)) { qWarning("QAAC version couldn't be determined -> QAAC support will be disabled!"); - for(int i = 0; i < 2; i++) LAMEXP_DELETE(qaacBin[i]); + for(int i = 0; i < 4; i++) LAMEXP_DELETE(qaacBin[i]); return; } else if(qaacVersion < lamexp_toolver_qaacenc()) { qWarning("QAAC version is too much outdated (%s) -> QAAC support will be disabled!", lamexp_version2string("v?.??", qaacVersion, "N/A").toLatin1().constData()); qWarning("Minimum required QAAC version currently is: %s.\n", lamexp_version2string("v?.??", lamexp_toolver_qaacenc(), "N/A").toLatin1().constData()); - for(int i = 0; i < 2; i++) LAMEXP_DELETE(qaacBin[i]); + for(int i = 0; i < 4; i++) LAMEXP_DELETE(qaacBin[i]); return; } if(!(coreVersion > 0)) { qWarning("CoreAudioToolbox version couldn't be determined -> QAAC support will be disabled!"); - for(int i = 0; i < 2; i++) LAMEXP_DELETE(qaacBin[i]); + for(int i = 0; i < 4; i++) LAMEXP_DELETE(qaacBin[i]); return; } else if(coreVersion < lamexp_toolver_coreaudio()) { qWarning("CoreAudioToolbox version is too much outdated (%s) -> QAAC support will be disabled!", lamexp_version2string("v?.?.?.?", coreVersion, "N/A").toLatin1().constData()); qWarning("Minimum required CoreAudioToolbox version currently is: %s.\n", lamexp_version2string("v?.??", lamexp_toolver_coreaudio(), "N/A").toLatin1().constData()); - for(int i = 0; i < 2; i++) LAMEXP_DELETE(qaacBin[i]); + for(int i = 0; i < 4; i++) LAMEXP_DELETE(qaacBin[i]); + return; + } + + if(!(soxrFound && soxcFound)) + { + qWarning("libsoxr and/or libsoxconvolver not available -> QAAC support will be disabled!\n"); return; } lamexp_register_tool(qaacFileInfo[0].fileName(), qaacBin[0], qaacVersion); lamexp_register_tool(qaacFileInfo[1].fileName(), qaacBin[1], qaacVersion); + lamexp_register_tool(qaacFileInfo[2].fileName(), qaacBin[2], qaacVersion); + lamexp_register_tool(qaacFileInfo[3].fileName(), qaacBin[3], qaacVersion); } void InitializationThread::selfTest(void) diff --git a/src/Tools.h b/src/Tools.h index d8339979..3f58592f 100644 --- a/src/Tools.h +++ b/src/Tools.h @@ -66,18 +66,18 @@ g_lamexp_tools[] = {"53cfab3896a47d48f523315f475fa07856d468ad1aefcc8cce19c18cdf509e2f92840dab92a442995df36d941cb7a6ca", CPU_TYPE_ALL_GEN, "lame.i386.exe", 3995, "Final"}, {"9511e7ef2ad10de05386eedf7f14d637edab894a53dacd2f8f15c6f8ed582f12c25fb5bf88438e62c46b8eb92e7634b2", CPU_TYPE_ALL_SSE, "lame.sse2.exe", 3995, "Final"}, {"fdbeb978025b9a5345300f37bb56446c31c7db594cf29407afdcc9ce20f4a5cec6eb8c03962c247d4f45b83c465ac705", CPU_TYPE_ALL_ALL, "mac.exe", 412, ""}, - {"b0cf3fdee3231f92035b83ade52427ffd95bd1210f4f83f8ae6c2ea069b772a93415563e787987638ebbd14b5a2f9120", CPU_TYPE_X86_ALL, "mediainfo.i386.exe", 767, ""}, - {"6d6db3e9ffb78784ac5f45f0fa98bfbd48af43b3400d7127038898c0b6b980a849f21f75fbfc94a54f050a7a3935f111", CPU_TYPE_X64_ALL, "mediainfo.x64.exe", 767, ""}, + {"975408454231ac8c51960907a7eea1dd4ef8f7e1269816737e8c072ab695de32d3dae433bc667f8d1343a60e95ddb38d", CPU_TYPE_X86_ALL, "mediainfo.i386.exe", 769, ""}, + {"3c049cb7e149413129cfc17588346bfa455554da6a6aec549a7b8e2a6f0953fa2a7f5d3425e6f41a26ed6b379c514687", CPU_TYPE_X64_ALL, "mediainfo.x64.exe", 769, ""}, {"7e6346a057634ff07b2e1f427035324f7f02100cc996425990f87f71d767fce4c7b101588c7d944ba49cb2d7e51c9bdb", CPU_TYPE_ALL_ALL, "mpcdec.exe", 475, ""}, - {"8f844060ed60b4d3fb8c2f2f28e13304a69fa97cde3859ee5c62fef46aea6f500e4dc74114ded901ee9231bbb5d2af64", CPU_TYPE_ALL_ALL, "mpg123.exe", 1160, ""}, + {"96c6e22928f34a514d824f3d6e2fdc2cc1dcfb3e074ab109c989f54654e80c68f5f81648d1eca4199654289fd511df7f", CPU_TYPE_ALL_ALL, "mpg123.exe", 1190, ""}, {"75c39861ac82d7fc8392fbddff9f5b785e7abee29f8c1843706a9b225966e05ef4be2a160f98f389beaf5238c5de121c", CPU_TYPE_ALL_ALL, "oggdec.exe", UINT_MAX, ""}, {"8b68461f38410421be30cc895e94e63184daa6f2cb20eb110b66b376b48141838a09bc920efeb1c49de79dd0770ce41b", CPU_TYPE_X86_GEN, "oggenc2.i386.exe", 287603, "Beta"}, {"20648f83cc637cada481143d48c437ced8423e9a0aae01dbce860cd97fb1ce4000e314f3a5395d1eafd8e154a8e74d08", CPU_TYPE_X86_SSE, "oggenc2.sse2.exe", 287603, "Beta"}, {"53766251d69e0695ae7d0cbc4f19aafdce90bfebde0815e2216a5b34955f151271d97d23a00be5ce280a502b718753cc", CPU_TYPE_X64_ALL, "oggenc2.x64.exe", 287603, "Beta"}, - {"d0899fa678b1d41aa59952e6f5790b30a6dac961390cbfaa3559c302c0da74907b39a348f79014d2ede088338f60a1f1", CPU_TYPE_ALL_GEN, "opusdec.i386.exe", 20131205, "v1.1"}, - {"1ffce4de07b81a9a07746a2eb169acfac527e1f450509997283dd2ebfc534ab7516b251fc1f81873759a8e363fd7a953", CPU_TYPE_ALL_SSE, "opusdec.sse2.exe", 20131205, "v1.1"}, - {"bd97b7edb69a81edf8441d07a516b16d2876e22882e302e0c8e730f860ad6d070d124e06034b9b4132022889a6d13d5f", CPU_TYPE_ALL_GEN, "opusenc.i386.exe", 20131205, "v1.1"}, - {"63beefa4c2481f1e6f260bb3ef62aadc4d838665569145697f42774aa4d343636f8e657b3fa6126155a93e71b3f44203", CPU_TYPE_ALL_SSE, "opusenc.sse2.exe", 20131205, "v1.1"}, + {"b8f8167ee344ada98d6cca831145c0f8f97a25875f34f8ee03395a5ac5203bfefca4e472f4c8ae5b9999bd2ded83bd7e", CPU_TYPE_ALL_GEN, "opusdec.i386.exe", 20140413, "v1.1"}, + {"262549c5f349c984e94451666419eaff4c0f5558719a729568f9131306c6455420d2551c956d8ba2edc2bce533103d8a", CPU_TYPE_ALL_SSE, "opusdec.sse2.exe", 20140413, "v1.1"}, + {"2127979169db9a1fbfeb71fb88b59f5f85047855b25bb3e5bff6ffadc1bc31a8369cd1902ea9e9efd184a94ce1be92bd", CPU_TYPE_ALL_GEN, "opusenc.i386.exe", 20140413, "v1.1"}, + {"b38e61a5c1d57f31349d035d3891038a0ca2c9a5a8252e3ae91ad98e23436d7c9c69cedfae26043fadf6ea215b2de5de", CPU_TYPE_ALL_SSE, "opusenc.sse2.exe", 20140413, "v1.1"}, {"bdfa8dec142b6327a33af6bb314d7beb924588d1b73f2ef3f46b31fa6046fe2f4e64ca78b025b7eb9290a78320e2aa57", CPU_TYPE_ALL_ALL, "refalac.exe", 56, ""}, {"d041b60de6c5c6e77cbad84440db57bbeb021af59dd0f7bebd3ede047d9e2ddc2a0c14179472687ba91063743d23e337", CPU_TYPE_ALL_ALL, "shorten.exe", 361, ""}, {"cf988bfbb53e77a1dcaefbd5c08789abb4d67cc210723f1f8ba7850f17d34ebb7d0c426b67b963e7d2290a2744865244", CPU_TYPE_ALL_ALL, "sox.exe", 1441, ""},