Experimental support for dcaenc, by Alexander E. Patrakov <patrakov@gmail.com>.
This commit is contained in:
parent
a392864916
commit
a0a29b9551
@ -275,6 +275,7 @@ del "$(TargetDir)imageformats\q???d4.dll"
|
|||||||
<ClCompile Include="src\Encoder_AAC_QAAC.cpp" />
|
<ClCompile Include="src\Encoder_AAC_QAAC.cpp" />
|
||||||
<ClCompile Include="src\Encoder_Abstract.cpp" />
|
<ClCompile Include="src\Encoder_Abstract.cpp" />
|
||||||
<ClCompile Include="src\Encoder_AC3.cpp" />
|
<ClCompile Include="src\Encoder_AC3.cpp" />
|
||||||
|
<ClCompile Include="src\Encoder_DCA.cpp" />
|
||||||
<ClCompile Include="src\Encoder_FLAC.cpp" />
|
<ClCompile Include="src\Encoder_FLAC.cpp" />
|
||||||
<ClCompile Include="src\Encoder_MP3.cpp" />
|
<ClCompile Include="src\Encoder_MP3.cpp" />
|
||||||
<ClCompile Include="src\Encoder_Vorbis.cpp" />
|
<ClCompile Include="src\Encoder_Vorbis.cpp" />
|
||||||
@ -327,6 +328,7 @@ del "$(TargetDir)imageformats\q???d4.dll"
|
|||||||
<ClCompile Include="tmp\MOC_Encoder_AAC_QAAC.cpp" />
|
<ClCompile Include="tmp\MOC_Encoder_AAC_QAAC.cpp" />
|
||||||
<ClCompile Include="tmp\MOC_Encoder_Abstract.cpp" />
|
<ClCompile Include="tmp\MOC_Encoder_Abstract.cpp" />
|
||||||
<ClCompile Include="tmp\MOC_Encoder_AC3.cpp" />
|
<ClCompile Include="tmp\MOC_Encoder_AC3.cpp" />
|
||||||
|
<ClCompile Include="tmp\MOC_Encoder_DCA.cpp" />
|
||||||
<ClCompile Include="tmp\MOC_Encoder_FLAC.cpp" />
|
<ClCompile Include="tmp\MOC_Encoder_FLAC.cpp" />
|
||||||
<ClCompile Include="tmp\MOC_Encoder_MP3.cpp" />
|
<ClCompile Include="tmp\MOC_Encoder_MP3.cpp" />
|
||||||
<ClCompile Include="tmp\MOC_Encoder_Vorbis.cpp" />
|
<ClCompile Include="tmp\MOC_Encoder_Vorbis.cpp" />
|
||||||
@ -451,6 +453,17 @@ del "$(TargetDir)imageformats\q???d4.dll"
|
|||||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"</Command>
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"</Command>
|
||||||
<Command Condition="'$(Configuration)|$(Platform)'=='Release_Static|Win32'">"$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"</Command>
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release_Static|Win32'">"$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"</Command>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="src\Encoder_DCA.h">
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"</Command>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release_Static|Win32'">"$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"</Command>
|
||||||
|
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"</Command>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp"</Message>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release_Static|Win32'">MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp"</Message>
|
||||||
|
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MOC "$(SolutionDir)tmp\MOC_%(Filename).cpp"</Message>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)tmp\MOC_%(Filename).cpp;%(Outputs)</Outputs>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release_Static|Win32'">$(SolutionDir)tmp\MOC_%(Filename).cpp;%(Outputs)</Outputs>
|
||||||
|
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)tmp\MOC_%(Filename).cpp;%(Outputs)</Outputs>
|
||||||
|
</CustomBuild>
|
||||||
<ClInclude Include="src\Tools.h" />
|
<ClInclude Include="src\Tools.h" />
|
||||||
<CustomBuild Include="src\Tool_WaveProperties.h">
|
<CustomBuild Include="src\Tool_WaveProperties.h">
|
||||||
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"</Command>
|
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe" -o "$(SolutionDir)tmp\MOC_%(Filename).cpp" "%(FullPath)"</Command>
|
||||||
|
@ -346,6 +346,12 @@
|
|||||||
<ClCompile Include="tmp\MOC_Tool_WaveProperties.cpp">
|
<ClCompile Include="tmp\MOC_Tool_WaveProperties.cpp">
|
||||||
<Filter>Generated Files\MOC</Filter>
|
<Filter>Generated Files\MOC</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="src\Encoder_DCA.cpp">
|
||||||
|
<Filter>Source Files\Encoders</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="tmp\MOC_Encoder_DCA.cpp">
|
||||||
|
<Filter>Generated Files\MOC</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="src\Config.h">
|
<ClInclude Include="src\Config.h">
|
||||||
@ -644,6 +650,9 @@
|
|||||||
<CustomBuild Include="src\Tool_WaveProperties.h">
|
<CustomBuild Include="src\Tool_WaveProperties.h">
|
||||||
<Filter>Header Files\Misc</Filter>
|
<Filter>Header Files\Misc</Filter>
|
||||||
</CustomBuild>
|
</CustomBuild>
|
||||||
|
<CustomBuild Include="src\Encoder_DCA.h">
|
||||||
|
<Filter>Header Files\Encoders</Filter>
|
||||||
|
</CustomBuild>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="res\MainIcon.ico" />
|
<None Include="res\MainIcon.ico" />
|
||||||
|
@ -19,6 +19,7 @@ a:visited { color: #0000EE; }
|
|||||||
<a name="4.04"></a>Changes between v4.03 and v4.04:<br><ul>
|
<a name="4.04"></a>Changes between v4.03 and v4.04:<br><ul>
|
||||||
<li>Added support for the QAAC Encoder, requires QuickTime v7.7.1 or newer (see <a href="FAQ.html#71a113b0" target="_blank">FAQ doc</a> for details)
|
<li>Added support for the QAAC Encoder, requires QuickTime v7.7.1 or newer (see <a href="FAQ.html#71a113b0" target="_blank">FAQ doc</a> for details)
|
||||||
<li>Added Chinese and Taiwanese translations, thanks to 456Vv <123@456vv.com>
|
<li>Added Chinese and Taiwanese translations, thanks to 456Vv <123@456vv.com>
|
||||||
|
<li>Added experimental support for dcaenc, created by Alexander E. Patrakov <patrakov@gmail.com>
|
||||||
<li>Updated Qt runtime libraries to v4.8.0 (2011-12-15), compiled with MSVC 10.0
|
<li>Updated Qt runtime libraries to v4.8.0 (2011-12-15), compiled with MSVC 10.0
|
||||||
<li>Updated LAME encoder to v3.99.2 Final (2011-11-18), compiled with ICL 12.1.7 and MSVC 10.0 (<a href="http://lame.cvs.sourceforge.net/viewvc/lame/lame/doc/html/history.html?revision=1.134" target="_blank">details</a>)
|
<li>Updated LAME encoder to v3.99.2 Final (2011-11-18), compiled with ICL 12.1.7 and MSVC 10.0 (<a href="http://lame.cvs.sourceforge.net/viewvc/lame/lame/doc/html/history.html?revision=1.134" target="_blank">details</a>)
|
||||||
<li>Updated MediaInfo to v0.7.52 (2011-12-19), compiled with ICL 12.1.6 and MSVC 10.0
|
<li>Updated MediaInfo to v0.7.52 (2011-12-19), compiled with ICL 12.1.6 and MSVC 10.0
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -87,10 +87,6 @@
|
|||||||
<source>Open and patent-free lossless audio compression technology.</source>
|
<source>Open and patent-free lossless audio compression technology.</source>
|
||||||
<translation>Offene und patentfreie Technlogie zur verlustfreien Audiokompression.</translation>
|
<translation>Offene und patentfreie Technlogie zur verlustfreien Audiokompression.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>By Mark James, released under the Creative Commons 'by' License.</source>
|
|
||||||
<translation>Von Mark James, veröffentlicht unter der Creative Commons 'by' Lizenz.</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>About Third-party Software</source>
|
<source>About Third-party Software</source>
|
||||||
<translation>Über Drittsoftware</translation>
|
<translation>Über Drittsoftware</translation>
|
||||||
@ -191,10 +187,6 @@
|
|||||||
<source>GNU Wget - Software for retrieving files using HTTP</source>
|
<source>GNU Wget - Software for retrieving files using HTTP</source>
|
||||||
<translation>GNU Wget - Software für den Datei-Download über HTTP</translation>
|
<translation>GNU Wget - Software für den Datei-Download über HTTP</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Silk Icons - Over 700 icons in PNG format</source>
|
|
||||||
<translation>Silk Icons - Über 700 Symbole im PNG Format</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Note: This demo (pre-release) version of LameXP will expire at %1. Still %2 days left.</source>
|
<source>Note: This demo (pre-release) version of LameXP will expire at %1. Still %2 days left.</source>
|
||||||
<translation>Hinweise: Diese Demo (Test) Version von LameXP läuft am %1 ab. Noch %2 Tage übrig.</translation>
|
<translation>Hinweise: Diese Demo (Test) Version von LameXP läuft am %1 ab. Noch %2 Tage übrig.</translation>
|
||||||
@ -227,6 +219,14 @@
|
|||||||
<source>avs2wav - Avisynth to Wave Audio converter</source>
|
<source>avs2wav - Avisynth to Wave Audio converter</source>
|
||||||
<translation>avs2wav - Avisynth zu Wave Audio Konverter</translation>
|
<translation>avs2wav - Avisynth zu Wave Audio Konverter</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>dcaenc</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Copyright (c) 2008-2011 Alexander E. Patrakov. Distributed under the LGPL.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>AudioFileModel</name>
|
<name>AudioFileModel</name>
|
||||||
@ -1730,6 +1730,10 @@
|
|||||||
<source>Skipping update check this time, please be patient...</source>
|
<source>Skipping update check this time, please be patient...</source>
|
||||||
<translation>Update-Überprüfung wird übersprungen, bitte warten...</translation>
|
<translation>Update-Überprüfung wird übersprungen, bitte warten...</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>DCA Enc</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MetaInfo</name>
|
<name>MetaInfo</name>
|
||||||
|
@ -87,10 +87,6 @@
|
|||||||
<source>Open and patent-free lossless audio compression technology.</source>
|
<source>Open and patent-free lossless audio compression technology.</source>
|
||||||
<translation>Tecnología de codificación de audio sin pérdidas, abierta y libre de patentes.</translation>
|
<translation>Tecnología de codificación de audio sin pérdidas, abierta y libre de patentes.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>By Mark James, released under the Creative Commons 'by' License.</source>
|
|
||||||
<translation>Por Mark James, distribuido bajo Licencia Creative Commons.</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>About Third-party Software</source>
|
<source>About Third-party Software</source>
|
||||||
<translation>Acerca del Software de terceros</translation>
|
<translation>Acerca del Software de terceros</translation>
|
||||||
@ -167,10 +163,6 @@
|
|||||||
<source>GnuPG - The GNU Privacy Guard</source>
|
<source>GnuPG - The GNU Privacy Guard</source>
|
||||||
<translation>GnuPG - Guardián de privacidad GNU</translation>
|
<translation>GnuPG - Guardián de privacidad GNU</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Silk Icons - Over 700 icons in PNG format</source>
|
|
||||||
<translation>Silk Icons - Más de 700 iconos en formato PNG</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Nero AAC Reference MPEG-4 Encoder</source>
|
<source>Nero AAC Reference MPEG-4 Encoder</source>
|
||||||
<translation>Codificador MPEG-4 Nero AAC</translation>
|
<translation>Codificador MPEG-4 Nero AAC</translation>
|
||||||
@ -227,6 +219,14 @@
|
|||||||
<source>avs2wav - Avisynth to Wave Audio converter</source>
|
<source>avs2wav - Avisynth to Wave Audio converter</source>
|
||||||
<translation>avs2wav - Conversor de Avisynth a WAV</translation>
|
<translation>avs2wav - Conversor de Avisynth a WAV</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>dcaenc</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Copyright (c) 2008-2011 Alexander E. Patrakov. Distributed under the LGPL.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>AudioFileModel</name>
|
<name>AudioFileModel</name>
|
||||||
@ -1729,6 +1729,10 @@
|
|||||||
<source>Skipping update check this time, please be patient...</source>
|
<source>Skipping update check this time, please be patient...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>DCA Enc</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MetaInfo</name>
|
<name>MetaInfo</name>
|
||||||
|
@ -88,10 +88,6 @@
|
|||||||
<source>Open and patent-free lossless audio compression technology.</source>
|
<source>Open and patent-free lossless audio compression technology.</source>
|
||||||
<translation>Technologie de compression audio sans perte ouverte et libre de brevets.</translation>
|
<translation>Technologie de compression audio sans perte ouverte et libre de brevets.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>By Mark James, released under the Creative Commons 'by' License.</source>
|
|
||||||
<translation>Par Mark James, publié sous licence Creative Commons.</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>About Third-party Software</source>
|
<source>About Third-party Software</source>
|
||||||
<translation>A propos des logiciels tiers</translation>
|
<translation>A propos des logiciels tiers</translation>
|
||||||
@ -171,10 +167,6 @@
|
|||||||
<source>GnuPG - The GNU Privacy Guard</source>
|
<source>GnuPG - The GNU Privacy Guard</source>
|
||||||
<translation>GnuPG - The GNU Privacy Guard</translation>
|
<translation>GnuPG - The GNU Privacy Guard</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Silk Icons - Over 700 icons in PNG format</source>
|
|
||||||
<translation>Silk Icons - Plus de 700 icônes au format PNG</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Nero AAC Reference MPEG-4 Encoder</source>
|
<source>Nero AAC Reference MPEG-4 Encoder</source>
|
||||||
<translation>Encodeur de référence MPEG-4 Nero AAC</translation>
|
<translation>Encodeur de référence MPEG-4 Nero AAC</translation>
|
||||||
@ -231,6 +223,14 @@
|
|||||||
<source>avs2wav - Avisynth to Wave Audio converter</source>
|
<source>avs2wav - Avisynth to Wave Audio converter</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>dcaenc</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Copyright (c) 2008-2011 Alexander E. Patrakov. Distributed under the LGPL.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>AudioFileModel</name>
|
<name>AudioFileModel</name>
|
||||||
@ -1739,6 +1739,10 @@ Ouvrir le dossier récursivement...</translation>
|
|||||||
<source>Skipping update check this time, please be patient...</source>
|
<source>Skipping update check this time, please be patient...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>DCA Enc</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MetaInfo</name>
|
<name>MetaInfo</name>
|
||||||
|
@ -87,10 +87,6 @@
|
|||||||
<source>Open and patent-free lossless audio compression technology.</source>
|
<source>Open and patent-free lossless audio compression technology.</source>
|
||||||
<translation>Tecnologia di compressione audio libera e non vincolata da brevetti.</translation>
|
<translation>Tecnologia di compressione audio libera e non vincolata da brevetti.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>By Mark James, released under the Creative Commons 'by' License.</source>
|
|
||||||
<translation>Di Mark James, rilasciato sotto Licenza 'by' Creative Commons.</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>About Third-party Software</source>
|
<source>About Third-party Software</source>
|
||||||
<translation>Riguardo Software Terze Parti</translation>
|
<translation>Riguardo Software Terze Parti</translation>
|
||||||
@ -167,10 +163,6 @@
|
|||||||
<source>GnuPG - The GNU Privacy Guard</source>
|
<source>GnuPG - The GNU Privacy Guard</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Silk Icons - Over 700 icons in PNG format</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Nero AAC Reference MPEG-4 Encoder</source>
|
<source>Nero AAC Reference MPEG-4 Encoder</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@ -227,6 +219,14 @@
|
|||||||
<source>avs2wav - Avisynth to Wave Audio converter</source>
|
<source>avs2wav - Avisynth to Wave Audio converter</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>dcaenc</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Copyright (c) 2008-2011 Alexander E. Patrakov. Distributed under the LGPL.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>AudioFileModel</name>
|
<name>AudioFileModel</name>
|
||||||
@ -1730,6 +1730,10 @@
|
|||||||
<source>Skipping update check this time, please be patient...</source>
|
<source>Skipping update check this time, please be patient...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>DCA Enc</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MetaInfo</name>
|
<name>MetaInfo</name>
|
||||||
|
@ -175,14 +175,6 @@
|
|||||||
<source>GNU Wget - Software for retrieving files using HTTP</source>
|
<source>GNU Wget - Software for retrieving files using HTTP</source>
|
||||||
<translation type="unfinished">GNU Wget - HTTP를 사용하여 파일을 검색하기 위한 소프트웨어</translation>
|
<translation type="unfinished">GNU Wget - HTTP를 사용하여 파일을 검색하기 위한 소프트웨어</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Silk Icons - Over 700 icons in PNG format</source>
|
|
||||||
<translation type="unfinished">Silk Icons - PNG 형식의 700 이상의 아이콘 </translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>By Mark James, released under the Creative Commons 'by' License.</source>
|
|
||||||
<translation type="unfinished">By Mark James, 크리에이티브 커먼즈 'by' 라이센스 하에 출시됨.</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>LameXP as a whole is copyrighted by LoRd_MuldeR. The copyright of third-party software used in LameXP belongs to the individual authors.</source>
|
<source>LameXP as a whole is copyrighted by LoRd_MuldeR. The copyright of third-party software used in LameXP belongs to the individual authors.</source>
|
||||||
<translation type="unfinished">LameXP 전체는 LoRd_MuldeR에게 저작권이 있습니다. LameXP에 사용된 타사 소프트웨어는 각 소프트웨어의 저작자에게 저작권이 있습니다.</translation>
|
<translation type="unfinished">LameXP 전체는 LoRd_MuldeR에게 저작권이 있습니다. LameXP에 사용된 타사 소프트웨어는 각 소프트웨어의 저작자에게 저작권이 있습니다.</translation>
|
||||||
@ -227,6 +219,14 @@
|
|||||||
<source>avs2wav - Avisynth to Wave Audio converter</source>
|
<source>avs2wav - Avisynth to Wave Audio converter</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>dcaenc</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Copyright (c) 2008-2011 Alexander E. Patrakov. Distributed under the LGPL.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>AudioFileModel</name>
|
<name>AudioFileModel</name>
|
||||||
@ -1729,6 +1729,10 @@
|
|||||||
<source>Skipping update check this time, please be patient...</source>
|
<source>Skipping update check this time, please be patient...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>DCA Enc</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MetaInfo</name>
|
<name>MetaInfo</name>
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -175,14 +175,6 @@
|
|||||||
<source>GNU Wget - Software for retrieving files using HTTP</source>
|
<source>GNU Wget - Software for retrieving files using HTTP</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Silk Icons - Over 700 icons in PNG format</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>By Mark James, released under the Creative Commons 'by' License.</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>LameXP as a whole is copyrighted by LoRd_MuldeR. The copyright of third-party software used in LameXP belongs to the individual authors.</source>
|
<source>LameXP as a whole is copyrighted by LoRd_MuldeR. The copyright of third-party software used in LameXP belongs to the individual authors.</source>
|
||||||
<translation type="unfinished">LameXP защищена авторским правом LoRd_MuldeR. Авторское право на программное обеспечение третьих сторон, используемое в LameXP, принадлежит индивидуальным авторам.</translation>
|
<translation type="unfinished">LameXP защищена авторским правом LoRd_MuldeR. Авторское право на программное обеспечение третьих сторон, используемое в LameXP, принадлежит индивидуальным авторам.</translation>
|
||||||
@ -227,6 +219,14 @@
|
|||||||
<source>avs2wav - Avisynth to Wave Audio converter</source>
|
<source>avs2wav - Avisynth to Wave Audio converter</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>dcaenc</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Copyright (c) 2008-2011 Alexander E. Patrakov. Distributed under the LGPL.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>AudioFileModel</name>
|
<name>AudioFileModel</name>
|
||||||
@ -1735,6 +1735,10 @@
|
|||||||
<source>Skipping update check this time, please be patient...</source>
|
<source>Skipping update check this time, please be patient...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>DCA Enc</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MetaInfo</name>
|
<name>MetaInfo</name>
|
||||||
|
@ -87,10 +87,6 @@
|
|||||||
<source>Open and patent-free lossless audio compression technology.</source>
|
<source>Open and patent-free lossless audio compression technology.</source>
|
||||||
<translation>打開和專利自由無損音頻壓縮技術.</translation>
|
<translation>打開和專利自由無損音頻壓縮技術.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>By Mark James, released under the Creative Commons 'by' License.</source>
|
|
||||||
<translation>By Mark James,在知識共享的許可證發布.</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>About Third-party Software</source>
|
<source>About Third-party Software</source>
|
||||||
<translation>關于第三方軟件</translation>
|
<translation>關于第三方軟件</translation>
|
||||||
@ -163,10 +159,6 @@
|
|||||||
<source>GnuPG - The GNU Privacy Guard</source>
|
<source>GnuPG - The GNU Privacy Guard</source>
|
||||||
<translation>GnuPG - GNU 隱私</translation>
|
<translation>GnuPG - GNU 隱私</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Silk Icons - Over 700 icons in PNG format</source>
|
|
||||||
<translation>Silk Icons - 超過 700 圖標 PNG 格式</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Nero AAC Reference MPEG-4 Encoder</source>
|
<source>Nero AAC Reference MPEG-4 Encoder</source>
|
||||||
<translation>Nero AAC 參考 MPEG-4 編碼器</translation>
|
<translation>Nero AAC 參考 MPEG-4 編碼器</translation>
|
||||||
@ -227,6 +219,14 @@
|
|||||||
<source>LameXP as a whole is copyrighted by LoRd_MuldeR. The copyright of third-party software used in LameXP belongs to the individual authors.</source>
|
<source>LameXP as a whole is copyrighted by LoRd_MuldeR. The copyright of third-party software used in LameXP belongs to the individual authors.</source>
|
||||||
<translation>LameXP是作為一個整體版權由 LoRd_MuldeR 保護.在 LameXP 中使用的第三方軟件作著權屬于第三方.</translation>
|
<translation>LameXP是作為一個整體版權由 LoRd_MuldeR 保護.在 LameXP 中使用的第三方軟件作著權屬于第三方.</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>dcaenc</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Copyright (c) 2008-2011 Alexander E. Patrakov. Distributed under the LGPL.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>AudioFileModel</name>
|
<name>AudioFileModel</name>
|
||||||
@ -1729,6 +1729,10 @@
|
|||||||
<source>Skipping update check this time, please be patient...</source>
|
<source>Skipping update check this time, please be patient...</source>
|
||||||
<translation>跳過檢查更新的時間,請耐心等待...</translation>
|
<translation>跳過檢查更新的時間,請耐心等待...</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>DCA Enc</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MetaInfo</name>
|
<name>MetaInfo</name>
|
||||||
|
@ -175,14 +175,6 @@
|
|||||||
<source>GNU Wget - Software for retrieving files using HTTP</source>
|
<source>GNU Wget - Software for retrieving files using HTTP</source>
|
||||||
<translation>GNU Wget - Software for retrieving files using HTTP</translation>
|
<translation>GNU Wget - Software for retrieving files using HTTP</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Silk Icons - Over 700 icons in PNG format</source>
|
|
||||||
<translation>Silk Icons - Більш ніж 700 іконок в форматі PNG</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>By Mark James, released under the Creative Commons 'by' License.</source>
|
|
||||||
<translation>Створено Mark James, випущено під ліцензією Creative Commons 'by' License.</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>LameXP as a whole is copyrighted by LoRd_MuldeR. The copyright of third-party software used in LameXP belongs to the individual authors.</source>
|
<source>LameXP as a whole is copyrighted by LoRd_MuldeR. The copyright of third-party software used in LameXP belongs to the individual authors.</source>
|
||||||
<translation>Всі права на LameXP належать LoRd_MuldeR. Права на стороннє ПЗ, що використовується в LameXP, належать авторам цього ПЗ.</translation>
|
<translation>Всі права на LameXP належать LoRd_MuldeR. Права на стороннє ПЗ, що використовується в LameXP, належать авторам цього ПЗ.</translation>
|
||||||
@ -228,6 +220,14 @@
|
|||||||
<source>avs2wav - Avisynth to Wave Audio converter</source>
|
<source>avs2wav - Avisynth to Wave Audio converter</source>
|
||||||
<translation>avs2wav - аудіоконвертер у Wave аудіо, що базується на Avisynth</translation>
|
<translation>avs2wav - аудіоконвертер у Wave аудіо, що базується на Avisynth</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>dcaenc</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Copyright (c) 2008-2011 Alexander E. Patrakov. Distributed under the LGPL.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>AudioFileModel</name>
|
<name>AudioFileModel</name>
|
||||||
@ -1730,6 +1730,10 @@
|
|||||||
<source>Skipping update check this time, please be patient...</source>
|
<source>Skipping update check this time, please be patient...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>DCA Enc</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MetaInfo</name>
|
<name>MetaInfo</name>
|
||||||
|
@ -87,10 +87,6 @@
|
|||||||
<source>Open and patent-free lossless audio compression technology.</source>
|
<source>Open and patent-free lossless audio compression technology.</source>
|
||||||
<translation>打开和专利自由无损音频压缩技术.</translation>
|
<translation>打开和专利自由无损音频压缩技术.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>By Mark James, released under the Creative Commons 'by' License.</source>
|
|
||||||
<translation>By Mark James,在知识共享的许可证发布.</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>About Third-party Software</source>
|
<source>About Third-party Software</source>
|
||||||
<translation>关于第三方软件</translation>
|
<translation>关于第三方软件</translation>
|
||||||
@ -163,10 +159,6 @@
|
|||||||
<source>GnuPG - The GNU Privacy Guard</source>
|
<source>GnuPG - The GNU Privacy Guard</source>
|
||||||
<translation>GnuPG - GNU 隐私</translation>
|
<translation>GnuPG - GNU 隐私</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Silk Icons - Over 700 icons in PNG format</source>
|
|
||||||
<translation>Silk Icons - 超过 700 图标 PNG 格式</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Nero AAC Reference MPEG-4 Encoder</source>
|
<source>Nero AAC Reference MPEG-4 Encoder</source>
|
||||||
<translation>Nero AAC 参考 MPEG-4 编码器</translation>
|
<translation>Nero AAC 参考 MPEG-4 编码器</translation>
|
||||||
@ -227,6 +219,14 @@
|
|||||||
<source>LameXP as a whole is copyrighted by LoRd_MuldeR. The copyright of third-party software used in LameXP belongs to the individual authors.</source>
|
<source>LameXP as a whole is copyrighted by LoRd_MuldeR. The copyright of third-party software used in LameXP belongs to the individual authors.</source>
|
||||||
<translation>LameXP是作为一个整体版权由 LoRd_MuldeR 保护.在 LameXP 中使用的第三方软件作著权属于第三方.</translation>
|
<translation>LameXP是作为一个整体版权由 LoRd_MuldeR 保护.在 LameXP 中使用的第三方软件作著权属于第三方.</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>dcaenc</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Copyright (c) 2008-2011 Alexander E. Patrakov. Distributed under the LGPL.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>AudioFileModel</name>
|
<name>AudioFileModel</name>
|
||||||
@ -1729,6 +1729,10 @@
|
|||||||
<source>Skipping update check this time, please be patient...</source>
|
<source>Skipping update check this time, please be patient...</source>
|
||||||
<translation>跳过检查更新的时间,请耐心等待...</translation>
|
<translation>跳过检查更新的时间,请耐心等待...</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>DCA Enc</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>MetaInfo</name>
|
<name>MetaInfo</name>
|
||||||
|
@ -770,7 +770,7 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="6">
|
<item row="0" column="7">
|
||||||
<widget class="QRadioButton" name="radioButtonEncoderPCM">
|
<widget class="QRadioButton" name="radioButtonEncoderPCM">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Wave (PCM)</string>
|
<string>Wave (PCM)</string>
|
||||||
@ -807,6 +807,13 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="0" column="6">
|
||||||
|
<widget class="QRadioButton" name="radioButtonEncoderDCA">
|
||||||
|
<property name="text">
|
||||||
|
<string>DCA Enc</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
@ -1099,8 +1106,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>602</width>
|
<width>604</width>
|
||||||
<height>1515</height>
|
<height>1524</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout_22">
|
<layout class="QGridLayout" name="gridLayout_22">
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
<file>tools/aften.i386.exe</file>
|
<file>tools/aften.i386.exe</file>
|
||||||
<file>tools/aften.sse2.exe</file>
|
<file>tools/aften.sse2.exe</file>
|
||||||
<file>tools/aften.x64.exe</file>
|
<file>tools/aften.x64.exe</file>
|
||||||
|
<file>tools/dcaenc.exe</file>
|
||||||
<file>tools/flac.exe</file>
|
<file>tools/flac.exe</file>
|
||||||
<file>tools/lame.i386.exe</file>
|
<file>tools/lame.i386.exe</file>
|
||||||
<file>tools/lame.sse2.exe</file>
|
<file>tools/lame.sse2.exe</file>
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -29,8 +29,8 @@
|
|||||||
#define VER_LAMEXP_MINOR_HI 0
|
#define VER_LAMEXP_MINOR_HI 0
|
||||||
#define VER_LAMEXP_MINOR_LO 4
|
#define VER_LAMEXP_MINOR_LO 4
|
||||||
#define VER_LAMEXP_TYPE Alpha
|
#define VER_LAMEXP_TYPE Alpha
|
||||||
#define VER_LAMEXP_PATCH 11
|
#define VER_LAMEXP_PATCH 12
|
||||||
#define VER_LAMEXP_BUILD 827
|
#define VER_LAMEXP_BUILD 830
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
// Tool versions (minimum expected versions!)
|
// Tool versions (minimum expected versions!)
|
||||||
|
@ -430,7 +430,7 @@ void AboutDialog::showMoreAbout(void)
|
|||||||
);
|
);
|
||||||
moreAboutText += QString
|
moreAboutText += QString
|
||||||
(
|
(
|
||||||
"</ul></td><td><ul>"
|
"</ul></td><td><ul>" /* ----------------------------------------- */
|
||||||
);
|
);
|
||||||
moreAboutText += makeToolText
|
moreAboutText += makeToolText
|
||||||
(
|
(
|
||||||
@ -475,6 +475,13 @@ void AboutDialog::showMoreAbout(void)
|
|||||||
"http://forum.doom9.org/showthread.php?t=70882"
|
"http://forum.doom9.org/showthread.php?t=70882"
|
||||||
);
|
);
|
||||||
moreAboutText += makeToolText
|
moreAboutText += makeToolText
|
||||||
|
(
|
||||||
|
tr("dcaenc"),
|
||||||
|
"dcaenc.exe", "????-??-??",
|
||||||
|
tr("Copyright (c) 2008-2011 Alexander E. Patrakov. Distributed under the LGPL."),
|
||||||
|
"http://gitorious.org/dtsenc/dtsenc/trees/master"
|
||||||
|
);
|
||||||
|
moreAboutText += makeToolText
|
||||||
(
|
(
|
||||||
tr("MediaInfo - Media File Analysis Tool"),
|
tr("MediaInfo - Media File Analysis Tool"),
|
||||||
"mediainfo.exe", "v?.?.??",
|
"mediainfo.exe", "v?.?.??",
|
||||||
@ -502,13 +509,13 @@ void AboutDialog::showMoreAbout(void)
|
|||||||
tr("Released under the terms of the GNU Lesser General Public License."),
|
tr("Released under the terms of the GNU Lesser General Public License."),
|
||||||
"http://www.gnu.org/software/wget/"
|
"http://www.gnu.org/software/wget/"
|
||||||
);
|
);
|
||||||
moreAboutText += makeToolText
|
//moreAboutText += makeToolText
|
||||||
(
|
//(
|
||||||
tr("Silk Icons - Over 700 icons in PNG format"),
|
// tr("Silk Icons - Over 700 icons in PNG format"),
|
||||||
QString(), "v1.3",
|
// QString(), "v1.3",
|
||||||
tr("By Mark James, released under the Creative Commons 'by' License."),
|
// tr("By Mark James, released under the Creative Commons 'by' License."),
|
||||||
"http://www.famfamfam.com/lab/icons/silk/"
|
// "http://www.famfamfam.com/lab/icons/silk/"
|
||||||
);
|
//);
|
||||||
moreAboutText += QString("</ul></td><td> </td></tr></table></div><i>%1</i><br>").arg
|
moreAboutText += QString("</ul></td><td> </td></tr></table></div><i>%1</i><br>").arg
|
||||||
(
|
(
|
||||||
NOBR(tr("LameXP as a whole is copyrighted by LoRd_MuldeR. The copyright of third-party software used in LameXP belongs to the individual authors."))
|
NOBR(tr("LameXP as a whole is copyrighted by LoRd_MuldeR. The copyright of third-party software used in LameXP belongs to the individual authors."))
|
||||||
|
@ -203,6 +203,7 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S
|
|||||||
m_encoderButtonGroup->addButton(radioButtonEncoderAAC, SettingsModel::AACEncoder);
|
m_encoderButtonGroup->addButton(radioButtonEncoderAAC, SettingsModel::AACEncoder);
|
||||||
m_encoderButtonGroup->addButton(radioButtonEncoderAC3, SettingsModel::AC3Encoder);
|
m_encoderButtonGroup->addButton(radioButtonEncoderAC3, SettingsModel::AC3Encoder);
|
||||||
m_encoderButtonGroup->addButton(radioButtonEncoderFLAC, SettingsModel::FLACEncoder);
|
m_encoderButtonGroup->addButton(radioButtonEncoderFLAC, SettingsModel::FLACEncoder);
|
||||||
|
m_encoderButtonGroup->addButton(radioButtonEncoderDCA, SettingsModel::DCAEncoder);
|
||||||
m_encoderButtonGroup->addButton(radioButtonEncoderPCM, SettingsModel::PCMEncoder);
|
m_encoderButtonGroup->addButton(radioButtonEncoderPCM, SettingsModel::PCMEncoder);
|
||||||
m_modeButtonGroup = new QButtonGroup(this);
|
m_modeButtonGroup = new QButtonGroup(this);
|
||||||
m_modeButtonGroup->addButton(radioButtonModeQuality, SettingsModel::VBRMode);
|
m_modeButtonGroup->addButton(radioButtonModeQuality, SettingsModel::VBRMode);
|
||||||
@ -214,6 +215,7 @@ MainWindow::MainWindow(FileListModel *fileListModel, AudioFileModel *metaInfo, S
|
|||||||
radioButtonEncoderAAC->setChecked((m_settings->compressionEncoder() == SettingsModel::AACEncoder) && (m_neroEncoderAvailable || m_fhgEncoderAvailable || m_qaacEncoderAvailable));
|
radioButtonEncoderAAC->setChecked((m_settings->compressionEncoder() == SettingsModel::AACEncoder) && (m_neroEncoderAvailable || m_fhgEncoderAvailable || m_qaacEncoderAvailable));
|
||||||
radioButtonEncoderAC3->setChecked(m_settings->compressionEncoder() == SettingsModel::AC3Encoder);
|
radioButtonEncoderAC3->setChecked(m_settings->compressionEncoder() == SettingsModel::AC3Encoder);
|
||||||
radioButtonEncoderFLAC->setChecked(m_settings->compressionEncoder() == SettingsModel::FLACEncoder);
|
radioButtonEncoderFLAC->setChecked(m_settings->compressionEncoder() == SettingsModel::FLACEncoder);
|
||||||
|
radioButtonEncoderDCA->setChecked(m_settings->compressionEncoder() == SettingsModel::DCAEncoder);
|
||||||
radioButtonEncoderPCM->setChecked(m_settings->compressionEncoder() == SettingsModel::PCMEncoder);
|
radioButtonEncoderPCM->setChecked(m_settings->compressionEncoder() == SettingsModel::PCMEncoder);
|
||||||
radioButtonModeQuality->setChecked(m_settings->compressionRCMode() == SettingsModel::VBRMode);
|
radioButtonModeQuality->setChecked(m_settings->compressionRCMode() == SettingsModel::VBRMode);
|
||||||
radioButtonModeAverageBitrate->setChecked(m_settings->compressionRCMode() == SettingsModel::ABRMode);
|
radioButtonModeAverageBitrate->setChecked(m_settings->compressionRCMode() == SettingsModel::ABRMode);
|
||||||
@ -1217,6 +1219,7 @@ void MainWindow::encodeButtonClicked(void)
|
|||||||
case SettingsModel::AACEncoder:
|
case SettingsModel::AACEncoder:
|
||||||
case SettingsModel::AC3Encoder:
|
case SettingsModel::AC3Encoder:
|
||||||
case SettingsModel::FLACEncoder:
|
case SettingsModel::FLACEncoder:
|
||||||
|
case SettingsModel::DCAEncoder:
|
||||||
case SettingsModel::PCMEncoder:
|
case SettingsModel::PCMEncoder:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -2481,6 +2484,13 @@ void MainWindow::updateEncoder(int id)
|
|||||||
radioButtonConstBitrate->setEnabled(true);
|
radioButtonConstBitrate->setEnabled(true);
|
||||||
sliderBitrate->setEnabled(true);
|
sliderBitrate->setEnabled(true);
|
||||||
break;
|
break;
|
||||||
|
case SettingsModel::DCAEncoder:
|
||||||
|
radioButtonModeQuality->setEnabled(false);
|
||||||
|
radioButtonModeAverageBitrate->setEnabled(false);
|
||||||
|
radioButtonConstBitrate->setEnabled(true);
|
||||||
|
radioButtonConstBitrate->setChecked(true);
|
||||||
|
sliderBitrate->setEnabled(true);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
radioButtonModeQuality->setEnabled(true);
|
radioButtonModeQuality->setEnabled(true);
|
||||||
radioButtonModeAverageBitrate->setEnabled(true);
|
radioButtonModeAverageBitrate->setEnabled(true);
|
||||||
@ -2557,6 +2567,10 @@ void MainWindow::updateRCMode(int id)
|
|||||||
sliderBitrate->setMinimum(0);
|
sliderBitrate->setMinimum(0);
|
||||||
sliderBitrate->setMaximum(8);
|
sliderBitrate->setMaximum(8);
|
||||||
break;
|
break;
|
||||||
|
case SettingsModel::DCAEncoder:
|
||||||
|
sliderBitrate->setMinimum(1);
|
||||||
|
sliderBitrate->setMaximum(192);
|
||||||
|
break;
|
||||||
case SettingsModel::PCMEncoder:
|
case SettingsModel::PCMEncoder:
|
||||||
sliderBitrate->setMinimum(0);
|
sliderBitrate->setMinimum(0);
|
||||||
sliderBitrate->setMaximum(2);
|
sliderBitrate->setMaximum(2);
|
||||||
@ -2638,6 +2652,9 @@ void MainWindow::updateBitrate(int value)
|
|||||||
case SettingsModel::AC3Encoder:
|
case SettingsModel::AC3Encoder:
|
||||||
labelBitrate->setText(QString("%1 kbps").arg(SettingsModel::ac3Bitrates[value]));
|
labelBitrate->setText(QString("%1 kbps").arg(SettingsModel::ac3Bitrates[value]));
|
||||||
break;
|
break;
|
||||||
|
case SettingsModel::DCAEncoder:
|
||||||
|
labelBitrate->setText(QString("%1 kbps").arg(value * 32));
|
||||||
|
break;
|
||||||
case SettingsModel::PCMEncoder:
|
case SettingsModel::PCMEncoder:
|
||||||
labelBitrate->setText(tr("Uncompressed"));
|
labelBitrate->setText(tr("Uncompressed"));
|
||||||
break;
|
break;
|
||||||
|
@ -31,13 +31,14 @@
|
|||||||
#include "Thread_RAMObserver.h"
|
#include "Thread_RAMObserver.h"
|
||||||
#include "Thread_DiskObserver.h"
|
#include "Thread_DiskObserver.h"
|
||||||
#include "Dialog_LogView.h"
|
#include "Dialog_LogView.h"
|
||||||
#include "Encoder_MP3.h"
|
|
||||||
#include "Encoder_Vorbis.h"
|
|
||||||
#include "Encoder_AAC.h"
|
#include "Encoder_AAC.h"
|
||||||
#include "Encoder_AAC_FHG.h"
|
#include "Encoder_AAC_FHG.h"
|
||||||
#include "Encoder_AAC_QAAC.h"
|
#include "Encoder_AAC_QAAC.h"
|
||||||
#include "Encoder_AC3.h"
|
#include "Encoder_AC3.h"
|
||||||
|
#include "Encoder_DCA.h"
|
||||||
#include "Encoder_FLAC.h"
|
#include "Encoder_FLAC.h"
|
||||||
|
#include "Encoder_MP3.h"
|
||||||
|
#include "Encoder_Vorbis.h"
|
||||||
#include "Encoder_Wave.h"
|
#include "Encoder_Wave.h"
|
||||||
#include "Filter_Downmix.h"
|
#include "Filter_Downmix.h"
|
||||||
#include "Filter_Normalize.h"
|
#include "Filter_Normalize.h"
|
||||||
@ -638,10 +639,66 @@ void ProcessingDialog::startNextJob(void)
|
|||||||
|
|
||||||
m_currentFile++;
|
m_currentFile++;
|
||||||
AudioFileModel currentFile = updateMetaInfo(m_pendingJobs.takeFirst());
|
AudioFileModel currentFile = updateMetaInfo(m_pendingJobs.takeFirst());
|
||||||
AbstractEncoder *encoder = NULL;
|
|
||||||
bool nativeResampling = false;
|
bool nativeResampling = false;
|
||||||
|
|
||||||
//Create encoder instance
|
//Create encoder instance
|
||||||
|
AbstractEncoder *encoder = makeEncoder(&nativeResampling);
|
||||||
|
|
||||||
|
//Create processing thread
|
||||||
|
ProcessThread *thread = new ProcessThread
|
||||||
|
(
|
||||||
|
currentFile,
|
||||||
|
(m_settings->outputToSourceDir() ? QFileInfo(currentFile.filePath()).absolutePath() : m_settings->outputDir()),
|
||||||
|
(m_settings->customTempPathEnabled() ? m_settings->customTempPath() : lamexp_temp_folder2()),
|
||||||
|
encoder,
|
||||||
|
m_settings->prependRelativeSourcePath() && (!m_settings->outputToSourceDir())
|
||||||
|
);
|
||||||
|
|
||||||
|
//Add audio filters
|
||||||
|
if(m_settings->forceStereoDownmix())
|
||||||
|
{
|
||||||
|
thread->addFilter(new DownmixFilter());
|
||||||
|
}
|
||||||
|
if((m_settings->samplingRate() > 0) && !nativeResampling)
|
||||||
|
{
|
||||||
|
if(SettingsModel::samplingRates[m_settings->samplingRate()] != currentFile.formatAudioSamplerate() || currentFile.formatAudioSamplerate() == 0)
|
||||||
|
{
|
||||||
|
thread->addFilter(new ResampleFilter(SettingsModel::samplingRates[m_settings->samplingRate()]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if((m_settings->toneAdjustBass() != 0) || (m_settings->toneAdjustTreble() != 0))
|
||||||
|
{
|
||||||
|
thread->addFilter(new ToneAdjustFilter(m_settings->toneAdjustBass(), m_settings->toneAdjustTreble()));
|
||||||
|
}
|
||||||
|
if(m_settings->normalizationFilterEnabled())
|
||||||
|
{
|
||||||
|
thread->addFilter(new NormalizeFilter(m_settings->normalizationFilterMaxVolume(), m_settings->normalizationFilterEqualizationMode()));
|
||||||
|
}
|
||||||
|
if(m_settings->renameOutputFilesEnabled() && (!m_settings->renameOutputFilesPattern().simplified().isEmpty()))
|
||||||
|
{
|
||||||
|
thread->setRenamePattern(m_settings->renameOutputFilesPattern());
|
||||||
|
}
|
||||||
|
|
||||||
|
m_threadList.append(thread);
|
||||||
|
m_allJobs.append(thread->getId());
|
||||||
|
|
||||||
|
//Connect thread signals
|
||||||
|
connect(thread, SIGNAL(finished()), this, SLOT(doneEncoding()), Qt::QueuedConnection);
|
||||||
|
connect(thread, SIGNAL(processStateInitialized(QUuid,QString,QString,int)), m_progressModel, SLOT(addJob(QUuid,QString,QString,int)), Qt::QueuedConnection);
|
||||||
|
connect(thread, SIGNAL(processStateChanged(QUuid,QString,int)), m_progressModel, SLOT(updateJob(QUuid,QString,int)), Qt::QueuedConnection);
|
||||||
|
connect(thread, SIGNAL(processStateFinished(QUuid,QString,bool)), this, SLOT(processFinished(QUuid,QString,bool)), Qt::QueuedConnection);
|
||||||
|
connect(thread, SIGNAL(processMessageLogged(QUuid,QString)), m_progressModel, SLOT(appendToLog(QUuid,QString)), Qt::QueuedConnection);
|
||||||
|
|
||||||
|
//Give it a go!
|
||||||
|
m_runningThreads++;
|
||||||
|
thread->start();
|
||||||
|
}
|
||||||
|
|
||||||
|
AbstractEncoder *ProcessingDialog::makeEncoder(bool *nativeResampling)
|
||||||
|
{
|
||||||
|
AbstractEncoder *encoder = NULL;
|
||||||
|
*nativeResampling = false;
|
||||||
|
|
||||||
switch(m_settings->compressionEncoder())
|
switch(m_settings->compressionEncoder())
|
||||||
{
|
{
|
||||||
case SettingsModel::MP3Encoder:
|
case SettingsModel::MP3Encoder:
|
||||||
@ -657,7 +714,7 @@ void ProcessingDialog::startNextJob(void)
|
|||||||
if(m_settings->samplingRate() > 0)
|
if(m_settings->samplingRate() > 0)
|
||||||
{
|
{
|
||||||
mp3Encoder->setSamplingRate(SettingsModel::samplingRates[m_settings->samplingRate()]);
|
mp3Encoder->setSamplingRate(SettingsModel::samplingRates[m_settings->samplingRate()]);
|
||||||
nativeResampling = true;
|
*nativeResampling = true;
|
||||||
}
|
}
|
||||||
mp3Encoder->setChannelMode(m_settings->lameChannelMode());
|
mp3Encoder->setChannelMode(m_settings->lameChannelMode());
|
||||||
mp3Encoder->setCustomParams(m_settings->customParametersLAME());
|
mp3Encoder->setCustomParams(m_settings->customParametersLAME());
|
||||||
@ -676,7 +733,7 @@ void ProcessingDialog::startNextJob(void)
|
|||||||
if(m_settings->samplingRate() > 0)
|
if(m_settings->samplingRate() > 0)
|
||||||
{
|
{
|
||||||
vorbisEncoder->setSamplingRate(SettingsModel::samplingRates[m_settings->samplingRate()]);
|
vorbisEncoder->setSamplingRate(SettingsModel::samplingRates[m_settings->samplingRate()]);
|
||||||
nativeResampling = true;
|
*nativeResampling = true;
|
||||||
}
|
}
|
||||||
vorbisEncoder->setCustomParams(m_settings->customParametersOggEnc());
|
vorbisEncoder->setCustomParams(m_settings->customParametersOggEnc());
|
||||||
encoder = vorbisEncoder;
|
encoder = vorbisEncoder;
|
||||||
@ -736,6 +793,14 @@ void ProcessingDialog::startNextJob(void)
|
|||||||
encoder = flacEncoder;
|
encoder = flacEncoder;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case SettingsModel::DCAEncoder:
|
||||||
|
{
|
||||||
|
DCAEncoder *dcaEncoder = new DCAEncoder();
|
||||||
|
dcaEncoder->setBitrate(m_settings->compressionBitrate());
|
||||||
|
dcaEncoder->setRCMode(m_settings->compressionRCMode());
|
||||||
|
encoder = dcaEncoder;
|
||||||
|
}
|
||||||
|
break;
|
||||||
case SettingsModel::PCMEncoder:
|
case SettingsModel::PCMEncoder:
|
||||||
{
|
{
|
||||||
WaveEncoder *waveEncoder = new WaveEncoder();
|
WaveEncoder *waveEncoder = new WaveEncoder();
|
||||||
@ -748,54 +813,7 @@ void ProcessingDialog::startNextJob(void)
|
|||||||
throw "Unsupported encoder!";
|
throw "Unsupported encoder!";
|
||||||
}
|
}
|
||||||
|
|
||||||
//Create processing thread
|
return encoder;
|
||||||
ProcessThread *thread = new ProcessThread
|
|
||||||
(
|
|
||||||
currentFile,
|
|
||||||
(m_settings->outputToSourceDir() ? QFileInfo(currentFile.filePath()).absolutePath() : m_settings->outputDir()),
|
|
||||||
(m_settings->customTempPathEnabled() ? m_settings->customTempPath() : lamexp_temp_folder2()),
|
|
||||||
encoder,
|
|
||||||
m_settings->prependRelativeSourcePath() && (!m_settings->outputToSourceDir())
|
|
||||||
);
|
|
||||||
|
|
||||||
//Add audio filters
|
|
||||||
if(m_settings->forceStereoDownmix())
|
|
||||||
{
|
|
||||||
thread->addFilter(new DownmixFilter());
|
|
||||||
}
|
|
||||||
if((m_settings->samplingRate() > 0) && !nativeResampling)
|
|
||||||
{
|
|
||||||
if(SettingsModel::samplingRates[m_settings->samplingRate()] != currentFile.formatAudioSamplerate() || currentFile.formatAudioSamplerate() == 0)
|
|
||||||
{
|
|
||||||
thread->addFilter(new ResampleFilter(SettingsModel::samplingRates[m_settings->samplingRate()]));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if((m_settings->toneAdjustBass() != 0) || (m_settings->toneAdjustTreble() != 0))
|
|
||||||
{
|
|
||||||
thread->addFilter(new ToneAdjustFilter(m_settings->toneAdjustBass(), m_settings->toneAdjustTreble()));
|
|
||||||
}
|
|
||||||
if(m_settings->normalizationFilterEnabled())
|
|
||||||
{
|
|
||||||
thread->addFilter(new NormalizeFilter(m_settings->normalizationFilterMaxVolume(), m_settings->normalizationFilterEqualizationMode()));
|
|
||||||
}
|
|
||||||
if(m_settings->renameOutputFilesEnabled() && (!m_settings->renameOutputFilesPattern().simplified().isEmpty()))
|
|
||||||
{
|
|
||||||
thread->setRenamePattern(m_settings->renameOutputFilesPattern());
|
|
||||||
}
|
|
||||||
|
|
||||||
m_threadList.append(thread);
|
|
||||||
m_allJobs.append(thread->getId());
|
|
||||||
|
|
||||||
//Connect thread signals
|
|
||||||
connect(thread, SIGNAL(finished()), this, SLOT(doneEncoding()), Qt::QueuedConnection);
|
|
||||||
connect(thread, SIGNAL(processStateInitialized(QUuid,QString,QString,int)), m_progressModel, SLOT(addJob(QUuid,QString,QString,int)), Qt::QueuedConnection);
|
|
||||||
connect(thread, SIGNAL(processStateChanged(QUuid,QString,int)), m_progressModel, SLOT(updateJob(QUuid,QString,int)), Qt::QueuedConnection);
|
|
||||||
connect(thread, SIGNAL(processStateFinished(QUuid,QString,bool)), this, SLOT(processFinished(QUuid,QString,bool)), Qt::QueuedConnection);
|
|
||||||
connect(thread, SIGNAL(processMessageLogged(QUuid,QString)), m_progressModel, SLOT(appendToLog(QUuid,QString)), Qt::QueuedConnection);
|
|
||||||
|
|
||||||
//Give it a go!
|
|
||||||
m_runningThreads++;
|
|
||||||
thread->start();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProcessingDialog::writePlayList(void)
|
void ProcessingDialog::writePlayList(void)
|
||||||
|
@ -36,6 +36,7 @@ class SettingsModel;
|
|||||||
class CPUObserverThread;
|
class CPUObserverThread;
|
||||||
class RAMObserverThread;
|
class RAMObserverThread;
|
||||||
class DiskObserverThread;
|
class DiskObserverThread;
|
||||||
|
class AbstractEncoder;
|
||||||
|
|
||||||
enum shutdownFlag_t
|
enum shutdownFlag_t
|
||||||
{
|
{
|
||||||
@ -79,6 +80,7 @@ protected:
|
|||||||
private:
|
private:
|
||||||
void setCloseButtonEnabled(bool enabled);
|
void setCloseButtonEnabled(bool enabled);
|
||||||
void startNextJob(void);
|
void startNextJob(void);
|
||||||
|
AbstractEncoder *makeEncoder(bool *nativeResampling);
|
||||||
AudioFileModel updateMetaInfo(const AudioFileModel &audioFile);
|
AudioFileModel updateMetaInfo(const AudioFileModel &audioFile);
|
||||||
void writePlayList(void);
|
void writePlayList(void);
|
||||||
bool shutdownComputer(void);
|
bool shutdownComputer(void);
|
||||||
|
152
src/Encoder_DCA.cpp
Normal file
152
src/Encoder_DCA.cpp
Normal file
@ -0,0 +1,152 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
// LameXP - Audio Encoder Front-End
|
||||||
|
// Copyright (C) 2004-2011 LoRd_MuldeR <MuldeR2@GMX.de>
|
||||||
|
//
|
||||||
|
// This program is free software; you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU General Public License as published by
|
||||||
|
// the Free Software Foundation; either version 2 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// This program is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License along
|
||||||
|
// with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
//
|
||||||
|
// http://www.gnu.org/licenses/gpl-2.0.txt
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#include "Encoder_DCA.h"
|
||||||
|
|
||||||
|
#include "Global.h"
|
||||||
|
#include "Model_Settings.h"
|
||||||
|
|
||||||
|
#include <QProcess>
|
||||||
|
#include <QDir>
|
||||||
|
#include <limits.h>
|
||||||
|
|
||||||
|
DCAEncoder::DCAEncoder(void)
|
||||||
|
:
|
||||||
|
m_binary(lamexp_lookup_tool("dcaenc.exe"))
|
||||||
|
{
|
||||||
|
if(m_binary.isEmpty())
|
||||||
|
{
|
||||||
|
throw "Error initializing DCA encoder. Tool 'dcaenc.exe' is not registred!";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
DCAEncoder::~DCAEncoder(void)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
bool DCAEncoder::encode(const QString &sourceFile, const AudioFileModel &metaInfo, const QString &outputFile, volatile bool *abortFlag)
|
||||||
|
{
|
||||||
|
QProcess process;
|
||||||
|
QStringList args;
|
||||||
|
|
||||||
|
int bitrate = qBound(32, m_configBitrate * 32, 6144);
|
||||||
|
|
||||||
|
args << QDir::toNativeSeparators(sourceFile);
|
||||||
|
args << QDir::toNativeSeparators(outputFile);
|
||||||
|
args << QString::number(bitrate);
|
||||||
|
|
||||||
|
if(!startProcess(process, m_binary, args))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool bTimeout = false;
|
||||||
|
bool bAborted = false;
|
||||||
|
int prevProgress = -1;
|
||||||
|
|
||||||
|
QRegExp regExp("\\[(\\d+)\\.(\\d+)%\\]");
|
||||||
|
|
||||||
|
while(process.state() != QProcess::NotRunning)
|
||||||
|
{
|
||||||
|
if(*abortFlag)
|
||||||
|
{
|
||||||
|
process.kill();
|
||||||
|
bAborted = true;
|
||||||
|
emit messageLogged("\nABORTED BY USER !!!");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
process.waitForReadyRead(m_processTimeoutInterval);
|
||||||
|
if(!process.bytesAvailable() && process.state() == QProcess::Running)
|
||||||
|
{
|
||||||
|
process.kill();
|
||||||
|
qWarning("DCAENC process timed out <-- killing!");
|
||||||
|
emit messageLogged("\nPROCESS TIMEOUT !!!");
|
||||||
|
bTimeout = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
while(process.bytesAvailable() > 0)
|
||||||
|
{
|
||||||
|
QByteArray line = process.readLine();
|
||||||
|
QString text = QString::fromUtf8(line.constData()).simplified();
|
||||||
|
if(regExp.lastIndexIn(text) >= 0)
|
||||||
|
{
|
||||||
|
bool ok = false;
|
||||||
|
int progress = regExp.cap(1).toInt(&ok);
|
||||||
|
if(ok && (progress > prevProgress))
|
||||||
|
{
|
||||||
|
emit statusUpdated(progress);
|
||||||
|
prevProgress = qMin(progress + 2, 99);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(!text.isEmpty())
|
||||||
|
{
|
||||||
|
emit messageLogged(text);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
process.waitForFinished();
|
||||||
|
if(process.state() != QProcess::NotRunning)
|
||||||
|
{
|
||||||
|
process.kill();
|
||||||
|
process.waitForFinished(-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
emit statusUpdated(100);
|
||||||
|
emit messageLogged(QString().sprintf("\nExited with code: 0x%04X", process.exitCode()));
|
||||||
|
|
||||||
|
if(bTimeout || bAborted || process.exitCode() != EXIT_SUCCESS)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString DCAEncoder::extension(void)
|
||||||
|
{
|
||||||
|
return "dts";
|
||||||
|
}
|
||||||
|
|
||||||
|
bool DCAEncoder::isFormatSupported(const QString &containerType, const QString &containerProfile, const QString &formatType, const QString &formatProfile, const QString &formatVersion)
|
||||||
|
{
|
||||||
|
if(containerType.compare("Wave", Qt::CaseInsensitive) == 0)
|
||||||
|
{
|
||||||
|
if(formatType.compare("PCM", Qt::CaseInsensitive) == 0)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
const unsigned int *DCAEncoder::supportedSamplerates(void)
|
||||||
|
{
|
||||||
|
static const unsigned int supportedRates[] = {48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000, NULL};
|
||||||
|
return supportedRates;
|
||||||
|
}
|
||||||
|
|
||||||
|
const unsigned int *DCAEncoder::supportedBitdepths(void)
|
||||||
|
{
|
||||||
|
static const unsigned int supportedBPS[] = {16, 32, NULL};
|
||||||
|
return supportedBPS;
|
||||||
|
}
|
45
src/Encoder_DCA.h
Normal file
45
src/Encoder_DCA.h
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
// LameXP - Audio Encoder Front-End
|
||||||
|
// Copyright (C) 2004-2011 LoRd_MuldeR <MuldeR2@GMX.de>
|
||||||
|
//
|
||||||
|
// This program is free software; you can redistribute it and/or modify
|
||||||
|
// it under the terms of the GNU General Public License as published by
|
||||||
|
// the Free Software Foundation; either version 2 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// This program is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License along
|
||||||
|
// with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
//
|
||||||
|
// http://www.gnu.org/licenses/gpl-2.0.txt
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "Encoder_Abstract.h"
|
||||||
|
|
||||||
|
#include <QObject>
|
||||||
|
|
||||||
|
class DCAEncoder : public AbstractEncoder
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
DCAEncoder(void);
|
||||||
|
~DCAEncoder(void);
|
||||||
|
|
||||||
|
virtual bool encode(const QString &sourceFile, const AudioFileModel &metaInfo, const QString &outputFile, volatile bool *abortFlag);
|
||||||
|
virtual bool isFormatSupported(const QString &containerType, const QString &containerProfile, const QString &formatType, const QString &formatProfile, const QString &formatVersion);
|
||||||
|
virtual QString extension(void);
|
||||||
|
virtual const unsigned int *supportedBitdepths(void);
|
||||||
|
virtual const unsigned int *supportedSamplerates(void);
|
||||||
|
|
||||||
|
private:
|
||||||
|
const QString m_binary;
|
||||||
|
int clipBitrate(int bitrate);
|
||||||
|
};
|
@ -62,7 +62,8 @@ public:
|
|||||||
AACEncoder = 2,
|
AACEncoder = 2,
|
||||||
AC3Encoder = 3,
|
AC3Encoder = 3,
|
||||||
FLACEncoder = 4,
|
FLACEncoder = 4,
|
||||||
PCMEncoder = 5
|
DCAEncoder = 5,
|
||||||
|
PCMEncoder = 6
|
||||||
};
|
};
|
||||||
enum RCMode
|
enum RCMode
|
||||||
{
|
{
|
||||||
|
@ -420,7 +420,7 @@ void ProcessThread::insertDownsampleFilter(void)
|
|||||||
for(int i = 0; supportedRates[i]; i++)
|
for(int i = 0; supportedRates[i]; i++)
|
||||||
{
|
{
|
||||||
currentDiff = DIFF(inputRate, supportedRates[i]);
|
currentDiff = DIFF(inputRate, supportedRates[i]);
|
||||||
if(currentDiff < minimumDiff)
|
if((currentDiff < minimumDiff) || ((currentDiff == minimumDiff) && (bestRate < supportedRates[i])))
|
||||||
{
|
{
|
||||||
bestRate = supportedRates[i];
|
bestRate = supportedRates[i];
|
||||||
minimumDiff = currentDiff;
|
minimumDiff = currentDiff;
|
||||||
@ -446,7 +446,7 @@ void ProcessThread::insertDownsampleFilter(void)
|
|||||||
for(int i = 0; supportedBPS[i]; i++)
|
for(int i = 0; supportedBPS[i]; i++)
|
||||||
{
|
{
|
||||||
currentDiff = DIFF(inputBPS, supportedBPS[i]);
|
currentDiff = DIFF(inputBPS, supportedBPS[i]);
|
||||||
if(currentDiff < minimumDiff)
|
if((currentDiff < minimumDiff) || ((currentDiff == minimumDiff) && (bestBPS < supportedBPS[i])))
|
||||||
{
|
{
|
||||||
bestBPS = supportedBPS[i];
|
bestBPS = supportedBPS[i];
|
||||||
minimumDiff = currentDiff;
|
minimumDiff = currentDiff;
|
||||||
|
@ -56,6 +56,7 @@ g_lamexp_tools[] =
|
|||||||
{"29da0d3e810bc3e8d2cddb3db452325eefca0d0c1fff1379fa17806ad447752be1b88e2f", CPU_TYPE_X64_ALL, "aften.x64.exe", 8},
|
{"29da0d3e810bc3e8d2cddb3db452325eefca0d0c1fff1379fa17806ad447752be1b88e2f", CPU_TYPE_X64_ALL, "aften.x64.exe", 8},
|
||||||
{"1cca303fabd889a18fc01c32a7fd861194cfcac60ba63740ea2d7c55d049dbf8f59259fa", CPU_TYPE_ALL_ALL, "alac.exe", 20},
|
{"1cca303fabd889a18fc01c32a7fd861194cfcac60ba63740ea2d7c55d049dbf8f59259fa", CPU_TYPE_ALL_ALL, "alac.exe", 20},
|
||||||
{"6d22d4bbd7ce2162e38f70ac9187bc84eb28233b36ee6c0492d0a6195318782d7f05c444", CPU_TYPE_ALL_ALL, "avs2wav.exe", 13},
|
{"6d22d4bbd7ce2162e38f70ac9187bc84eb28233b36ee6c0492d0a6195318782d7f05c444", CPU_TYPE_ALL_ALL, "avs2wav.exe", 13},
|
||||||
|
{"d94bea403cbd24a890d91f55a4e4fed47898b21b62de3ba1202da55dc0917187304171f6", CPU_TYPE_ALL_ALL, "dcaenc.exe", 20111222},
|
||||||
{"e53a787d4a0319453f4fe48c3145f190fcce7ac4802e521db908771437f6250746116e6c", CPU_TYPE_ALL_ALL, "elevator.exe", UINT_MAX},
|
{"e53a787d4a0319453f4fe48c3145f190fcce7ac4802e521db908771437f6250746116e6c", CPU_TYPE_ALL_ALL, "elevator.exe", UINT_MAX},
|
||||||
{"9ae98a3fc779f69ee876a3b477fbc35a709ba5066823b2eb62eeb015057c38807e4be51f", CPU_TYPE_ALL_ALL, "faad.exe", 27},
|
{"9ae98a3fc779f69ee876a3b477fbc35a709ba5066823b2eb62eeb015057c38807e4be51f", CPU_TYPE_ALL_ALL, "faad.exe", 27},
|
||||||
{"446054f9a7f705f1aadc9053ca7b8a86a775499ef159978954ebdea92de056c34f8841f7", CPU_TYPE_ALL_ALL, "flac.exe", 121},
|
{"446054f9a7f705f1aadc9053ca7b8a86a775499ef159978954ebdea92de056c34f8841f7", CPU_TYPE_ALL_ALL, "flac.exe", 121},
|
||||||
|
Loading…
Reference in New Issue
Block a user