Updated CueImportDialog and CueSheetModel as well as the CueSheet helper classes to use AudioFileModel_MetaInfo. Significant code simplification.
This commit is contained in:
parent
f57f65d709
commit
5e5fbe06f9
@ -379,56 +379,56 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>AudioFileModel</name>
|
<name>AudioFileModel</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="227"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="260"/>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="283"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="316"/>
|
||||||
<source>Profile</source>
|
<source>Profile</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="244"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="277"/>
|
||||||
<source>Channels</source>
|
<source>Channels</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="249"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="282"/>
|
||||||
<source>Samplerate</source>
|
<source>Samplerate</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="256"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="289"/>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="260"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="293"/>
|
||||||
<source>Bitdepth</source>
|
<source>Bitdepth</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="278"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="311"/>
|
||||||
<source>Type</source>
|
<source>Type</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="287"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="320"/>
|
||||||
<source>Version</source>
|
<source>Version</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="294"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="327"/>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="297"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="330"/>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="300"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="333"/>
|
||||||
<source>Bitrate</source>
|
<source>Bitrate</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="294"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="327"/>
|
||||||
<source>Constant</source>
|
<source>Constant</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="297"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="330"/>
|
||||||
<source>Variable</source>
|
<source>Variable</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="306"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="339"/>
|
||||||
<source>Encoder</source>
|
<source>Encoder</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -464,8 +464,8 @@
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="120"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="120"/>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="221"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="221"/>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="410"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="413"/>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="414"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="417"/>
|
||||||
<source>Cue Sheet Error</source>
|
<source>Cue Sheet Error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -525,110 +525,110 @@
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="236"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="238"/>
|
||||||
<source>Unknown Artist</source>
|
<source>Unknown Artist</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="237"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="239"/>
|
||||||
<source>Unknown Album</source>
|
<source>Unknown Album</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="252"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="255"/>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="256"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="259"/>
|
||||||
<source>Choose Output Directory</source>
|
<source>Choose Output Directory</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="282"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="285"/>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="289"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="292"/>
|
||||||
<source>LameXP</source>
|
<source>LameXP</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="282"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="285"/>
|
||||||
<source>Error: The selected output directory could not be created!</source>
|
<source>Error: The selected output directory could not be created!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="289"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="292"/>
|
||||||
<source>Error: The selected output directory is not writable!</source>
|
<source>Error: The selected output directory is not writable!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="303"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="306"/>
|
||||||
<source>Low Diskspace Warning</source>
|
<source>Low Diskspace Warning</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="303"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="306"/>
|
||||||
<source>There are less than %1 GB of free diskspace available in the selected output directory.</source>
|
<source>There are less than %1 GB of free diskspace available in the selected output directory.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="303"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="306"/>
|
||||||
<source>It is highly recommend to free up more diskspace before proceeding with the import!</source>
|
<source>It is highly recommend to free up more diskspace before proceeding with the import!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="373"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="376"/>
|
||||||
<source>Analyzing file(s), please wait...</source>
|
<source>Analyzing file(s), please wait...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="378"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="381"/>
|
||||||
<source>Analysis Failed</source>
|
<source>Analysis Failed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="378"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="381"/>
|
||||||
<source>Warning: The format of some of the input files could not be determined!</source>
|
<source>Warning: The format of some of the input files could not be determined!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="378"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="381"/>
|
||||||
<source>Continue Anyway</source>
|
<source>Continue Anyway</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="378"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="381"/>
|
||||||
<source>Abort</source>
|
<source>Abort</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="405"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="408"/>
|
||||||
<source>Splitting file(s), please wait...</source>
|
<source>Splitting file(s), please wait...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message numerus="yes">
|
<message numerus="yes">
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="410"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="413"/>
|
||||||
<source>Process was aborted by the user after %n track(s)!</source>
|
<source>Process was aborted by the user after %n track(s)!</source>
|
||||||
<translation type="unfinished">
|
<translation type="unfinished">
|
||||||
<numerusform></numerusform>
|
<numerusform></numerusform>
|
||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="414"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="417"/>
|
||||||
<source>An unexpected error has occured while splitting the Cue Sheet!</source>
|
<source>An unexpected error has occured while splitting the Cue Sheet!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message numerus="yes">
|
<message numerus="yes">
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="418"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="421"/>
|
||||||
<source>Imported %n track(s) from the Cue Sheet.</source>
|
<source>Imported %n track(s) from the Cue Sheet.</source>
|
||||||
<translation type="unfinished">
|
<translation type="unfinished">
|
||||||
<numerusform></numerusform>
|
<numerusform></numerusform>
|
||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
<message numerus="yes">
|
<message numerus="yes">
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="418"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="421"/>
|
||||||
<source>Skipped %n track(s).</source>
|
<source>Skipped %n track(s).</source>
|
||||||
<translation type="unfinished">
|
<translation type="unfinished">
|
||||||
<numerusform></numerusform>
|
<numerusform></numerusform>
|
||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="419"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="422"/>
|
||||||
<source>Cue Sheet Completed</source>
|
<source>Cue Sheet Completed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -685,44 +685,44 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>CueSheetModel</name>
|
<name>CueSheetModel</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_CueSheet.cpp" line="211"/>
|
<location filename="../../src/Model_CueSheet.cpp" line="199"/>
|
||||||
<source>No.</source>
|
<source>No.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_CueSheet.cpp" line="214"/>
|
<location filename="../../src/Model_CueSheet.cpp" line="202"/>
|
||||||
<source>File / Track</source>
|
<source>File / Track</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_CueSheet.cpp" line="217"/>
|
<location filename="../../src/Model_CueSheet.cpp" line="205"/>
|
||||||
<source>Index</source>
|
<source>Index</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_CueSheet.cpp" line="220"/>
|
<location filename="../../src/Model_CueSheet.cpp" line="208"/>
|
||||||
<source>Duration</source>
|
<source>Duration</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_CueSheet.cpp" line="246"/>
|
<location filename="../../src/Model_CueSheet.cpp" line="234"/>
|
||||||
<source>File %1</source>
|
<source>File %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_CueSheet.cpp" line="261"/>
|
<location filename="../../src/Model_CueSheet.cpp" line="250"/>
|
||||||
<source>Track %1</source>
|
<source>Track %1</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_CueSheet.cpp" line="270"/>
|
<location filename="../../src/Model_CueSheet.cpp" line="259"/>
|
||||||
<location filename="../../src/Model_CueSheet.cpp" line="278"/>
|
<location filename="../../src/Model_CueSheet.cpp" line="267"/>
|
||||||
<source>Unknown Artist</source>
|
<source>Unknown Artist</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_CueSheet.cpp" line="274"/>
|
<location filename="../../src/Model_CueSheet.cpp" line="263"/>
|
||||||
<location filename="../../src/Model_CueSheet.cpp" line="278"/>
|
<location filename="../../src/Model_CueSheet.cpp" line="267"/>
|
||||||
<source>Unknown Title</source>
|
<source>Unknown Title</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -3290,23 +3290,23 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>QApplication</name>
|
<name>QApplication</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Global.cpp" line="900"/>
|
<location filename="../../src/Global.cpp" line="933"/>
|
||||||
<source>Executable '%1' doesn't support Windows compatibility mode.</source>
|
<source>Executable '%1' doesn't support Windows compatibility mode.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Global.cpp" line="1154"/>
|
<location filename="../../src/Global.cpp" line="1187"/>
|
||||||
<source>Executable '%1' requires Qt v%2, but found Qt v%3.</source>
|
<source>Executable '%1' requires Qt v%2, but found Qt v%3.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Global.cpp" line="1159"/>
|
<location filename="../../src/Global.cpp" line="1192"/>
|
||||||
<source>Executable '%1' was built for Qt '%2', but found Qt '%3'.</source>
|
<source>Executable '%1' was built for Qt '%2', but found Qt '%3'.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Global.cpp" line="1172"/>
|
<location filename="../../src/Global.cpp" line="1205"/>
|
||||||
<location filename="../../src/Global.cpp" line="1199"/>
|
<location filename="../../src/Global.cpp" line="1232"/>
|
||||||
<source>Executable '%1' requires Windows 2000 or later.</source>
|
<source>Executable '%1' requires Windows 2000 or later.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>CueImportDialog</name>
|
<name>CueImportDialog</name>
|
||||||
<message numerus="yes">
|
<message numerus="yes">
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="410"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="413"/>
|
||||||
<source>Process was aborted by the user after %n track(s)!</source>
|
<source>Process was aborted by the user after %n track(s)!</source>
|
||||||
<translation>
|
<translation>
|
||||||
<numerusform>Process was aborted by the user after %n track!</numerusform>
|
<numerusform>Process was aborted by the user after %n track!</numerusform>
|
||||||
@ -12,7 +12,7 @@
|
|||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
<message numerus="yes">
|
<message numerus="yes">
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="418"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="421"/>
|
||||||
<source>Imported %n track(s) from the Cue Sheet.</source>
|
<source>Imported %n track(s) from the Cue Sheet.</source>
|
||||||
<translation>
|
<translation>
|
||||||
<numerusform>Imported %n track from the Cue Sheet.</numerusform>
|
<numerusform>Imported %n track from the Cue Sheet.</numerusform>
|
||||||
@ -20,7 +20,7 @@
|
|||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
<message numerus="yes">
|
<message numerus="yes">
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="418"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="421"/>
|
||||||
<source>Skipped %n track(s).</source>
|
<source>Skipped %n track(s).</source>
|
||||||
<translation>
|
<translation>
|
||||||
<numerusform>Skipped %n track.</numerusform>
|
<numerusform>Skipped %n track.</numerusform>
|
||||||
|
@ -379,56 +379,56 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>AudioFileModel</name>
|
<name>AudioFileModel</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="227"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="260"/>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="283"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="316"/>
|
||||||
<source>Profile</source>
|
<source>Profile</source>
|
||||||
<translation type="unfinished">Profil</translation>
|
<translation type="unfinished">Profil</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="244"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="277"/>
|
||||||
<source>Channels</source>
|
<source>Channels</source>
|
||||||
<translation type="unfinished">Kanały</translation>
|
<translation type="unfinished">Kanały</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="249"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="282"/>
|
||||||
<source>Samplerate</source>
|
<source>Samplerate</source>
|
||||||
<translation type="unfinished">Częstotliwość</translation>
|
<translation type="unfinished">Częstotliwość</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="256"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="289"/>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="260"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="293"/>
|
||||||
<source>Bitdepth</source>
|
<source>Bitdepth</source>
|
||||||
<translation type="unfinished">Głębia bitów</translation>
|
<translation type="unfinished">Głębia bitów</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="278"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="311"/>
|
||||||
<source>Type</source>
|
<source>Type</source>
|
||||||
<translation type="unfinished">Typ</translation>
|
<translation type="unfinished">Typ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="287"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="320"/>
|
||||||
<source>Version</source>
|
<source>Version</source>
|
||||||
<translation type="unfinished">Wersja</translation>
|
<translation type="unfinished">Wersja</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="294"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="327"/>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="297"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="330"/>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="300"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="333"/>
|
||||||
<source>Bitrate</source>
|
<source>Bitrate</source>
|
||||||
<translation type="unfinished">Przepływność bitów</translation>
|
<translation type="unfinished">Przepływność bitów</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="294"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="327"/>
|
||||||
<source>Constant</source>
|
<source>Constant</source>
|
||||||
<translation type="unfinished">Stały</translation>
|
<translation type="unfinished">Stały</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="297"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="330"/>
|
||||||
<source>Variable</source>
|
<source>Variable</source>
|
||||||
<translation type="unfinished">Zmienny</translation>
|
<translation type="unfinished">Zmienny</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="306"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="339"/>
|
||||||
<source>Encoder</source>
|
<source>Encoder</source>
|
||||||
<translation type="unfinished">Enkoder</translation>
|
<translation type="unfinished">Enkoder</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -464,8 +464,8 @@
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="120"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="120"/>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="221"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="221"/>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="410"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="413"/>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="414"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="417"/>
|
||||||
<source>Cue Sheet Error</source>
|
<source>Cue Sheet Error</source>
|
||||||
<translation type="unfinished">Błąd pliku Cue Sheet</translation>
|
<translation type="unfinished">Błąd pliku Cue Sheet</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -525,84 +525,84 @@
|
|||||||
<translation type="unfinished">Wybrany plik Cue Sheet zawiera niespójne informacje. Prosze zachować ostrożność!</translation>
|
<translation type="unfinished">Wybrany plik Cue Sheet zawiera niespójne informacje. Prosze zachować ostrożność!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="236"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="238"/>
|
||||||
<source>Unknown Artist</source>
|
<source>Unknown Artist</source>
|
||||||
<translation type="unfinished">Nieznany Artysta</translation>
|
<translation type="unfinished">Nieznany Artysta</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="237"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="239"/>
|
||||||
<source>Unknown Album</source>
|
<source>Unknown Album</source>
|
||||||
<translation type="unfinished">Nieznany Album</translation>
|
<translation type="unfinished">Nieznany Album</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="252"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="255"/>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="256"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="259"/>
|
||||||
<source>Choose Output Directory</source>
|
<source>Choose Output Directory</source>
|
||||||
<translation type="unfinished">Wybierz folder wyjściowy</translation>
|
<translation type="unfinished">Wybierz folder wyjściowy</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="282"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="285"/>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="289"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="292"/>
|
||||||
<source>LameXP</source>
|
<source>LameXP</source>
|
||||||
<translation type="unfinished">LameXP</translation>
|
<translation type="unfinished">LameXP</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="282"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="285"/>
|
||||||
<source>Error: The selected output directory could not be created!</source>
|
<source>Error: The selected output directory could not be created!</source>
|
||||||
<translation type="unfinished">Błąd: Wybrana lokalizacja wyjściowa nie może zostać utworzona!</translation>
|
<translation type="unfinished">Błąd: Wybrana lokalizacja wyjściowa nie może zostać utworzona!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="289"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="292"/>
|
||||||
<source>Error: The selected output directory is not writable!</source>
|
<source>Error: The selected output directory is not writable!</source>
|
||||||
<translation type="unfinished">Błąd: Nie można zapisać w wybranej lokalizacji wyjściowej!</translation>
|
<translation type="unfinished">Błąd: Nie można zapisać w wybranej lokalizacji wyjściowej!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="303"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="306"/>
|
||||||
<source>Low Diskspace Warning</source>
|
<source>Low Diskspace Warning</source>
|
||||||
<translation type="unfinished">Ostrzeżenie o małej ilości miejsca na dysku</translation>
|
<translation type="unfinished">Ostrzeżenie o małej ilości miejsca na dysku</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="303"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="306"/>
|
||||||
<source>There are less than %1 GB of free diskspace available in the selected output directory.</source>
|
<source>There are less than %1 GB of free diskspace available in the selected output directory.</source>
|
||||||
<translation type="unfinished">Jest mniej niż %1 GB wolnego miejsca w wybranej lokalizacji wyjściowej.</translation>
|
<translation type="unfinished">Jest mniej niż %1 GB wolnego miejsca w wybranej lokalizacji wyjściowej.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="303"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="306"/>
|
||||||
<source>It is highly recommend to free up more diskspace before proceeding with the import!</source>
|
<source>It is highly recommend to free up more diskspace before proceeding with the import!</source>
|
||||||
<translation type="unfinished">Jest wysoce zalecane zwolnić miejsce na dysku zanim zaczniesz importować!</translation>
|
<translation type="unfinished">Jest wysoce zalecane zwolnić miejsce na dysku zanim zaczniesz importować!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="373"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="376"/>
|
||||||
<source>Analyzing file(s), please wait...</source>
|
<source>Analyzing file(s), please wait...</source>
|
||||||
<translation type="unfinished">Analizowanie pliku/ów, prosze czekać...</translation>
|
<translation type="unfinished">Analizowanie pliku/ów, prosze czekać...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="378"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="381"/>
|
||||||
<source>Analysis Failed</source>
|
<source>Analysis Failed</source>
|
||||||
<translation type="unfinished">Analiza zakończona niepowodzeniem</translation>
|
<translation type="unfinished">Analiza zakończona niepowodzeniem</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="378"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="381"/>
|
||||||
<source>Warning: The format of some of the input files could not be determined!</source>
|
<source>Warning: The format of some of the input files could not be determined!</source>
|
||||||
<translation type="unfinished">Ostrzeżenie: Nie można rozpoznać formatu kilku plików wejściowych!</translation>
|
<translation type="unfinished">Ostrzeżenie: Nie można rozpoznać formatu kilku plików wejściowych!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="378"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="381"/>
|
||||||
<source>Continue Anyway</source>
|
<source>Continue Anyway</source>
|
||||||
<translation type="unfinished">Kontynuuj pomimo to</translation>
|
<translation type="unfinished">Kontynuuj pomimo to</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="378"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="381"/>
|
||||||
<source>Abort</source>
|
<source>Abort</source>
|
||||||
<translation type="unfinished">Przerwij</translation>
|
<translation type="unfinished">Przerwij</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="405"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="408"/>
|
||||||
<source>Splitting file(s), please wait...</source>
|
<source>Splitting file(s), please wait...</source>
|
||||||
<translation type="unfinished">Dzielenie pliku/ów, prosze czekać...</translation>
|
<translation type="unfinished">Dzielenie pliku/ów, prosze czekać...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message numerus="yes">
|
<message numerus="yes">
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="410"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="413"/>
|
||||||
<source>Process was aborted by the user after %n track(s)!</source>
|
<source>Process was aborted by the user after %n track(s)!</source>
|
||||||
<translation type="unfinished">
|
<translation type="unfinished">
|
||||||
<numerusform>Proces został przerwany przez użytkownika po zakończeniu %n ścieżki!</numerusform>
|
<numerusform>Proces został przerwany przez użytkownika po zakończeniu %n ścieżki!</numerusform>
|
||||||
@ -611,12 +611,12 @@
|
|||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="414"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="417"/>
|
||||||
<source>An unexpected error has occured while splitting the Cue Sheet!</source>
|
<source>An unexpected error has occured while splitting the Cue Sheet!</source>
|
||||||
<translation type="unfinished">Wystąpił nieoczekiwany błąd podczas podziału pliku Cue Sheet!</translation>
|
<translation type="unfinished">Wystąpił nieoczekiwany błąd podczas podziału pliku Cue Sheet!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message numerus="yes">
|
<message numerus="yes">
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="418"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="421"/>
|
||||||
<source>Imported %n track(s) from the Cue Sheet.</source>
|
<source>Imported %n track(s) from the Cue Sheet.</source>
|
||||||
<translation type="unfinished">
|
<translation type="unfinished">
|
||||||
<numerusform>Zaimportowano %n ścieżkę z pliku Cue Sheet.</numerusform>
|
<numerusform>Zaimportowano %n ścieżkę z pliku Cue Sheet.</numerusform>
|
||||||
@ -625,7 +625,7 @@
|
|||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
<message numerus="yes">
|
<message numerus="yes">
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="418"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="421"/>
|
||||||
<source>Skipped %n track(s).</source>
|
<source>Skipped %n track(s).</source>
|
||||||
<translation type="unfinished">
|
<translation type="unfinished">
|
||||||
<numerusform>Pominięto %n ścieżkę.</numerusform>
|
<numerusform>Pominięto %n ścieżkę.</numerusform>
|
||||||
@ -634,7 +634,7 @@
|
|||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="419"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="422"/>
|
||||||
<source>Cue Sheet Completed</source>
|
<source>Cue Sheet Completed</source>
|
||||||
<translation type="unfinished">Stworzono plik Cue Sheet</translation>
|
<translation type="unfinished">Stworzono plik Cue Sheet</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -691,44 +691,44 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>CueSheetModel</name>
|
<name>CueSheetModel</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_CueSheet.cpp" line="211"/>
|
<location filename="../../src/Model_CueSheet.cpp" line="199"/>
|
||||||
<source>No.</source>
|
<source>No.</source>
|
||||||
<translation type="unfinished">Numer.</translation>
|
<translation type="unfinished">Numer.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_CueSheet.cpp" line="214"/>
|
<location filename="../../src/Model_CueSheet.cpp" line="202"/>
|
||||||
<source>File / Track</source>
|
<source>File / Track</source>
|
||||||
<translation type="unfinished">Plik/ŚcieżKa</translation>
|
<translation type="unfinished">Plik/ŚcieżKa</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_CueSheet.cpp" line="217"/>
|
<location filename="../../src/Model_CueSheet.cpp" line="205"/>
|
||||||
<source>Index</source>
|
<source>Index</source>
|
||||||
<translation type="unfinished">Indeks</translation>
|
<translation type="unfinished">Indeks</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_CueSheet.cpp" line="220"/>
|
<location filename="../../src/Model_CueSheet.cpp" line="208"/>
|
||||||
<source>Duration</source>
|
<source>Duration</source>
|
||||||
<translation type="unfinished">Czas trwania</translation>
|
<translation type="unfinished">Czas trwania</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_CueSheet.cpp" line="246"/>
|
<location filename="../../src/Model_CueSheet.cpp" line="234"/>
|
||||||
<source>File %1</source>
|
<source>File %1</source>
|
||||||
<translation type="unfinished">Plik %1</translation>
|
<translation type="unfinished">Plik %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_CueSheet.cpp" line="261"/>
|
<location filename="../../src/Model_CueSheet.cpp" line="250"/>
|
||||||
<source>Track %1</source>
|
<source>Track %1</source>
|
||||||
<translation type="unfinished">Ścieżka %1</translation>
|
<translation type="unfinished">Ścieżka %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_CueSheet.cpp" line="270"/>
|
<location filename="../../src/Model_CueSheet.cpp" line="259"/>
|
||||||
<location filename="../../src/Model_CueSheet.cpp" line="278"/>
|
<location filename="../../src/Model_CueSheet.cpp" line="267"/>
|
||||||
<source>Unknown Artist</source>
|
<source>Unknown Artist</source>
|
||||||
<translation type="unfinished">Nieznany Artysta</translation>
|
<translation type="unfinished">Nieznany Artysta</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_CueSheet.cpp" line="274"/>
|
<location filename="../../src/Model_CueSheet.cpp" line="263"/>
|
||||||
<location filename="../../src/Model_CueSheet.cpp" line="278"/>
|
<location filename="../../src/Model_CueSheet.cpp" line="267"/>
|
||||||
<source>Unknown Title</source>
|
<source>Unknown Title</source>
|
||||||
<translation type="unfinished">Nieznany Tytuł</translation>
|
<translation type="unfinished">Nieznany Tytuł</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -3327,23 +3327,23 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>QApplication</name>
|
<name>QApplication</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Global.cpp" line="900"/>
|
<location filename="../../src/Global.cpp" line="933"/>
|
||||||
<source>Executable '%1' doesn't support Windows compatibility mode.</source>
|
<source>Executable '%1' doesn't support Windows compatibility mode.</source>
|
||||||
<translation type="unfinished">Plik wykonywalny '%1' nie działa w trybie kompatybilności z Windows.</translation>
|
<translation type="unfinished">Plik wykonywalny '%1' nie działa w trybie kompatybilności z Windows.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Global.cpp" line="1154"/>
|
<location filename="../../src/Global.cpp" line="1187"/>
|
||||||
<source>Executable '%1' requires Qt v%2, but found Qt v%3.</source>
|
<source>Executable '%1' requires Qt v%2, but found Qt v%3.</source>
|
||||||
<translation type="unfinished">Plik wykonywalny '%1' wymaga Qt v%2, znaleziono jednak Qt v%3.</translation>
|
<translation type="unfinished">Plik wykonywalny '%1' wymaga Qt v%2, znaleziono jednak Qt v%3.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Global.cpp" line="1159"/>
|
<location filename="../../src/Global.cpp" line="1192"/>
|
||||||
<source>Executable '%1' was built for Qt '%2', but found Qt '%3'.</source>
|
<source>Executable '%1' was built for Qt '%2', but found Qt '%3'.</source>
|
||||||
<translation type="unfinished">Plik wykonywalny "%1" został skompilowany dla Qt "%2", znaleziono "%3".</translation>
|
<translation type="unfinished">Plik wykonywalny "%1" został skompilowany dla Qt "%2", znaleziono "%3".</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Global.cpp" line="1172"/>
|
<location filename="../../src/Global.cpp" line="1205"/>
|
||||||
<location filename="../../src/Global.cpp" line="1199"/>
|
<location filename="../../src/Global.cpp" line="1232"/>
|
||||||
<source>Executable '%1' requires Windows 2000 or later.</source>
|
<source>Executable '%1' requires Windows 2000 or later.</source>
|
||||||
<translation type="unfinished">Plik wykonywalny '%1' wymaga do uruchomienia Windows 2000 lub nowszego.</translation>
|
<translation type="unfinished">Plik wykonywalny '%1' wymaga do uruchomienia Windows 2000 lub nowszego.</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -379,56 +379,56 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>AudioFileModel</name>
|
<name>AudioFileModel</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="227"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="260"/>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="283"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="316"/>
|
||||||
<source>Profile</source>
|
<source>Profile</source>
|
||||||
<translation>Profil</translation>
|
<translation>Profil</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="244"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="277"/>
|
||||||
<source>Channels</source>
|
<source>Channels</source>
|
||||||
<translation>Kanaler</translation>
|
<translation>Kanaler</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="249"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="282"/>
|
||||||
<source>Samplerate</source>
|
<source>Samplerate</source>
|
||||||
<translation>Samplingsfrekvens</translation>
|
<translation>Samplingsfrekvens</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="256"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="289"/>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="260"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="293"/>
|
||||||
<source>Bitdepth</source>
|
<source>Bitdepth</source>
|
||||||
<translation>Bitdjup</translation>
|
<translation>Bitdjup</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="278"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="311"/>
|
||||||
<source>Type</source>
|
<source>Type</source>
|
||||||
<translation>Typ</translation>
|
<translation>Typ</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="287"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="320"/>
|
||||||
<source>Version</source>
|
<source>Version</source>
|
||||||
<translation>Version</translation>
|
<translation>Version</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="294"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="327"/>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="297"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="330"/>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="300"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="333"/>
|
||||||
<source>Bitrate</source>
|
<source>Bitrate</source>
|
||||||
<translation>Bithastighet</translation>
|
<translation>Bithastighet</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="294"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="327"/>
|
||||||
<source>Constant</source>
|
<source>Constant</source>
|
||||||
<translation>Konstant</translation>
|
<translation>Konstant</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="297"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="330"/>
|
||||||
<source>Variable</source>
|
<source>Variable</source>
|
||||||
<translation>Variabel</translation>
|
<translation>Variabel</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_AudioFile.cpp" line="306"/>
|
<location filename="../../src/Model_AudioFile.cpp" line="339"/>
|
||||||
<source>Encoder</source>
|
<source>Encoder</source>
|
||||||
<translatorcomment>Kodare</translatorcomment>
|
<translatorcomment>Kodare</translatorcomment>
|
||||||
<translation></translation>
|
<translation></translation>
|
||||||
@ -465,8 +465,8 @@
|
|||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="120"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="120"/>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="221"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="221"/>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="410"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="413"/>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="414"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="417"/>
|
||||||
<source>Cue Sheet Error</source>
|
<source>Cue Sheet Error</source>
|
||||||
<translation>Cue-fel</translation>
|
<translation>Cue-fel</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -526,84 +526,84 @@
|
|||||||
<translation>Den specificerade cue-filen innehåller inkonsekvent information. Undersök det!</translation>
|
<translation>Den specificerade cue-filen innehåller inkonsekvent information. Undersök det!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="236"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="238"/>
|
||||||
<source>Unknown Artist</source>
|
<source>Unknown Artist</source>
|
||||||
<translation>Okänd artist</translation>
|
<translation>Okänd artist</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="237"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="239"/>
|
||||||
<source>Unknown Album</source>
|
<source>Unknown Album</source>
|
||||||
<translation>Okänt album</translation>
|
<translation>Okänt album</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="252"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="255"/>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="256"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="259"/>
|
||||||
<source>Choose Output Directory</source>
|
<source>Choose Output Directory</source>
|
||||||
<translation>Välj målmapp för utdata</translation>
|
<translation>Välj målmapp för utdata</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="282"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="285"/>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="289"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="292"/>
|
||||||
<source>LameXP</source>
|
<source>LameXP</source>
|
||||||
<translation>LameXP</translation>
|
<translation>LameXP</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="282"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="285"/>
|
||||||
<source>Error: The selected output directory could not be created!</source>
|
<source>Error: The selected output directory could not be created!</source>
|
||||||
<translation>Fel: Den specificerade målmappen kunde inte skapas!</translation>
|
<translation>Fel: Den specificerade målmappen kunde inte skapas!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="289"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="292"/>
|
||||||
<source>Error: The selected output directory is not writable!</source>
|
<source>Error: The selected output directory is not writable!</source>
|
||||||
<translation>Fel: Den specificerade målmappen är skrivskyddad!</translation>
|
<translation>Fel: Den specificerade målmappen är skrivskyddad!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="303"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="306"/>
|
||||||
<source>Low Diskspace Warning</source>
|
<source>Low Diskspace Warning</source>
|
||||||
<translation>Varning för lågt diskutrymme</translation>
|
<translation>Varning för lågt diskutrymme</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="303"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="306"/>
|
||||||
<source>There are less than %1 GB of free diskspace available in the selected output directory.</source>
|
<source>There are less than %1 GB of free diskspace available in the selected output directory.</source>
|
||||||
<translation>Det finns mindre än %1 GB ledigt diskutrymme på den specificerade måladressen.</translation>
|
<translation>Det finns mindre än %1 GB ledigt diskutrymme på den specificerade måladressen.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="303"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="306"/>
|
||||||
<source>It is highly recommend to free up more diskspace before proceeding with the import!</source>
|
<source>It is highly recommend to free up more diskspace before proceeding with the import!</source>
|
||||||
<translation>Du bör frigöra mer diskutrymme innan du fortsätter med importen!</translation>
|
<translation>Du bör frigöra mer diskutrymme innan du fortsätter med importen!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="373"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="376"/>
|
||||||
<source>Analyzing file(s), please wait...</source>
|
<source>Analyzing file(s), please wait...</source>
|
||||||
<translation>Analyserar fil(er), vänta...</translation>
|
<translation>Analyserar fil(er), vänta...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="378"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="381"/>
|
||||||
<source>Analysis Failed</source>
|
<source>Analysis Failed</source>
|
||||||
<translation>Analys misslyckades</translation>
|
<translation>Analys misslyckades</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="378"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="381"/>
|
||||||
<source>Warning: The format of some of the input files could not be determined!</source>
|
<source>Warning: The format of some of the input files could not be determined!</source>
|
||||||
<translation>Varning! Formatet på vissa filer kunde inte avgöras!</translation>
|
<translation>Varning! Formatet på vissa filer kunde inte avgöras!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="378"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="381"/>
|
||||||
<source>Continue Anyway</source>
|
<source>Continue Anyway</source>
|
||||||
<translation>Fortsätt ändå</translation>
|
<translation>Fortsätt ändå</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="378"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="381"/>
|
||||||
<source>Abort</source>
|
<source>Abort</source>
|
||||||
<translation>Avbryt</translation>
|
<translation>Avbryt</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="405"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="408"/>
|
||||||
<source>Splitting file(s), please wait...</source>
|
<source>Splitting file(s), please wait...</source>
|
||||||
<translation>Delar fil(er), vänta...</translation>
|
<translation>Delar fil(er), vänta...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message numerus="yes">
|
<message numerus="yes">
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="410"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="413"/>
|
||||||
<source>Process was aborted by the user after %n track(s)!</source>
|
<source>Process was aborted by the user after %n track(s)!</source>
|
||||||
<translation>
|
<translation>
|
||||||
<numerusform>Åtgärden avbröts av användaren efter %n spår!</numerusform>
|
<numerusform>Åtgärden avbröts av användaren efter %n spår!</numerusform>
|
||||||
@ -611,12 +611,12 @@
|
|||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="414"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="417"/>
|
||||||
<source>An unexpected error has occured while splitting the Cue Sheet!</source>
|
<source>An unexpected error has occured while splitting the Cue Sheet!</source>
|
||||||
<translation>Ett oväntat fel uppstod vid delningen av cue-filen!</translation>
|
<translation>Ett oväntat fel uppstod vid delningen av cue-filen!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message numerus="yes">
|
<message numerus="yes">
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="418"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="421"/>
|
||||||
<source>Imported %n track(s) from the Cue Sheet.</source>
|
<source>Imported %n track(s) from the Cue Sheet.</source>
|
||||||
<translation>
|
<translation>
|
||||||
<numerusform>Importerade %n spår från cue-filen.</numerusform>
|
<numerusform>Importerade %n spår från cue-filen.</numerusform>
|
||||||
@ -624,7 +624,7 @@
|
|||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
<message numerus="yes">
|
<message numerus="yes">
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="418"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="421"/>
|
||||||
<source>Skipped %n track(s).</source>
|
<source>Skipped %n track(s).</source>
|
||||||
<translation>
|
<translation>
|
||||||
<numerusform>Hoppade över %n spår.</numerusform>
|
<numerusform>Hoppade över %n spår.</numerusform>
|
||||||
@ -632,7 +632,7 @@
|
|||||||
</translation>
|
</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="419"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="422"/>
|
||||||
<source>Cue Sheet Completed</source>
|
<source>Cue Sheet Completed</source>
|
||||||
<translation>cue-fil färdigbearbetad</translation>
|
<translation>cue-fil färdigbearbetad</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -689,44 +689,44 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>CueSheetModel</name>
|
<name>CueSheetModel</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_CueSheet.cpp" line="211"/>
|
<location filename="../../src/Model_CueSheet.cpp" line="199"/>
|
||||||
<source>No.</source>
|
<source>No.</source>
|
||||||
<translation>Nr.</translation>
|
<translation>Nr.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_CueSheet.cpp" line="214"/>
|
<location filename="../../src/Model_CueSheet.cpp" line="202"/>
|
||||||
<source>File / Track</source>
|
<source>File / Track</source>
|
||||||
<translation>Fil / Spår</translation>
|
<translation>Fil / Spår</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_CueSheet.cpp" line="217"/>
|
<location filename="../../src/Model_CueSheet.cpp" line="205"/>
|
||||||
<source>Index</source>
|
<source>Index</source>
|
||||||
<translation>Index</translation>
|
<translation>Index</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_CueSheet.cpp" line="220"/>
|
<location filename="../../src/Model_CueSheet.cpp" line="208"/>
|
||||||
<source>Duration</source>
|
<source>Duration</source>
|
||||||
<translation>Varaktighet</translation>
|
<translation>Varaktighet</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_CueSheet.cpp" line="246"/>
|
<location filename="../../src/Model_CueSheet.cpp" line="234"/>
|
||||||
<source>File %1</source>
|
<source>File %1</source>
|
||||||
<translation>Fil %1</translation>
|
<translation>Fil %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_CueSheet.cpp" line="261"/>
|
<location filename="../../src/Model_CueSheet.cpp" line="250"/>
|
||||||
<source>Track %1</source>
|
<source>Track %1</source>
|
||||||
<translation>Spår %1</translation>
|
<translation>Spår %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_CueSheet.cpp" line="270"/>
|
<location filename="../../src/Model_CueSheet.cpp" line="259"/>
|
||||||
<location filename="../../src/Model_CueSheet.cpp" line="278"/>
|
<location filename="../../src/Model_CueSheet.cpp" line="267"/>
|
||||||
<source>Unknown Artist</source>
|
<source>Unknown Artist</source>
|
||||||
<translation>Okänd artist</translation>
|
<translation>Okänd artist</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Model_CueSheet.cpp" line="274"/>
|
<location filename="../../src/Model_CueSheet.cpp" line="263"/>
|
||||||
<location filename="../../src/Model_CueSheet.cpp" line="278"/>
|
<location filename="../../src/Model_CueSheet.cpp" line="267"/>
|
||||||
<source>Unknown Title</source>
|
<source>Unknown Title</source>
|
||||||
<translation>Okänd titel</translation>
|
<translation>Okänd titel</translation>
|
||||||
</message>
|
</message>
|
||||||
@ -3310,23 +3310,23 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>QApplication</name>
|
<name>QApplication</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Global.cpp" line="900"/>
|
<location filename="../../src/Global.cpp" line="933"/>
|
||||||
<source>Executable '%1' doesn't support Windows compatibility mode.</source>
|
<source>Executable '%1' doesn't support Windows compatibility mode.</source>
|
||||||
<translation>EXE-filen '%1' stöder inte Windows kompatibilitetsläge.</translation>
|
<translation>EXE-filen '%1' stöder inte Windows kompatibilitetsläge.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Global.cpp" line="1154"/>
|
<location filename="../../src/Global.cpp" line="1187"/>
|
||||||
<source>Executable '%1' requires Qt v%2, but found Qt v%3.</source>
|
<source>Executable '%1' requires Qt v%2, but found Qt v%3.</source>
|
||||||
<translation>EXE-filen '%1' kräver Qt v%2, du har Qt v%3.</translation>
|
<translation>EXE-filen '%1' kräver Qt v%2, du har Qt v%3.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Global.cpp" line="1159"/>
|
<location filename="../../src/Global.cpp" line="1192"/>
|
||||||
<source>Executable '%1' was built for Qt '%2', but found Qt '%3'.</source>
|
<source>Executable '%1' was built for Qt '%2', but found Qt '%3'.</source>
|
||||||
<translation>EXE-filen '%1' är byggd för Qt '%2', du har Qt '%3'.</translation>
|
<translation>EXE-filen '%1' är byggd för Qt '%2', du har Qt '%3'.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Global.cpp" line="1172"/>
|
<location filename="../../src/Global.cpp" line="1205"/>
|
||||||
<location filename="../../src/Global.cpp" line="1199"/>
|
<location filename="../../src/Global.cpp" line="1232"/>
|
||||||
<source>Executable '%1' requires Windows 2000 or later.</source>
|
<source>Executable '%1' requires Windows 2000 or later.</source>
|
||||||
<translation>EXE-filen '%1' kräver Windows 2000 eller senare.</translation>
|
<translation>EXE-filen '%1' kräver Windows 2000 eller senare.</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -34,7 +34,7 @@
|
|||||||
#define VER_LAMEXP_MINOR_LO 9
|
#define VER_LAMEXP_MINOR_LO 9
|
||||||
#define VER_LAMEXP_TYPE Alpha
|
#define VER_LAMEXP_TYPE Alpha
|
||||||
#define VER_LAMEXP_PATCH 2
|
#define VER_LAMEXP_PATCH 2
|
||||||
#define VER_LAMEXP_BUILD 1382
|
#define VER_LAMEXP_BUILD 1385
|
||||||
#define VER_LAMEXP_CONFG 1348
|
#define VER_LAMEXP_CONFG 1348
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -233,8 +233,11 @@ void CueImportDialog::modelChanged(void)
|
|||||||
{
|
{
|
||||||
ui->treeView->expandAll();
|
ui->treeView->expandAll();
|
||||||
ui->editOutputDir->setText(QDir::toNativeSeparators(m_outputDir));
|
ui->editOutputDir->setText(QDir::toNativeSeparators(m_outputDir));
|
||||||
ui->labelArtist->setText(m_model->getAlbumPerformer().isEmpty() ? tr("Unknown Artist") : m_model->getAlbumPerformer());
|
if(const AudioFileModel_MetaInfo *albumInfo = m_model->getAlbumInfo())
|
||||||
ui->labelAlbum->setText(m_model->getAlbumTitle().isEmpty() ? tr("Unknown Album") : m_model->getAlbumTitle());
|
{
|
||||||
|
ui->labelArtist->setText(albumInfo->artist().isEmpty() ? tr("Unknown Artist") : albumInfo->artist());
|
||||||
|
ui->labelAlbum->setText(albumInfo->album().isEmpty() ? tr("Unknown Album") : albumInfo->album());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CueImportDialog::browseButtonClicked(void)
|
void CueImportDialog::browseButtonClicked(void)
|
||||||
|
@ -1039,7 +1039,7 @@ AudioFileModel ProcessingDialog::updateMetaInfo(AudioFileModel &audioFile)
|
|||||||
return audioFile;
|
return audioFile;
|
||||||
}
|
}
|
||||||
|
|
||||||
audioFile.metaInfo().update(*m_metaInfo);
|
audioFile.metaInfo().update(*m_metaInfo, true);
|
||||||
|
|
||||||
if(audioFile.metaInfo().position() == UINT_MAX)
|
if(audioFile.metaInfo().position() == UINT_MAX)
|
||||||
{
|
{
|
||||||
|
@ -132,8 +132,11 @@ ArtworkModel::ArtworkModel(const ArtworkModel &model)
|
|||||||
ArtworkModel &ArtworkModel::operator=(const ArtworkModel &model)
|
ArtworkModel &ArtworkModel::operator=(const ArtworkModel &model)
|
||||||
{
|
{
|
||||||
QMutexLocker lock(m_mutex);
|
QMutexLocker lock(m_mutex);
|
||||||
ArtworkModel_SharedData::detach(&m_data);
|
if(m_data != model.m_data)
|
||||||
m_data = ArtworkModel_SharedData::attach(model.m_data);
|
{
|
||||||
|
ArtworkModel_SharedData::detach(&m_data);
|
||||||
|
m_data = ArtworkModel_SharedData::attach(model.m_data);
|
||||||
|
}
|
||||||
return (*this);
|
return (*this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,6 +32,18 @@
|
|||||||
|
|
||||||
const unsigned int AudioFileModel::BITDEPTH_IEEE_FLOAT32 = UINT_MAX-1;
|
const unsigned int AudioFileModel::BITDEPTH_IEEE_FLOAT32 = UINT_MAX-1;
|
||||||
|
|
||||||
|
#define PRINT_S(VAR) do \
|
||||||
|
{ \
|
||||||
|
if((VAR).isEmpty()) qDebug(#VAR " = N/A"); else qDebug(#VAR " = \"%s\"", (VAR).toUtf8().constData()); \
|
||||||
|
} \
|
||||||
|
while(0)
|
||||||
|
|
||||||
|
#define PRINT_U(VAR) do \
|
||||||
|
{ \
|
||||||
|
if((VAR) < 1) qDebug(#VAR " = N/A"); else qDebug(#VAR " = %u", (VAR)); \
|
||||||
|
} \
|
||||||
|
while(0)
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
// Audio File - Meta Info
|
// Audio File - Meta Info
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
@ -43,40 +55,50 @@ AudioFileModel_MetaInfo::AudioFileModel_MetaInfo(void)
|
|||||||
|
|
||||||
AudioFileModel_MetaInfo::AudioFileModel_MetaInfo(const AudioFileModel_MetaInfo &model)
|
AudioFileModel_MetaInfo::AudioFileModel_MetaInfo(const AudioFileModel_MetaInfo &model)
|
||||||
{
|
{
|
||||||
m_titel = model.m_titel;
|
m_titel = model.m_titel;
|
||||||
m_artist = model.m_artist;
|
m_artist = model.m_artist;
|
||||||
m_album = model.m_album;
|
m_album = model.m_album;
|
||||||
m_genre = model.m_genre;
|
m_genre = model.m_genre;
|
||||||
m_comment = model.m_comment;
|
m_comment = model.m_comment;
|
||||||
m_cover = model.m_cover;
|
m_cover = model.m_cover;
|
||||||
m_year = model.m_year;
|
m_year = model.m_year;
|
||||||
m_position = model.m_position;
|
m_position = model.m_position;
|
||||||
}
|
}
|
||||||
|
|
||||||
AudioFileModel_MetaInfo &AudioFileModel_MetaInfo::operator=(const AudioFileModel_MetaInfo &model)
|
AudioFileModel_MetaInfo &AudioFileModel_MetaInfo::operator=(const AudioFileModel_MetaInfo &model)
|
||||||
{
|
{
|
||||||
m_titel = model.m_titel;
|
m_titel = model.m_titel;
|
||||||
m_artist = model.m_artist;
|
m_artist = model.m_artist;
|
||||||
m_album = model.m_album;
|
m_album = model.m_album;
|
||||||
m_genre = model.m_genre;
|
m_genre = model.m_genre;
|
||||||
m_comment = model.m_comment;
|
m_comment = model.m_comment;
|
||||||
m_cover = model.m_cover;
|
m_cover = model.m_cover;
|
||||||
m_year = model.m_year;
|
m_year = model.m_year;
|
||||||
m_position = model.m_position;
|
m_position = model.m_position;
|
||||||
|
|
||||||
return (*this);
|
return (*this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void AudioFileModel_MetaInfo::update(const AudioFileModel_MetaInfo &model)
|
void AudioFileModel_MetaInfo::update(const AudioFileModel_MetaInfo &model, const bool replace)
|
||||||
{
|
{
|
||||||
if(!model.m_titel.isEmpty()) m_titel = model.m_titel;
|
qDebug("\n-------[AudioFileModel_MetaInfo::update]-------");
|
||||||
if(!model.m_artist.isEmpty()) m_artist = model.m_artist;
|
qDebug("Updating (%p):", this);
|
||||||
if(!model.m_album.isEmpty()) m_album = model.m_album;
|
print();
|
||||||
if(!model.m_genre.isEmpty()) m_genre = model.m_genre;
|
qDebug("\nUpdating with (%p):", &model);
|
||||||
if(!model.m_comment.isEmpty()) m_comment = model.m_comment;
|
model.print();
|
||||||
if(!model.m_cover.isEmpty()) m_cover = model.m_cover;
|
|
||||||
if(model.m_year > 0) m_year = model.m_year;
|
if((!model.m_titel.isEmpty()) && (replace || m_titel.isEmpty())) m_titel = model.m_titel;
|
||||||
if(model.m_position > 0) m_position = model.m_position;
|
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;
|
||||||
|
|
||||||
|
qDebug("\nResult:");
|
||||||
|
print();
|
||||||
|
qDebug("-----------------------------------------------\n\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
AudioFileModel_MetaInfo::~AudioFileModel_MetaInfo(void)
|
AudioFileModel_MetaInfo::~AudioFileModel_MetaInfo(void)
|
||||||
@ -96,6 +118,18 @@ void AudioFileModel_MetaInfo::reset(void)
|
|||||||
m_position = 0;
|
m_position = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void AudioFileModel_MetaInfo::print(void) const
|
||||||
|
{
|
||||||
|
PRINT_S(m_titel);
|
||||||
|
PRINT_S(m_artist);
|
||||||
|
PRINT_S(m_album);
|
||||||
|
PRINT_S(m_genre);
|
||||||
|
PRINT_S(m_comment);
|
||||||
|
PRINT_S(m_cover.filePath());
|
||||||
|
PRINT_U(m_year);
|
||||||
|
PRINT_U(m_position);
|
||||||
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
// Audio File - Technical Info
|
// Audio File - Technical Info
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
@ -107,35 +141,34 @@ AudioFileModel_TechInfo::AudioFileModel_TechInfo(void)
|
|||||||
|
|
||||||
AudioFileModel_TechInfo::AudioFileModel_TechInfo(const AudioFileModel_TechInfo &model)
|
AudioFileModel_TechInfo::AudioFileModel_TechInfo(const AudioFileModel_TechInfo &model)
|
||||||
{
|
{
|
||||||
m_containerType = model.m_containerType;
|
m_containerType = model.m_containerType;
|
||||||
m_containerProfile = model.m_containerProfile;
|
m_containerProfile = model.m_containerProfile;
|
||||||
m_audioType = model.m_audioType;
|
m_audioType = model.m_audioType;
|
||||||
m_audioProfile = model.m_audioProfile;
|
m_audioProfile = model.m_audioProfile;
|
||||||
m_audioVersion = model.m_audioVersion;
|
m_audioVersion = model.m_audioVersion;
|
||||||
m_audioEncodeLib = model.m_audioEncodeLib;
|
m_audioEncodeLib = model.m_audioEncodeLib;
|
||||||
m_audioSamplerate = model.m_audioSamplerate;
|
m_audioSamplerate = model.m_audioSamplerate;
|
||||||
m_audioChannels = model.m_audioChannels;
|
m_audioChannels = model.m_audioChannels;
|
||||||
m_audioBitdepth = model.m_audioBitdepth;
|
m_audioBitdepth = model.m_audioBitdepth;
|
||||||
m_audioBitrate = model.m_audioBitrate;
|
m_audioBitrate = model.m_audioBitrate;
|
||||||
m_audioBitrateMode = model.m_audioBitrateMode;
|
m_audioBitrateMode = model.m_audioBitrateMode;
|
||||||
m_duration = model.m_duration;
|
m_duration = model.m_duration;
|
||||||
}
|
}
|
||||||
|
|
||||||
AudioFileModel_TechInfo &AudioFileModel_TechInfo::operator=(const AudioFileModel_TechInfo &model)
|
AudioFileModel_TechInfo &AudioFileModel_TechInfo::operator=(const AudioFileModel_TechInfo &model)
|
||||||
{
|
{
|
||||||
m_containerType = model.m_containerType;
|
m_containerType = model.m_containerType;
|
||||||
m_containerProfile = model.m_containerProfile;
|
m_containerProfile = model.m_containerProfile;
|
||||||
m_audioType = model.m_audioType;
|
m_audioType = model.m_audioType;
|
||||||
m_audioProfile = model.m_audioProfile;
|
m_audioProfile = model.m_audioProfile;
|
||||||
m_audioVersion = model.m_audioVersion;
|
m_audioVersion = model.m_audioVersion;
|
||||||
m_audioEncodeLib = model.m_audioEncodeLib;
|
m_audioEncodeLib = model.m_audioEncodeLib;
|
||||||
m_audioSamplerate = model.m_audioSamplerate;
|
m_audioSamplerate = model.m_audioSamplerate;
|
||||||
m_audioChannels = model.m_audioChannels;
|
m_audioChannels = model.m_audioChannels;
|
||||||
m_audioBitdepth = model.m_audioBitdepth;
|
m_audioBitdepth = model.m_audioBitdepth;
|
||||||
m_audioBitrate = model.m_audioBitrate;
|
m_audioBitrate = model.m_audioBitrate;
|
||||||
m_audioBitrateMode = model.m_audioBitrateMode;
|
m_audioBitrateMode = model.m_audioBitrateMode;
|
||||||
m_duration = model.m_duration;
|
m_duration = model.m_duration;
|
||||||
|
|
||||||
|
|
||||||
return (*this);
|
return (*this);
|
||||||
}
|
}
|
||||||
|
@ -65,7 +65,10 @@ public:
|
|||||||
void reset(void);
|
void reset(void);
|
||||||
|
|
||||||
//Update
|
//Update
|
||||||
void update(const AudioFileModel_MetaInfo &model);
|
void update(const AudioFileModel_MetaInfo &model, const bool replace);
|
||||||
|
|
||||||
|
//Debug
|
||||||
|
void print(void) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QString m_titel;
|
QString m_titel;
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
#include "Global.h"
|
#include "Global.h"
|
||||||
#include "Model_CueSheet.h"
|
#include "Model_CueSheet.h"
|
||||||
|
#include "Model_AudioFile.h"
|
||||||
#include "Genres.h"
|
#include "Genres.h"
|
||||||
|
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
@ -53,38 +54,32 @@ class CueSheetTrack : public CueSheetItem
|
|||||||
public:
|
public:
|
||||||
CueSheetTrack(CueSheetFile *parent, int trackNo)
|
CueSheetTrack(CueSheetFile *parent, int trackNo)
|
||||||
:
|
:
|
||||||
m_parent(parent),
|
m_parent(parent)
|
||||||
m_trackNo(trackNo)
|
|
||||||
{
|
{
|
||||||
m_startIndex = std::numeric_limits<double>::quiet_NaN();
|
m_startIndex = std::numeric_limits<double>::quiet_NaN();
|
||||||
m_duration = std::numeric_limits<double>::infinity();
|
m_duration = std::numeric_limits<double>::infinity();
|
||||||
m_year = 0;
|
m_metaInfo.setPosition(trackNo);
|
||||||
}
|
}
|
||||||
int trackNo(void) { return m_trackNo; }
|
|
||||||
|
//Getter
|
||||||
|
CueSheetFile *parent(void) { return m_parent; }
|
||||||
double startIndex(void) { return m_startIndex; }
|
double startIndex(void) { return m_startIndex; }
|
||||||
double duration(void) { return m_duration; }
|
double duration(void) { return m_duration; }
|
||||||
QString title(void) { return m_title; }
|
AudioFileModel_MetaInfo &metaInfo(void) { return m_metaInfo; }
|
||||||
QString performer(void) { return m_performer; }
|
|
||||||
QString genre(void) { return m_genre; }
|
//Setter
|
||||||
unsigned int year(void) { return m_year; }
|
|
||||||
CueSheetFile *parent(void) { return m_parent; }
|
|
||||||
void setStartIndex(double startIndex) { m_startIndex = startIndex; }
|
void setStartIndex(double startIndex) { m_startIndex = startIndex; }
|
||||||
void setDuration(double duration) { m_duration = duration; }
|
void setDuration(double duration) { m_duration = duration; }
|
||||||
void setTitle(const QString &title, bool update = false) { if(!update || (m_title.isEmpty() && !title.isEmpty())) m_title = title; }
|
|
||||||
void setPerformer(const QString &performer, bool update = false) { if(!update || (m_performer.isEmpty() && !performer.isEmpty())) m_performer = performer; }
|
//Misc
|
||||||
void setGenre(const QString &genre, bool update = false) { if(!update || (m_genre.isEmpty() && !m_genre.isEmpty())) m_genre = genre; }
|
virtual bool isValid(void) { return !(_isnan(m_startIndex) || (m_metaInfo.position() == 0)); }
|
||||||
void setYear(const unsigned int year, bool update = false) { if(!update || (year == 0)) m_year = year; }
|
|
||||||
virtual bool isValid(void) { return !(_isnan(m_startIndex) || (m_trackNo < 0)); }
|
|
||||||
virtual const char* type(void) { return "CueSheetTrack"; }
|
virtual const char* type(void) { return "CueSheetTrack"; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int m_trackNo;
|
|
||||||
double m_startIndex;
|
double m_startIndex;
|
||||||
double m_duration;
|
double m_duration;
|
||||||
QString m_title;
|
AudioFileModel_MetaInfo m_metaInfo;
|
||||||
QString m_performer;
|
CueSheetFile *const m_parent;
|
||||||
QString m_genre;
|
|
||||||
unsigned int m_year;
|
|
||||||
CueSheetFile *m_parent;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class CueSheetFile : public CueSheetItem
|
class CueSheetFile : public CueSheetItem
|
||||||
@ -92,13 +87,20 @@ class CueSheetFile : public CueSheetItem
|
|||||||
public:
|
public:
|
||||||
CueSheetFile(const QString &fileName) : m_fileName(fileName) {}
|
CueSheetFile(const QString &fileName) : m_fileName(fileName) {}
|
||||||
~CueSheetFile(void) { while(!m_tracks.isEmpty()) delete m_tracks.takeLast(); }
|
~CueSheetFile(void) { while(!m_tracks.isEmpty()) delete m_tracks.takeLast(); }
|
||||||
|
|
||||||
|
//Getter
|
||||||
QString fileName(void) { return m_fileName; }
|
QString fileName(void) { return m_fileName; }
|
||||||
void addTrack(CueSheetTrack *track) { m_tracks.append(track); }
|
|
||||||
void clearTracks(void) { while(!m_tracks.isEmpty()) delete m_tracks.takeLast(); }
|
|
||||||
CueSheetTrack *track(int index) { return m_tracks.at(index); }
|
CueSheetTrack *track(int index) { return m_tracks.at(index); }
|
||||||
int trackCount(void) { return m_tracks.count(); }
|
int trackCount(void) { return m_tracks.count(); }
|
||||||
|
|
||||||
|
//Modifier
|
||||||
|
void addTrack(CueSheetTrack *track) { m_tracks.append(track); }
|
||||||
|
void clearTracks(void) { while(!m_tracks.isEmpty()) delete m_tracks.takeLast(); }
|
||||||
|
|
||||||
|
//Misc
|
||||||
virtual bool isValid(void) { return m_tracks.count() > 0; }
|
virtual bool isValid(void) { return m_tracks.count() > 0; }
|
||||||
virtual const char* type(void) { return "CueSheetFile"; }
|
virtual const char* type(void) { return "CueSheetFile"; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const QString m_fileName;
|
const QString m_fileName;
|
||||||
QList<CueSheetTrack*> m_tracks;
|
QList<CueSheetTrack*> m_tracks;
|
||||||
@ -115,21 +117,7 @@ CueSheetModel::CueSheetModel()
|
|||||||
m_fileIcon(":/icons/music.png"),
|
m_fileIcon(":/icons/music.png"),
|
||||||
m_trackIcon(":/icons/control_play_blue.png")
|
m_trackIcon(":/icons/control_play_blue.png")
|
||||||
{
|
{
|
||||||
int trackNo = 0;
|
/*nothing to do*/
|
||||||
m_albumYear = 0;
|
|
||||||
|
|
||||||
for(int i = 0; i < 5; i++)
|
|
||||||
{
|
|
||||||
CueSheetFile *currentFile = new CueSheetFile(QString().sprintf("File %02d.wav", i+1));
|
|
||||||
for(int j = 0; j < 8; j++)
|
|
||||||
{
|
|
||||||
CueSheetTrack *currentTrack = new CueSheetTrack(currentFile, trackNo++);
|
|
||||||
currentTrack->setTitle("ATWA (Air Trees Water Animals)");
|
|
||||||
currentTrack->setPerformer("System of a Down");
|
|
||||||
currentFile->addTrack(currentTrack);
|
|
||||||
}
|
|
||||||
m_files.append(currentFile);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CueSheetModel::~CueSheetModel(void)
|
CueSheetModel::~CueSheetModel(void)
|
||||||
@ -255,23 +243,24 @@ QVariant CueSheetModel::data(const QModelIndex &index, int role) const
|
|||||||
}
|
}
|
||||||
else if(CueSheetTrack *trackPtr = dynamic_cast<CueSheetTrack*>(item))
|
else if(CueSheetTrack *trackPtr = dynamic_cast<CueSheetTrack*>(item))
|
||||||
{
|
{
|
||||||
|
const AudioFileModel_MetaInfo &trackInfo = trackPtr->metaInfo();
|
||||||
switch(index.column())
|
switch(index.column())
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
return tr("Track %1").arg(QString().sprintf("%02d", trackPtr->trackNo())).append(" ");
|
return tr("Track %1").arg(QString().sprintf("%02d", trackInfo.position())).append(" ");
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
if(!trackPtr->title().isEmpty() && !trackPtr->performer().isEmpty())
|
if(!trackInfo.title().isEmpty() && !trackInfo.artist().isEmpty())
|
||||||
{
|
{
|
||||||
return QString("%1 - %2").arg(trackPtr->performer(), trackPtr->title());
|
return QString("%1 - %2").arg(trackInfo.artist(), trackInfo.title());
|
||||||
}
|
}
|
||||||
else if(!trackPtr->title().isEmpty())
|
else if(!trackInfo.title().isEmpty())
|
||||||
{
|
{
|
||||||
return QString("%1 - %2").arg(tr("Unknown Artist"), trackPtr->title());
|
return QString("%1 - %2").arg(tr("Unknown Artist"), trackInfo.title());
|
||||||
}
|
}
|
||||||
else if(!trackPtr->performer().isEmpty())
|
else if(!trackInfo.artist().isEmpty())
|
||||||
{
|
{
|
||||||
return QString("%1 - %2").arg(trackPtr->performer(), tr("Unknown Title"));
|
return QString("%1 - %2").arg(trackInfo.artist(), tr("Unknown Title"));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -399,7 +388,7 @@ int CueSheetModel::getTrackCount(int fileIndex)
|
|||||||
return m_files.at(fileIndex)->trackCount();
|
return m_files.at(fileIndex)->trackCount();
|
||||||
}
|
}
|
||||||
|
|
||||||
int CueSheetModel::getTrackNo(int fileIndex, int trackIndex)
|
const AudioFileModel_MetaInfo *CueSheetModel::getTrackInfo(int fileIndex, int trackIndex)
|
||||||
{
|
{
|
||||||
QMutexLocker lock(&m_mutex);
|
QMutexLocker lock(&m_mutex);
|
||||||
|
|
||||||
@ -408,14 +397,14 @@ int CueSheetModel::getTrackNo(int fileIndex, int trackIndex)
|
|||||||
CueSheetFile *currentFile = m_files.at(fileIndex);
|
CueSheetFile *currentFile = m_files.at(fileIndex);
|
||||||
if(trackIndex >= 0 && trackIndex < currentFile->trackCount())
|
if(trackIndex >= 0 && trackIndex < currentFile->trackCount())
|
||||||
{
|
{
|
||||||
return currentFile->track(trackIndex)->trackNo();
|
return ¤tFile->track(trackIndex)->metaInfo();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return -1;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CueSheetModel::getTrackIndex(int fileIndex, int trackIndex, double *startIndex, double *duration)
|
bool CueSheetModel::getTrackIndex(int fileIndex, int trackIndex, double *startIndex, double *duration)
|
||||||
{
|
{
|
||||||
QMutexLocker lock(&m_mutex);
|
QMutexLocker lock(&m_mutex);
|
||||||
|
|
||||||
@ -430,101 +419,19 @@ void CueSheetModel::getTrackIndex(int fileIndex, int trackIndex, double *startIn
|
|||||||
CueSheetTrack *currentTrack = currentFile->track(trackIndex);
|
CueSheetTrack *currentTrack = currentFile->track(trackIndex);
|
||||||
*startIndex = currentTrack->startIndex();
|
*startIndex = currentTrack->startIndex();
|
||||||
*duration = currentTrack->duration();
|
*duration = currentTrack->duration();
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString CueSheetModel::getTrackPerformer(int fileIndex, int trackIndex)
|
const AudioFileModel_MetaInfo *CueSheetModel::getAlbumInfo(void)
|
||||||
{
|
|
||||||
QMutexLocker lock(&m_mutex);
|
|
||||||
|
|
||||||
if(fileIndex >= 0 && fileIndex < m_files.count())
|
|
||||||
{
|
|
||||||
CueSheetFile *currentFile = m_files.at(fileIndex);
|
|
||||||
if(trackIndex >= 0 && trackIndex < currentFile->trackCount())
|
|
||||||
{
|
|
||||||
CueSheetTrack *currentTrack = currentFile->track(trackIndex);
|
|
||||||
return currentTrack->performer();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return QString();
|
|
||||||
}
|
|
||||||
|
|
||||||
QString CueSheetModel::getTrackTitle(int fileIndex, int trackIndex)
|
|
||||||
{
|
{
|
||||||
QMutexLocker lock(&m_mutex);
|
QMutexLocker lock(&m_mutex);
|
||||||
|
return &m_albumInfo;
|
||||||
if(fileIndex >= 0 && fileIndex < m_files.count())
|
|
||||||
{
|
|
||||||
CueSheetFile *currentFile = m_files.at(fileIndex);
|
|
||||||
if(trackIndex >= 0 && trackIndex < currentFile->trackCount())
|
|
||||||
{
|
|
||||||
CueSheetTrack *currentTrack = currentFile->track(trackIndex);
|
|
||||||
return currentTrack->title();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return QString();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QString CueSheetModel::getTrackGenre(int fileIndex, int trackIndex)
|
|
||||||
{
|
|
||||||
QMutexLocker lock(&m_mutex);
|
|
||||||
|
|
||||||
if(fileIndex >= 0 && fileIndex < m_files.count())
|
|
||||||
{
|
|
||||||
CueSheetFile *currentFile = m_files.at(fileIndex);
|
|
||||||
if(trackIndex >= 0 && trackIndex < currentFile->trackCount())
|
|
||||||
{
|
|
||||||
CueSheetTrack *currentTrack = currentFile->track(trackIndex);
|
|
||||||
return currentTrack->genre();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return QString();
|
|
||||||
}
|
|
||||||
|
|
||||||
unsigned int CueSheetModel::getTrackYear(int fileIndex, int trackIndex)
|
|
||||||
{
|
|
||||||
QMutexLocker lock(&m_mutex);
|
|
||||||
|
|
||||||
if(fileIndex >= 0 && fileIndex < m_files.count())
|
|
||||||
{
|
|
||||||
CueSheetFile *currentFile = m_files.at(fileIndex);
|
|
||||||
if(trackIndex >= 0 && trackIndex < currentFile->trackCount())
|
|
||||||
{
|
|
||||||
CueSheetTrack *currentTrack = currentFile->track(trackIndex);
|
|
||||||
return currentTrack->year();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
QString CueSheetModel::getAlbumPerformer(void)
|
|
||||||
{
|
|
||||||
QMutexLocker lock(&m_mutex);
|
|
||||||
return m_albumPerformer;
|
|
||||||
}
|
|
||||||
|
|
||||||
QString CueSheetModel::getAlbumTitle(void)
|
|
||||||
{
|
|
||||||
QMutexLocker lock(&m_mutex);
|
|
||||||
return m_albumTitle;
|
|
||||||
}
|
|
||||||
|
|
||||||
QString CueSheetModel::getAlbumGenre(void)
|
|
||||||
{
|
|
||||||
QMutexLocker lock(&m_mutex);
|
|
||||||
return m_albumGenre;
|
|
||||||
}
|
|
||||||
|
|
||||||
unsigned int CueSheetModel::getAlbumYear(void)
|
|
||||||
{
|
|
||||||
QMutexLocker lock(&m_mutex);
|
|
||||||
return m_albumYear;
|
|
||||||
}
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
// Cue Sheet Parser
|
// Cue Sheet Parser
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
@ -594,10 +501,7 @@ int CueSheetModel::parseCueFile(QFile &cueFile, const QDir &baseDir, QCoreApplic
|
|||||||
CueSheetFile *currentFile = NULL;
|
CueSheetFile *currentFile = NULL;
|
||||||
CueSheetTrack *currentTrack = NULL;
|
CueSheetTrack *currentTrack = NULL;
|
||||||
|
|
||||||
m_albumTitle.clear();
|
m_albumInfo.reset();
|
||||||
m_albumPerformer.clear();
|
|
||||||
m_albumGenre.clear();
|
|
||||||
m_albumYear = 0;
|
|
||||||
|
|
||||||
//Loop over the Cue Sheet until all lines were processed
|
//Loop over the Cue Sheet until all lines were processed
|
||||||
for(int lines = 0; lines < INT_MAX; lines++)
|
for(int lines = 0; lines < INT_MAX; lines++)
|
||||||
@ -720,12 +624,12 @@ int CueSheetModel::parseCueFile(QFile &cueFile, const QDir &baseDir, QCoreApplic
|
|||||||
{
|
{
|
||||||
if(bPreamble)
|
if(bPreamble)
|
||||||
{
|
{
|
||||||
m_albumTitle = UNQUOTE(rxTitle.cap(1)).simplified();
|
m_albumInfo.setAlbum(UNQUOTE(rxTitle.cap(1)).simplified());
|
||||||
}
|
}
|
||||||
else if(currentFile && currentTrack)
|
else if(currentFile && currentTrack)
|
||||||
{
|
{
|
||||||
qDebug("%03d Title: <%s>", lines, rxTitle.cap(1).toUtf8().constData());
|
qDebug("%03d Title: <%s>", lines, rxTitle.cap(1).toUtf8().constData());
|
||||||
currentTrack->setTitle(UNQUOTE(rxTitle.cap(1)).simplified());
|
currentTrack->metaInfo().setTitle(UNQUOTE(rxTitle.cap(1)).simplified());
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -735,12 +639,12 @@ int CueSheetModel::parseCueFile(QFile &cueFile, const QDir &baseDir, QCoreApplic
|
|||||||
{
|
{
|
||||||
if(bPreamble)
|
if(bPreamble)
|
||||||
{
|
{
|
||||||
m_albumPerformer = UNQUOTE(rxPerformer.cap(1)).simplified();
|
m_albumInfo.setArtist(UNQUOTE(rxPerformer.cap(1)).simplified());
|
||||||
}
|
}
|
||||||
else if(currentFile && currentTrack)
|
else if(currentFile && currentTrack)
|
||||||
{
|
{
|
||||||
qDebug("%03d Title: <%s>", lines, rxPerformer.cap(1).toUtf8().constData());
|
qDebug("%03d Title: <%s>", lines, rxPerformer.cap(1).toUtf8().constData());
|
||||||
currentTrack->setPerformer(UNQUOTE(rxPerformer.cap(1)).simplified());
|
currentTrack->metaInfo().setArtist(UNQUOTE(rxPerformer.cap(1)).simplified());
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -755,7 +659,7 @@ int CueSheetModel::parseCueFile(QFile &cueFile, const QDir &baseDir, QCoreApplic
|
|||||||
{
|
{
|
||||||
if(temp.compare(g_lamexp_generes[i], Qt::CaseInsensitive) == 0)
|
if(temp.compare(g_lamexp_generes[i], Qt::CaseInsensitive) == 0)
|
||||||
{
|
{
|
||||||
m_albumGenre = QString(g_lamexp_generes[i]);
|
m_albumInfo.setGenre(QString(g_lamexp_generes[i]));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -768,7 +672,7 @@ int CueSheetModel::parseCueFile(QFile &cueFile, const QDir &baseDir, QCoreApplic
|
|||||||
{
|
{
|
||||||
if(temp.compare(g_lamexp_generes[i], Qt::CaseInsensitive) == 0)
|
if(temp.compare(g_lamexp_generes[i], Qt::CaseInsensitive) == 0)
|
||||||
{
|
{
|
||||||
currentTrack->setGenre(QString(g_lamexp_generes[i]));
|
currentTrack->metaInfo().setGenre(QString(g_lamexp_generes[i]));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -783,14 +687,14 @@ int CueSheetModel::parseCueFile(QFile &cueFile, const QDir &baseDir, QCoreApplic
|
|||||||
{
|
{
|
||||||
bool ok = false;
|
bool ok = false;
|
||||||
unsigned int temp = rxYear.cap(1).toUInt(&ok);
|
unsigned int temp = rxYear.cap(1).toUInt(&ok);
|
||||||
if(ok) m_albumYear = temp;
|
if(ok) m_albumInfo.setYear(temp);
|
||||||
}
|
}
|
||||||
else if(currentFile && currentTrack)
|
else if(currentFile && currentTrack)
|
||||||
{
|
{
|
||||||
qDebug("%03d Year: <%s>", lines, rxPerformer.cap(1).toUtf8().constData());
|
qDebug("%03d Year: <%s>", lines, rxPerformer.cap(1).toUtf8().constData());
|
||||||
bool ok = false;
|
bool ok = false;
|
||||||
unsigned int temp = rxYear.cap(1).toUInt(&ok);
|
unsigned int temp = rxYear.cap(1).toUInt(&ok);
|
||||||
if(ok) currentTrack->setYear(temp);
|
if(ok) currentTrack->metaInfo().setYear(temp);
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -870,7 +774,7 @@ int CueSheetModel::parseCueFile(QFile &cueFile, const QDir &baseDir, QCoreApplic
|
|||||||
{
|
{
|
||||||
for(int j = 0; j < nTracks; j++)
|
for(int j = 0; j < nTracks; j++)
|
||||||
{
|
{
|
||||||
int currentTrackNo = currentFile->track(j)->trackNo();
|
int currentTrackNo = currentFile->track(j)->metaInfo().position();
|
||||||
if(currentTrackNo > 99)
|
if(currentTrackNo > 99)
|
||||||
{
|
{
|
||||||
qWarning("Track #%02d is invalid (maximum is 99), Cue Sheet is inconsistent!", currentTrackNo);
|
qWarning("Track #%02d is invalid (maximum is 99), Cue Sheet is inconsistent!", currentTrackNo);
|
||||||
|
@ -63,16 +63,9 @@ public:
|
|||||||
int CueSheetModel::getFileCount(void);
|
int CueSheetModel::getFileCount(void);
|
||||||
QString getFileName(int fileIndex);
|
QString getFileName(int fileIndex);
|
||||||
int getTrackCount(int fileIndex);
|
int getTrackCount(int fileIndex);
|
||||||
int getTrackNo(int fileIndex, int trackIndex);
|
const AudioFileModel_MetaInfo *getTrackInfo(int fileIndex, int trackIndex);
|
||||||
void getTrackIndex(int fileIndex, int trackIndex, double *startIndex, double *duration);
|
const AudioFileModel_MetaInfo *getAlbumInfo(void);
|
||||||
QString getTrackPerformer(int fileIndex, int trackIndex);
|
bool getTrackIndex(int fileIndex, int trackIndex, double *startIndex, double *duration);
|
||||||
QString getTrackTitle(int fileIndex, int trackIndex);
|
|
||||||
QString getTrackGenre(int fileIndex, int trackIndex);
|
|
||||||
unsigned int getTrackYear(int fileIndex, int trackIndex);
|
|
||||||
QString getAlbumPerformer(void);
|
|
||||||
QString getAlbumTitle(void);
|
|
||||||
QString getAlbumGenre(void);
|
|
||||||
unsigned int getAlbumYear(void);
|
|
||||||
|
|
||||||
//Cue Sheet functions
|
//Cue Sheet functions
|
||||||
int loadCueSheet(const QString &cueFile, QCoreApplication *application = NULL, QTextCodec *forceCodec= NULL);
|
int loadCueSheet(const QString &cueFile, QCoreApplication *application = NULL, QTextCodec *forceCodec= NULL);
|
||||||
@ -85,10 +78,7 @@ private:
|
|||||||
static QMutex m_mutex;
|
static QMutex m_mutex;
|
||||||
|
|
||||||
QList<CueSheetFile*> m_files;
|
QList<CueSheetFile*> m_files;
|
||||||
QString m_albumTitle;
|
AudioFileModel_MetaInfo m_albumInfo;
|
||||||
QString m_albumPerformer;
|
|
||||||
QString m_albumGenre;
|
|
||||||
unsigned int m_albumYear;
|
|
||||||
|
|
||||||
const QIcon m_fileIcon;
|
const QIcon m_fileIcon;
|
||||||
const QIcon m_trackIcon;
|
const QIcon m_trackIcon;
|
||||||
|
@ -478,6 +478,6 @@ Qt::ItemFlags MetaInfoModel::flags(const QModelIndex &index) const
|
|||||||
void MetaInfoModel::assignInfoFrom(const AudioFileModel &file)
|
void MetaInfoModel::assignInfoFrom(const AudioFileModel &file)
|
||||||
{
|
{
|
||||||
beginResetModel();
|
beginResetModel();
|
||||||
m_metaInfo->update(file.metaInfo());
|
m_metaInfo->update(file.metaInfo(), true);
|
||||||
endResetModel();
|
endResetModel();
|
||||||
}
|
}
|
||||||
|
@ -165,10 +165,7 @@ void CueSplitter::run()
|
|||||||
emit progressMaxChanged(nTracksTotal);
|
emit progressMaxChanged(nTracksTotal);
|
||||||
emit progressValChanged(0);
|
emit progressValChanged(0);
|
||||||
|
|
||||||
QString albumPerformer = m_model->getAlbumPerformer();
|
const AudioFileModel_MetaInfo *albumInfo = m_model->getAlbumInfo();
|
||||||
QString albumTitle = m_model->getAlbumTitle();
|
|
||||||
QString albumGenre = m_model->getAlbumGenre();
|
|
||||||
unsigned int albumYear = m_model->getAlbumYear();
|
|
||||||
|
|
||||||
//Now split all files
|
//Now split all files
|
||||||
for(int i = 0; i < nFiles; i++)
|
for(int i = 0; i < nFiles; i++)
|
||||||
@ -180,8 +177,8 @@ void CueSplitter::run()
|
|||||||
//Process all tracks
|
//Process all tracks
|
||||||
for(int j = 0; j < nTracks; j++)
|
for(int j = 0; j < nTracks; j++)
|
||||||
{
|
{
|
||||||
emit progressValChanged(++nTracksComplete);
|
const AudioFileModel_MetaInfo *trackInfo = m_model->getTrackInfo(i, j);
|
||||||
int trackNo = m_model->getTrackNo(i, j);
|
const int trackNo = trackInfo->position();
|
||||||
double trackOffset = std::numeric_limits<double>::quiet_NaN();
|
double trackOffset = std::numeric_limits<double>::quiet_NaN();
|
||||||
double trackLength = std::numeric_limits<double>::quiet_NaN();
|
double trackLength = std::numeric_limits<double>::quiet_NaN();
|
||||||
m_model->getTrackIndex(i, j, &trackOffset, &trackLength);
|
m_model->getTrackIndex(i, j, &trackOffset, &trackLength);
|
||||||
@ -193,39 +190,14 @@ void CueSplitter::run()
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Setup meta info
|
//Setup meta info
|
||||||
AudioFileModel_MetaInfo trackMetaInfo; /*QString().sprintf("cue://File%02d/Track%02d", i, j)*/;
|
AudioFileModel_MetaInfo trackMetaInfo(*trackInfo);
|
||||||
trackMetaInfo.setTitle(m_model->getTrackTitle(i, j));
|
|
||||||
trackMetaInfo.setArtist(m_model->getTrackPerformer(i, j));
|
|
||||||
trackMetaInfo.setGenre(m_model->getTrackGenre(i, j));
|
|
||||||
trackMetaInfo.setYear(m_model->getTrackYear(i, j));
|
|
||||||
trackMetaInfo.setPosition(trackNo);
|
|
||||||
|
|
||||||
//Apply album meta data on files
|
//Apply album meta data on files
|
||||||
if(trackMetaInfo.title().trimmed().isEmpty())
|
if(trackMetaInfo.title().trimmed().isEmpty())
|
||||||
{
|
{
|
||||||
trackMetaInfo.setTitle(QString().sprintf("Track %02d", trackNo));
|
trackMetaInfo.setTitle(QString().sprintf("Track %02d", trackNo));
|
||||||
}
|
}
|
||||||
if(!albumTitle.isEmpty())
|
trackMetaInfo.update(*albumInfo, false);
|
||||||
{
|
|
||||||
trackMetaInfo.setAlbum(albumTitle);
|
|
||||||
}
|
|
||||||
if(!albumPerformer.isEmpty() && trackMetaInfo.artist().isEmpty())
|
|
||||||
{
|
|
||||||
trackMetaInfo.setArtist(albumPerformer);
|
|
||||||
}
|
|
||||||
if(!albumGenre.isEmpty() && trackMetaInfo.genre().isEmpty())
|
|
||||||
{
|
|
||||||
trackMetaInfo.setGenre(albumGenre);
|
|
||||||
}
|
|
||||||
if((albumYear > 0) && (trackMetaInfo.year() == 0))
|
|
||||||
{
|
|
||||||
trackMetaInfo.setYear(albumYear);
|
|
||||||
}
|
|
||||||
if(_finite(trackLength))
|
|
||||||
{
|
|
||||||
//FIXME !!!
|
|
||||||
//trackMetaInfo.setDuration(static_cast<unsigned int>(abs(trackLength)));
|
|
||||||
}
|
|
||||||
|
|
||||||
//Generate output file name
|
//Generate output file name
|
||||||
QString trackTitle = trackMetaInfo.title().isEmpty() ? QString().sprintf("Track %02d", trackNo) : trackMetaInfo.title();
|
QString trackTitle = trackMetaInfo.title().isEmpty() ? QString().sprintf("Track %02d", trackNo) : trackMetaInfo.title();
|
||||||
@ -238,6 +210,7 @@ void CueSplitter::run()
|
|||||||
//Call split function
|
//Call split function
|
||||||
emit fileSelected(shortName(QFileInfo(outputFile).fileName()));
|
emit fileSelected(shortName(QFileInfo(outputFile).fileName()));
|
||||||
splitFile(outputFile, trackNo, trackFile, trackOffset, trackLength, trackMetaInfo, maxProgress);
|
splitFile(outputFile, trackNo, trackFile, trackOffset, trackLength, trackMetaInfo, maxProgress);
|
||||||
|
emit progressValChanged(++nTracksComplete);
|
||||||
|
|
||||||
if(m_abortFlag)
|
if(m_abortFlag)
|
||||||
{
|
{
|
||||||
@ -248,6 +221,9 @@ void CueSplitter::run()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
emit progressValChanged(nTracksTotal);
|
||||||
|
lamexp_sleep(333);
|
||||||
|
|
||||||
qDebug("All files were split.\n");
|
qDebug("All files were split.\n");
|
||||||
m_bSuccess = true;
|
m_bSuccess = true;
|
||||||
}
|
}
|
||||||
@ -258,7 +234,7 @@ void CueSplitter::run()
|
|||||||
|
|
||||||
void CueSplitter::handleUpdate(int progress)
|
void CueSplitter::handleUpdate(int progress)
|
||||||
{
|
{
|
||||||
emit fileSelected(QString("%1 [%2%]").arg(m_activeFile, QString::number(progress)));
|
//QString("%1 [%2]").arg(m_activeFile, QString::number(progress)))
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
@ -273,6 +249,7 @@ void CueSplitter::splitFile(const QString &output, const int trackNo, const QStr
|
|||||||
qDebug("Length: <%f> <%s>", length, indexToString(length).toLatin1().constData());
|
qDebug("Length: <%f> <%s>", length, indexToString(length).toLatin1().constData());
|
||||||
qDebug("Artist: <%s>", metaInfo.artist().toUtf8().constData());
|
qDebug("Artist: <%s>", metaInfo.artist().toUtf8().constData());
|
||||||
qDebug("Title: <%s>", metaInfo.title().toUtf8().constData());
|
qDebug("Title: <%s>", metaInfo.title().toUtf8().constData());
|
||||||
|
qDebug("Album: <%s>", metaInfo.album().toUtf8().constData());
|
||||||
|
|
||||||
if(!m_decompressedFiles.contains(file))
|
if(!m_decompressedFiles.contains(file))
|
||||||
{
|
{
|
||||||
@ -285,13 +262,15 @@ void CueSplitter::splitFile(const QString &output, const int trackNo, const QStr
|
|||||||
QString decompressedInput = m_decompressedFiles[file];
|
QString decompressedInput = m_decompressedFiles[file];
|
||||||
qDebug("Input: <%s>", decompressedInput.toUtf8().constData());
|
qDebug("Input: <%s>", decompressedInput.toUtf8().constData());
|
||||||
|
|
||||||
emit fileSelected(QString("%1 [%2%]").arg(baseName, QString::number(maxProgress)));
|
//emit fileSelected(QString("%1 [%2%]").arg(baseName, QString::number(maxProgress)));
|
||||||
|
|
||||||
AudioFileModel outFileInfo;
|
AudioFileModel outFileInfo(output);
|
||||||
outFileInfo.setMetaInfo(metaInfo);
|
outFileInfo.setMetaInfo(metaInfo);
|
||||||
outFileInfo.setFilePath(output);
|
|
||||||
outFileInfo.techInfo().setContainerType("Wave");
|
AudioFileModel_TechInfo &outFileTechInfo = outFileInfo.techInfo();
|
||||||
outFileInfo.techInfo().setAudioType("PCM");
|
outFileTechInfo.setContainerType("Wave");
|
||||||
|
outFileTechInfo.setAudioType("PCM");
|
||||||
|
outFileTechInfo.setDuration(static_cast<unsigned int>(abs(length)));
|
||||||
|
|
||||||
QStringList args;
|
QStringList args;
|
||||||
args << "-S" << "-V3";
|
args << "-S" << "-V3";
|
||||||
@ -359,7 +338,7 @@ void CueSplitter::splitFile(const QString &output, const int trackNo, const QStr
|
|||||||
if(ok)
|
if(ok)
|
||||||
{
|
{
|
||||||
maxProgress = qMax(maxProgress, progress);
|
maxProgress = qMax(maxProgress, progress);
|
||||||
emit fileSelected(QString("%1 [%2%]").arg(baseName, QString::number(maxProgress)));
|
//emit fileSelected(QString("%1 [%2%]").arg(baseName, QString::number(maxProgress)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(rxChannels.lastIndexIn(text) >= 0)
|
else if(rxChannels.lastIndexIn(text) >= 0)
|
||||||
|
Loading…
Reference in New Issue
Block a user