If the Cue Sheet isn't clearly UTF-8 (i.e. a BOM is found), then let the user select the desired Codepage.
This commit is contained in:
parent
6770f1ec90
commit
b633f40e4c
@ -350,153 +350,183 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>CueImportDialog</name>
|
<name>CueImportDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="77"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="80"/>
|
||||||
<source>Import Cue Sheet</source>
|
<source>Import Cue Sheet</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="77"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="80"/>
|
||||||
<source>The following Cue Sheet will be split and imported into LameXP.</source>
|
<source>The following Cue Sheet will be split and imported into LameXP.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="102"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="105"/>
|
||||||
<source>Loading Cue Sheet file, please be patient...</source>
|
<source>Loading Cue Sheet file, please be patient...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="107"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="110"/>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="143"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="203"/>
|
||||||
<source>Failed to load the Cue Sheet file:</source>
|
<source>Failed to load the Cue Sheet file:</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="107"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="110"/>
|
||||||
<source>The specified file could not be found!</source>
|
<source>The specified file could not be found!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="108"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="111"/>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="144"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="204"/>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="327"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="389"/>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="331"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="393"/>
|
||||||
<source>Cue Sheet Error</source>
|
<source>Cue Sheet Error</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="125"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="131"/>
|
||||||
|
<source>(System Default)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../src/Dialog_CueImport.cpp" line="145"/>
|
||||||
|
<source>Select ANSI Codepage for Cue Sheet file:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../src/Dialog_CueImport.cpp" line="146"/>
|
||||||
|
<source>OK</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../src/Dialog_CueImport.cpp" line="147"/>
|
||||||
|
<source>Cancel</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../src/Dialog_CueImport.cpp" line="185"/>
|
||||||
<source>An unknown error has occured!</source>
|
<source>An unknown error has occured!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="130"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="190"/>
|
||||||
<source>The file could not be opened for reading. Make sure you have the required rights!</source>
|
<source>The file could not be opened for reading. Make sure you have the required rights!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="133"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="193"/>
|
||||||
<source>The provided file does not look like a valid Cue Sheet disc image file!</source>
|
<source>The provided file does not look like a valid Cue Sheet disc image file!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="136"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="196"/>
|
||||||
<source>Could not find any supported audio track in the Cue Sheet image!</source>
|
<source>Could not find any supported audio track in the Cue Sheet image!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="136"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="196"/>
|
||||||
<source>Note that LameXP can not handle "binary" Cue Sheet images.</source>
|
<source>Note that LameXP can not handle "binary" Cue Sheet images.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="139"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="199"/>
|
||||||
<source>The selected Cue Sheet file contains inconsistent information. Take care!</source>
|
<source>The selected Cue Sheet file contains inconsistent information. Take care!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="173"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="219"/>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="177"/>
|
<source>Unknown Artist</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../src/Dialog_CueImport.cpp" line="220"/>
|
||||||
|
<source>Unknown Album</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../src/Dialog_CueImport.cpp" line="235"/>
|
||||||
|
<location filename="../../src/Dialog_CueImport.cpp" line="239"/>
|
||||||
<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="203"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="265"/>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="210"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="272"/>
|
||||||
<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="203"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="265"/>
|
||||||
<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="210"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="272"/>
|
||||||
<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="224"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="286"/>
|
||||||
<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="224"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="286"/>
|
||||||
<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="224"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="286"/>
|
||||||
<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="294"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="356"/>
|
||||||
<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="299"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="361"/>
|
||||||
<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="299"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="361"/>
|
||||||
<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="299"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="361"/>
|
||||||
<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="299"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="361"/>
|
||||||
<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="322"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="384"/>
|
||||||
<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>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="327"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="389"/>
|
||||||
<source>Process was aborted by the user after %1 track(s)!</source>
|
<source>Process was aborted by the user after %1 track(s)!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="331"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="393"/>
|
||||||
<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>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="335"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="397"/>
|
||||||
<source>Imported %1 track(s) from the Cue Sheet and skipped %2 track(s).</source>
|
<source>Imported %1 track(s) from the Cue Sheet and skipped %2 track(s).</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="336"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="398"/>
|
||||||
<source>Cue Sheet Completed</source>
|
<source>Cue Sheet Completed</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@ -505,37 +535,47 @@
|
|||||||
<name>CueSheetImport</name>
|
<name>CueSheetImport</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../gui/CueSheetImport.ui" line="14"/>
|
<location filename="../../gui/CueSheetImport.ui" line="14"/>
|
||||||
<location filename="../../gui/CueSheetImport.ui" line="559"/>
|
<location filename="../../gui/CueSheetImport.ui" line="664"/>
|
||||||
<source>Import Cue Sheet</source>
|
<source>Import Cue Sheet</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../gui/CueSheetImport.ui" line="310"/>
|
<location filename="../../gui/CueSheetImport.ui" line="189"/>
|
||||||
|
<source>Artist:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../gui/CueSheetImport.ui" line="241"/>
|
||||||
|
<source>Album:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../gui/CueSheetImport.ui" line="415"/>
|
||||||
<source>Existing Source File</source>
|
<source>Existing Source File</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../gui/CueSheetImport.ui" line="438"/>
|
<location filename="../../gui/CueSheetImport.ui" line="543"/>
|
||||||
<source>Missing Source File (Tracks will be skipped!)</source>
|
<source>Missing Source File (Tracks will be skipped!)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../gui/CueSheetImport.ui" line="465"/>
|
<location filename="../../gui/CueSheetImport.ui" line="570"/>
|
||||||
<source> Output Directory </source>
|
<source> Output Directory </source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../gui/CueSheetImport.ui" line="489"/>
|
<location filename="../../gui/CueSheetImport.ui" line="594"/>
|
||||||
<source>Browse...</source>
|
<source>Browse...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../gui/CueSheetImport.ui" line="526"/>
|
<location filename="../../gui/CueSheetImport.ui" line="631"/>
|
||||||
<source>Load a different Cue Sheet</source>
|
<source>Load a different Cue Sheet</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../gui/CueSheetImport.ui" line="582"/>
|
<location filename="../../gui/CueSheetImport.ui" line="687"/>
|
||||||
<source>Discard</source>
|
<source>Discard</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -385,6 +385,30 @@
|
|||||||
<source>Process was aborted by the user after %1 track(s)!</source>
|
<source>Process was aborted by the user after %1 track(s)!</source>
|
||||||
<translation>Der Vorgang wurde vom Benutzter nach %1 Track(s) abgebrochen!</translation>
|
<translation>Der Vorgang wurde vom Benutzter nach %1 Track(s) abgebrochen!</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>(System Default)</source>
|
||||||
|
<translation>(Systemstandard)</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Select ANSI Codepage for Cue Sheet file:</source>
|
||||||
|
<translation>ANSI Codepage fürCuesheet Datei auswählen:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>OK</source>
|
||||||
|
<translation>OK</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Cancel</source>
|
||||||
|
<translation>Abbrechen</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Unknown Artist</source>
|
||||||
|
<translation>Unbekannter Künstler</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Unknown Album</source>
|
||||||
|
<translation>Unbekanntes Album</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>CueSheetImport</name>
|
<name>CueSheetImport</name>
|
||||||
@ -416,6 +440,14 @@
|
|||||||
<source>Load a different Cue Sheet</source>
|
<source>Load a different Cue Sheet</source>
|
||||||
<translation>Ein anderes Cuesheet laden</translation>
|
<translation>Ein anderes Cuesheet laden</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Artist:</source>
|
||||||
|
<translation>Künstler:</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Album:</source>
|
||||||
|
<translation>Album:</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>CueSheetModel</name>
|
<name>CueSheetModel</name>
|
||||||
|
@ -385,6 +385,30 @@
|
|||||||
<source>Process was aborted by the user after %1 track(s)!</source>
|
<source>Process was aborted by the user after %1 track(s)!</source>
|
||||||
<translation>¡El proceso fue cancelado tras %1 pista(s)!</translation>
|
<translation>¡El proceso fue cancelado tras %1 pista(s)!</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>(System Default)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Select ANSI Codepage for Cue Sheet file:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>OK</source>
|
||||||
|
<translation type="unfinished">Aceptar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Cancel</source>
|
||||||
|
<translation type="unfinished">Cancelar</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Unknown Artist</source>
|
||||||
|
<translation type="unfinished">Artista desconocido</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Unknown Album</source>
|
||||||
|
<translation type="unfinished">Álbum desconocido</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>CueSheetImport</name>
|
<name>CueSheetImport</name>
|
||||||
@ -416,6 +440,14 @@
|
|||||||
<source>Load a different Cue Sheet</source>
|
<source>Load a different Cue Sheet</source>
|
||||||
<translation>Cargar otro Cue sheet</translation>
|
<translation>Cargar otro Cue sheet</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Artist:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Album:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>CueSheetModel</name>
|
<name>CueSheetModel</name>
|
||||||
|
@ -389,6 +389,30 @@
|
|||||||
<source>Process was aborted by the user after %1 track(s)!</source>
|
<source>Process was aborted by the user after %1 track(s)!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>(System Default)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Select ANSI Codepage for Cue Sheet file:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>OK</source>
|
||||||
|
<translation type="unfinished">OK</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Cancel</source>
|
||||||
|
<translation type="unfinished">Annuler</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Unknown Artist</source>
|
||||||
|
<translation type="unfinished">Artiste inconnu</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Unknown Album</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>CueSheetImport</name>
|
<name>CueSheetImport</name>
|
||||||
@ -420,6 +444,14 @@
|
|||||||
<source>Load a different Cue Sheet</source>
|
<source>Load a different Cue Sheet</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Artist:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Album:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>CueSheetModel</name>
|
<name>CueSheetModel</name>
|
||||||
|
@ -385,6 +385,30 @@
|
|||||||
<source>Process was aborted by the user after %1 track(s)!</source>
|
<source>Process was aborted by the user after %1 track(s)!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>(System Default)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Select ANSI Codepage for Cue Sheet file:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>OK</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Cancel</source>
|
||||||
|
<translation type="unfinished">Cancella</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Unknown Artist</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Unknown Album</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>CueSheetImport</name>
|
<name>CueSheetImport</name>
|
||||||
@ -416,6 +440,14 @@
|
|||||||
<source>Load a different Cue Sheet</source>
|
<source>Load a different Cue Sheet</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Artist:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Album:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>CueSheetModel</name>
|
<name>CueSheetModel</name>
|
||||||
|
@ -385,6 +385,30 @@
|
|||||||
<source>Process was aborted by the user after %1 track(s)!</source>
|
<source>Process was aborted by the user after %1 track(s)!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>(System Default)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Select ANSI Codepage for Cue Sheet file:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>OK</source>
|
||||||
|
<translation type="unfinished">확인</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Cancel</source>
|
||||||
|
<translation type="unfinished">취소</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Unknown Artist</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Unknown Album</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>CueSheetImport</name>
|
<name>CueSheetImport</name>
|
||||||
@ -416,6 +440,14 @@
|
|||||||
<source>Load a different Cue Sheet</source>
|
<source>Load a different Cue Sheet</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Artist:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Album:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>CueSheetModel</name>
|
<name>CueSheetModel</name>
|
||||||
|
@ -350,153 +350,183 @@
|
|||||||
<context>
|
<context>
|
||||||
<name>CueImportDialog</name>
|
<name>CueImportDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="77"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="80"/>
|
||||||
<source>Import Cue Sheet</source>
|
<source>Import Cue Sheet</source>
|
||||||
<translation type="unfinished">Importuj Cue Sheet</translation>
|
<translation type="unfinished">Importuj Cue Sheet</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="77"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="80"/>
|
||||||
<source>The following Cue Sheet will be split and imported into LameXP.</source>
|
<source>The following Cue Sheet will be split and imported into LameXP.</source>
|
||||||
<translation type="unfinished">Dany plik Cue Sheet będzie podzielony i zaimortowany do LameXP.</translation>
|
<translation type="unfinished">Dany plik Cue Sheet będzie podzielony i zaimortowany do LameXP.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="102"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="105"/>
|
||||||
<source>Loading Cue Sheet file, please be patient...</source>
|
<source>Loading Cue Sheet file, please be patient...</source>
|
||||||
<translation type="unfinished">Ładowanie pliku Cue Sheet, prosze być cierpliwy...</translation>
|
<translation type="unfinished">Ładowanie pliku Cue Sheet, prosze być cierpliwy...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="107"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="110"/>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="143"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="203"/>
|
||||||
<source>Failed to load the Cue Sheet file:</source>
|
<source>Failed to load the Cue Sheet file:</source>
|
||||||
<translation type="unfinished">Ładowanie pliku Cue Sheet zakończone niepowodzeniem:</translation>
|
<translation type="unfinished">Ładowanie pliku Cue Sheet zakończone niepowodzeniem:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="107"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="110"/>
|
||||||
<source>The specified file could not be found!</source>
|
<source>The specified file could not be found!</source>
|
||||||
<translation type="unfinished">Podany plik nie może być odnaleziony!</translation>
|
<translation type="unfinished">Podany plik nie może być odnaleziony!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="108"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="111"/>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="144"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="204"/>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="327"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="389"/>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="331"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="393"/>
|
||||||
<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>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="125"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="131"/>
|
||||||
|
<source>(System Default)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../src/Dialog_CueImport.cpp" line="145"/>
|
||||||
|
<source>Select ANSI Codepage for Cue Sheet file:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../src/Dialog_CueImport.cpp" line="146"/>
|
||||||
|
<source>OK</source>
|
||||||
|
<translation type="unfinished">OK</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../src/Dialog_CueImport.cpp" line="147"/>
|
||||||
|
<source>Cancel</source>
|
||||||
|
<translation type="unfinished">Anuluj</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../src/Dialog_CueImport.cpp" line="185"/>
|
||||||
<source>An unknown error has occured!</source>
|
<source>An unknown error has occured!</source>
|
||||||
<translation type="unfinished">Wystąpił nieokreśłony błąd!</translation>
|
<translation type="unfinished">Wystąpił nieokreśłony błąd!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="130"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="190"/>
|
||||||
<source>The file could not be opened for reading. Make sure you have the required rights!</source>
|
<source>The file could not be opened for reading. Make sure you have the required rights!</source>
|
||||||
<translation type="unfinished">Plik nie mógł zostać odczytany. Upewnij się że masz prawo odczytu!</translation>
|
<translation type="unfinished">Plik nie mógł zostać odczytany. Upewnij się że masz prawo odczytu!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="133"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="193"/>
|
||||||
<source>The provided file does not look like a valid Cue Sheet disc image file!</source>
|
<source>The provided file does not look like a valid Cue Sheet disc image file!</source>
|
||||||
<translation type="unfinished">Dany plik nie wydaje się prawidłowym plikiem obrazu Cue Sheet!</translation>
|
<translation type="unfinished">Dany plik nie wydaje się prawidłowym plikiem obrazu Cue Sheet!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="136"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="196"/>
|
||||||
<source>Could not find any supported audio track in the Cue Sheet image!</source>
|
<source>Could not find any supported audio track in the Cue Sheet image!</source>
|
||||||
<translation type="unfinished">Nie znaleziono wspieranego formatu dźwięku w żadnej ze ścieżek obrazu Cue Sheet!</translation>
|
<translation type="unfinished">Nie znaleziono wspieranego formatu dźwięku w żadnej ze ścieżek obrazu Cue Sheet!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="136"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="196"/>
|
||||||
<source>Note that LameXP can not handle "binary" Cue Sheet images.</source>
|
<source>Note that LameXP can not handle "binary" Cue Sheet images.</source>
|
||||||
<translation type="unfinished">LameXP nie radzi sobie z formatem "binarnym" obrazu Cue Sheet.</translation>
|
<translation type="unfinished">LameXP nie radzi sobie z formatem "binarnym" obrazu Cue Sheet.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="139"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="199"/>
|
||||||
<source>The selected Cue Sheet file contains inconsistent information. Take care!</source>
|
<source>The selected Cue Sheet file contains inconsistent information. Take care!</source>
|
||||||
<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="173"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="219"/>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="177"/>
|
<source>Unknown Artist</source>
|
||||||
|
<translation type="unfinished">Nieznany Artysta</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../src/Dialog_CueImport.cpp" line="220"/>
|
||||||
|
<source>Unknown Album</source>
|
||||||
|
<translation type="unfinished">Nieznany Album</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../src/Dialog_CueImport.cpp" line="235"/>
|
||||||
|
<location filename="../../src/Dialog_CueImport.cpp" line="239"/>
|
||||||
<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="203"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="265"/>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="210"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="272"/>
|
||||||
<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="203"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="265"/>
|
||||||
<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="210"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="272"/>
|
||||||
<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="224"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="286"/>
|
||||||
<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="224"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="286"/>
|
||||||
<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="224"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="286"/>
|
||||||
<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="294"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="356"/>
|
||||||
<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="299"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="361"/>
|
||||||
<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="299"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="361"/>
|
||||||
<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="299"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="361"/>
|
||||||
<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="299"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="361"/>
|
||||||
<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="322"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="384"/>
|
||||||
<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>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="327"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="389"/>
|
||||||
<source>Process was aborted by the user after %1 track(s)!</source>
|
<source>Process was aborted by the user after %1 track(s)!</source>
|
||||||
<translation type="unfinished">Proces został przerwany przez użytkownika po imporcie %1 ścieżek!</translation>
|
<translation type="unfinished">Proces został przerwany przez użytkownika po imporcie %1 ścieżek!</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="331"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="393"/>
|
||||||
<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>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="335"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="397"/>
|
||||||
<source>Imported %1 track(s) from the Cue Sheet and skipped %2 track(s).</source>
|
<source>Imported %1 track(s) from the Cue Sheet and skipped %2 track(s).</source>
|
||||||
<translation type="unfinished">Zaimportowano %1 ścieżek i opuszczono %2 ścieżek z pliku Cue Sheet.</translation>
|
<translation type="unfinished">Zaimportowano %1 ścieżek i opuszczono %2 ścieżek z pliku Cue Sheet.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../src/Dialog_CueImport.cpp" line="336"/>
|
<location filename="../../src/Dialog_CueImport.cpp" line="398"/>
|
||||||
<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>
|
||||||
@ -505,37 +535,47 @@
|
|||||||
<name>CueSheetImport</name>
|
<name>CueSheetImport</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../gui/CueSheetImport.ui" line="14"/>
|
<location filename="../../gui/CueSheetImport.ui" line="14"/>
|
||||||
<location filename="../../gui/CueSheetImport.ui" line="559"/>
|
<location filename="../../gui/CueSheetImport.ui" line="664"/>
|
||||||
<source>Import Cue Sheet</source>
|
<source>Import Cue Sheet</source>
|
||||||
<translation type="unfinished">Importuj plik Cue Sheet</translation>
|
<translation type="unfinished">Importuj plik Cue Sheet</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../gui/CueSheetImport.ui" line="310"/>
|
<location filename="../../gui/CueSheetImport.ui" line="189"/>
|
||||||
|
<source>Artist:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../gui/CueSheetImport.ui" line="241"/>
|
||||||
|
<source>Album:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<location filename="../../gui/CueSheetImport.ui" line="415"/>
|
||||||
<source>Existing Source File</source>
|
<source>Existing Source File</source>
|
||||||
<translation type="unfinished">Istniejący plik źródłowy</translation>
|
<translation type="unfinished">Istniejący plik źródłowy</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../gui/CueSheetImport.ui" line="438"/>
|
<location filename="../../gui/CueSheetImport.ui" line="543"/>
|
||||||
<source>Missing Source File (Tracks will be skipped!)</source>
|
<source>Missing Source File (Tracks will be skipped!)</source>
|
||||||
<translation type="unfinished">Brakujące pliki źródłowe (Ścieżki zostaną pominięte!)</translation>
|
<translation type="unfinished">Brakujące pliki źródłowe (Ścieżki zostaną pominięte!)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../gui/CueSheetImport.ui" line="465"/>
|
<location filename="../../gui/CueSheetImport.ui" line="570"/>
|
||||||
<source> Output Directory </source>
|
<source> Output Directory </source>
|
||||||
<translation type="unfinished">Folder wyjściowy</translation>
|
<translation type="unfinished">Folder wyjściowy</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../gui/CueSheetImport.ui" line="489"/>
|
<location filename="../../gui/CueSheetImport.ui" line="594"/>
|
||||||
<source>Browse...</source>
|
<source>Browse...</source>
|
||||||
<translation type="unfinished">Wybierz...</translation>
|
<translation type="unfinished">Wybierz...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../gui/CueSheetImport.ui" line="526"/>
|
<location filename="../../gui/CueSheetImport.ui" line="631"/>
|
||||||
<source>Load a different Cue Sheet</source>
|
<source>Load a different Cue Sheet</source>
|
||||||
<translation type="unfinished">Załaduj inny plik Cue Sheet</translation>
|
<translation type="unfinished">Załaduj inny plik Cue Sheet</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="../../gui/CueSheetImport.ui" line="582"/>
|
<location filename="../../gui/CueSheetImport.ui" line="687"/>
|
||||||
<source>Discard</source>
|
<source>Discard</source>
|
||||||
<translation type="unfinished">Wyjdź</translation>
|
<translation type="unfinished">Wyjdź</translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -387,6 +387,30 @@
|
|||||||
<source>Process was aborted by the user after %1 track(s)!</source>
|
<source>Process was aborted by the user after %1 track(s)!</source>
|
||||||
<translation type="unfinished">Процесс отменён пользователем после %1 трэк(ов)!</translation>
|
<translation type="unfinished">Процесс отменён пользователем после %1 трэк(ов)!</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>(System Default)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Select ANSI Codepage for Cue Sheet file:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>OK</source>
|
||||||
|
<translation type="unfinished">ОК</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Cancel</source>
|
||||||
|
<translation type="unfinished">Отмена</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Unknown Artist</source>
|
||||||
|
<translation type="unfinished">Неизвестный Артист</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Unknown Album</source>
|
||||||
|
<translation type="unfinished">Неизвестный Альбом</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>CueSheetImport</name>
|
<name>CueSheetImport</name>
|
||||||
@ -418,6 +442,14 @@
|
|||||||
<source>Load a different Cue Sheet</source>
|
<source>Load a different Cue Sheet</source>
|
||||||
<translation type="unfinished">Загрузить другой Cue плэйлист</translation>
|
<translation type="unfinished">Загрузить другой Cue плэйлист</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Artist:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Album:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>CueSheetModel</name>
|
<name>CueSheetModel</name>
|
||||||
|
@ -386,6 +386,30 @@
|
|||||||
<source>Cue Sheet Completed</source>
|
<source>Cue Sheet Completed</source>
|
||||||
<translation>Обробку списку Cue завершено</translation>
|
<translation>Обробку списку Cue завершено</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>(System Default)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Select ANSI Codepage for Cue Sheet file:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>OK</source>
|
||||||
|
<translation type="unfinished">Ок</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Cancel</source>
|
||||||
|
<translation type="unfinished">Відмінити</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Unknown Artist</source>
|
||||||
|
<translation type="unfinished">Невідомий виконавець</translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Unknown Album</source>
|
||||||
|
<translation type="unfinished">Невідомий альбом</translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>CueSheetImport</name>
|
<name>CueSheetImport</name>
|
||||||
@ -417,6 +441,14 @@
|
|||||||
<source>Load a different Cue Sheet</source>
|
<source>Load a different Cue Sheet</source>
|
||||||
<translation>Обрати інший список CUE</translation>
|
<translation>Обрати інший список CUE</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Artist:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Album:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>CueSheetModel</name>
|
<name>CueSheetModel</name>
|
||||||
|
@ -175,6 +175,111 @@
|
|||||||
<property name="spacing">
|
<property name="spacing">
|
||||||
<number>2</number>
|
<number>2</number>
|
||||||
</property>
|
</property>
|
||||||
|
<item>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_7">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_4">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Artist:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer_6">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>QSizePolicy::Fixed</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>5</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="labelArtist">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">N/A</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer_9">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>QSizePolicy::Fixed</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>16</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_6">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Album:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer_7">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeType">
|
||||||
|
<enum>QSizePolicy::Fixed</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>5</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="labelAlbum">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">N/A</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer_8">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QTreeView" name="treeView">
|
<widget class="QTreeView" name="treeView">
|
||||||
<property name="alternatingRowColors">
|
<property name="alternatingRowColors">
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -29,8 +29,8 @@
|
|||||||
#define VER_LAMEXP_MINOR_HI 0
|
#define VER_LAMEXP_MINOR_HI 0
|
||||||
#define VER_LAMEXP_MINOR_LO 4
|
#define VER_LAMEXP_MINOR_LO 4
|
||||||
#define VER_LAMEXP_TYPE Alpha
|
#define VER_LAMEXP_TYPE Alpha
|
||||||
#define VER_LAMEXP_PATCH 7
|
#define VER_LAMEXP_PATCH 8
|
||||||
#define VER_LAMEXP_BUILD 804
|
#define VER_LAMEXP_BUILD 806
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
// Tool versions (minimum expected versions!)
|
// Tool versions (minimum expected versions!)
|
||||||
|
@ -36,8 +36,11 @@
|
|||||||
#include <QFileDialog>
|
#include <QFileDialog>
|
||||||
#include <QProgressDialog>
|
#include <QProgressDialog>
|
||||||
#include <QMenu>
|
#include <QMenu>
|
||||||
|
#include <QTextCodec>
|
||||||
|
#include <QInputDialog>
|
||||||
|
|
||||||
#define SET_FONT_BOLD(WIDGET,BOLD) { QFont _font = WIDGET->font(); _font.setBold(BOLD); WIDGET->setFont(_font); }
|
#define SET_FONT_BOLD(WIDGET,BOLD) { QFont _font = WIDGET->font(); _font.setBold(BOLD); WIDGET->setFont(_font); }
|
||||||
|
#define EXPAND(STR) QString(STR).leftJustified(96, ' ')
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
// Constructor & Destructor
|
// Constructor & Destructor
|
||||||
@ -111,6 +114,63 @@ int CueImportDialog::exec(void)
|
|||||||
return CueSheetModel::ErrorIOFailure;
|
return CueSheetModel::ErrorIOFailure;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//----------------------//
|
||||||
|
|
||||||
|
QTextCodec *codec = NULL;
|
||||||
|
|
||||||
|
QFile cueFile(cueFileInfo.canonicalFilePath());
|
||||||
|
cueFile.open(QIODevice::ReadOnly);
|
||||||
|
QByteArray bomCheck = cueFile.isOpen() ? cueFile.peek(128) : QByteArray();
|
||||||
|
|
||||||
|
if((!bomCheck.isEmpty()) && bomCheck.contains("\xef\xbb\xbf"))
|
||||||
|
{
|
||||||
|
codec = QTextCodec::codecForName("UTF-8");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
const QString systemDefault = tr("(System Default)");
|
||||||
|
|
||||||
|
QStringList codecList; codecList << systemDefault;
|
||||||
|
QList<QByteArray> availableCodecs = QTextCodec::availableCodecs();
|
||||||
|
while(!availableCodecs.isEmpty())
|
||||||
|
{
|
||||||
|
QByteArray current = availableCodecs.takeFirst();
|
||||||
|
if(!(current.startsWith("system") || current.startsWith("System")))
|
||||||
|
{
|
||||||
|
codecList << QString::fromLatin1(current.constData(), current.size());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
QInputDialog *input = new QInputDialog(progress);
|
||||||
|
input->setLabelText(EXPAND(tr("Select ANSI Codepage for Cue Sheet file:")));
|
||||||
|
input->setOkButtonText(tr("OK"));
|
||||||
|
input->setCancelButtonText(tr("Cancel"));
|
||||||
|
input->setTextEchoMode(QLineEdit::Normal);
|
||||||
|
input->setComboBoxItems(codecList);
|
||||||
|
|
||||||
|
if(input->exec() > 0)
|
||||||
|
{
|
||||||
|
qDebug("User-selected codec is: %s", input->textValue().toLatin1().constData());
|
||||||
|
if(input->textValue().compare(systemDefault, Qt::CaseInsensitive))
|
||||||
|
{
|
||||||
|
qDebug("Going to use a user-selected codec!");
|
||||||
|
codec = QTextCodec::codecForName(input->textValue().toLatin1().constData());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!codec)
|
||||||
|
{
|
||||||
|
qDebug("Going to use the system's default codec!");
|
||||||
|
codec = QTextCodec::codecForName("System");
|
||||||
|
}
|
||||||
|
|
||||||
|
LAMEXP_DELETE(input);
|
||||||
|
}
|
||||||
|
|
||||||
|
bomCheck.clear();
|
||||||
|
|
||||||
|
//----------------------//
|
||||||
|
|
||||||
m_outputDir = QString("%1/%2").arg(cueFileInfo.canonicalPath(), cueFileInfo.completeBaseName());
|
m_outputDir = QString("%1/%2").arg(cueFileInfo.canonicalPath(), cueFileInfo.completeBaseName());
|
||||||
for(int n = 2; QDir(m_outputDir).exists(); n++)
|
for(int n = 2; QDir(m_outputDir).exists(); n++)
|
||||||
{
|
{
|
||||||
@ -119,7 +179,7 @@ int CueImportDialog::exec(void)
|
|||||||
|
|
||||||
setWindowTitle(QString("%1: %2").arg(windowTitle().split(":", QString::SkipEmptyParts).first().trimmed(), cueFileInfo.fileName()));
|
setWindowTitle(QString("%1: %2").arg(windowTitle().split(":", QString::SkipEmptyParts).first().trimmed(), cueFileInfo.fileName()));
|
||||||
|
|
||||||
int iResult = m_model->loadCueSheet(m_cueFileName, QApplication::instance());
|
int iResult = m_model->loadCueSheet(m_cueFileName, QApplication::instance(), codec);
|
||||||
if(iResult != CueSheetModel::ErrorSuccess)
|
if(iResult != CueSheetModel::ErrorSuccess)
|
||||||
{
|
{
|
||||||
QString errorMsg = tr("An unknown error has occured!");
|
QString errorMsg = tr("An unknown error has occured!");
|
||||||
@ -156,6 +216,8 @@ void CueImportDialog::modelChanged(void)
|
|||||||
{
|
{
|
||||||
treeView->expandAll();
|
treeView->expandAll();
|
||||||
editOutputDir->setText(QDir::toNativeSeparators(m_outputDir));
|
editOutputDir->setText(QDir::toNativeSeparators(m_outputDir));
|
||||||
|
labelArtist->setText(m_model->getAlbumPerformer().isEmpty() ? tr("Unknown Artist") : m_model->getAlbumPerformer());
|
||||||
|
labelAlbum->setText(m_model->getAlbumTitle().isEmpty() ? tr("Unknown Album") : m_model->getAlbumTitle());
|
||||||
}
|
}
|
||||||
|
|
||||||
void CueImportDialog::browseButtonClicked(void)
|
void CueImportDialog::browseButtonClicked(void)
|
||||||
|
@ -527,9 +527,10 @@ unsigned int CueSheetModel::getAlbumYear(void)
|
|||||||
// Cue Sheet Parser
|
// Cue Sheet Parser
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
int CueSheetModel::loadCueSheet(const QString &cueFileName, QCoreApplication *application)
|
int CueSheetModel::loadCueSheet(const QString &cueFileName, QCoreApplication *application, QTextCodec *forceCodec)
|
||||||
{
|
{
|
||||||
QMutexLocker lock(&m_mutex);
|
QMutexLocker lock(&m_mutex);
|
||||||
|
const QTextCodec *codec = (forceCodec != NULL) ? forceCodec : QTextCodec::codecForName("System");
|
||||||
|
|
||||||
QFile cueFile(cueFileName);
|
QFile cueFile(cueFileName);
|
||||||
if(!cueFile.open(QIODevice::ReadOnly))
|
if(!cueFile.open(QIODevice::ReadOnly))
|
||||||
@ -540,16 +541,17 @@ int CueSheetModel::loadCueSheet(const QString &cueFileName, QCoreApplication *ap
|
|||||||
clearData();
|
clearData();
|
||||||
|
|
||||||
beginResetModel();
|
beginResetModel();
|
||||||
int iResult = parseCueFile(cueFile, QDir(QFileInfo(cueFile).canonicalPath()), application);
|
int iResult = parseCueFile(cueFile, QDir(QFileInfo(cueFile).canonicalPath()), application, codec);
|
||||||
endResetModel();
|
endResetModel();
|
||||||
|
|
||||||
return iResult;
|
return iResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
int CueSheetModel::parseCueFile(QFile &cueFile, const QDir &baseDir, QCoreApplication *application)
|
int CueSheetModel::parseCueFile(QFile &cueFile, const QDir &baseDir, QCoreApplication *application, const QTextCodec *codec)
|
||||||
{
|
{
|
||||||
cueFile.seek(0);
|
cueFile.seek(0);
|
||||||
qDebug("\n[Cue Sheet Import]");
|
qDebug("\n[Cue Sheet Import]");
|
||||||
|
bool bForceLatin1 = false;
|
||||||
|
|
||||||
//Reject very large files, as parsing might take until forever
|
//Reject very large files, as parsing might take until forever
|
||||||
if(cueFile.size() >= 10485760i64)
|
if(cueFile.size() >= 10485760i64)
|
||||||
@ -558,28 +560,18 @@ int CueSheetModel::parseCueFile(QFile &cueFile, const QDir &baseDir, QCoreApplic
|
|||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Get system local Codec
|
|
||||||
const QTextCodec *codec = QTextCodec::codecForName("System");
|
|
||||||
|
|
||||||
//Check for UTF-8 BOM in order to guess encoding
|
|
||||||
bool bUTF8 = false, bForceLatin1 = false;
|
|
||||||
QByteArray bomCheck = cueFile.peek(128);
|
|
||||||
bUTF8 = (!bomCheck.isEmpty()) && bomCheck.contains("\xef\xbb\xbf");
|
|
||||||
qDebug("Encoding is %s.", (bUTF8 ? "UTF-8" : "Local 8-Bit"));
|
|
||||||
bomCheck.clear();
|
|
||||||
|
|
||||||
//Test selected Codepage for decoding errors
|
//Test selected Codepage for decoding errors
|
||||||
if(!bUTF8)
|
qDebug("Character encoding is: %s.", codec->name().constData());
|
||||||
|
const QString replacementSymbol = QString(QChar(QChar::ReplacementCharacter));
|
||||||
|
QByteArray testData = cueFile.peek(1048576);
|
||||||
|
if((!testData.isEmpty()) && codec->toUnicode(testData.constData(), testData.size()).contains(replacementSymbol))
|
||||||
{
|
{
|
||||||
const QString replacementSymbol = QString(QChar(QChar::ReplacementCharacter));
|
qWarning("Decoding error using local codepage. Enforcing Latin-1.");
|
||||||
QByteArray data = cueFile.peek(1048576);
|
bForceLatin1 = true;
|
||||||
if((!data.isEmpty()) && codec->toUnicode(data.constData(), data.size()).contains(replacementSymbol))
|
|
||||||
{
|
|
||||||
qWarning("Decoding error using local 8-Bit codepage. Enforcing Latin-1.");
|
|
||||||
bForceLatin1 = true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
testData.clear();
|
||||||
|
|
||||||
|
//Create regular expressions
|
||||||
QRegExp rxFile("^FILE\\s+(\"[^\"]+\"|\\S+)\\s+(\\w+)$", Qt::CaseInsensitive);
|
QRegExp rxFile("^FILE\\s+(\"[^\"]+\"|\\S+)\\s+(\\w+)$", Qt::CaseInsensitive);
|
||||||
QRegExp rxTrack("^TRACK\\s+(\\d+)\\s(\\w+)$", Qt::CaseInsensitive);
|
QRegExp rxTrack("^TRACK\\s+(\\d+)\\s(\\w+)$", Qt::CaseInsensitive);
|
||||||
QRegExp rxIndex("^INDEX\\s+(\\d+)\\s+([0-9:]+)$", Qt::CaseInsensitive);
|
QRegExp rxIndex("^INDEX\\s+(\\d+)\\s+([0-9:]+)$", Qt::CaseInsensitive);
|
||||||
@ -615,7 +607,7 @@ int CueSheetModel::parseCueFile(QFile &cueFile, const QDir &baseDir, QCoreApplic
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString line = (bUTF8 ? QString::fromUtf8(lineData.constData(), lineData.size()) : (bForceLatin1 ? QString::fromLatin1(lineData.constData(), lineData.size()) : codec->toUnicode(lineData.constData(), lineData.size()))).trimmed();
|
QString line = (bForceLatin1 ? QString::fromLatin1(lineData.constData(), lineData.size()) : codec->toUnicode(lineData.constData(), lineData.size())).trimmed();
|
||||||
|
|
||||||
/* --- FILE --- */
|
/* --- FILE --- */
|
||||||
if(rxFile.indexIn(line) >= 0)
|
if(rxFile.indexIn(line) >= 0)
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
class CueSheetFile;
|
class CueSheetFile;
|
||||||
class QApplication;
|
class QApplication;
|
||||||
class QDir;
|
class QDir;
|
||||||
|
class QTextCodec;
|
||||||
|
|
||||||
class CueSheetModel : public QAbstractItemModel
|
class CueSheetModel : public QAbstractItemModel
|
||||||
{
|
{
|
||||||
@ -73,10 +74,10 @@ public:
|
|||||||
unsigned int getAlbumYear(void);
|
unsigned int getAlbumYear(void);
|
||||||
|
|
||||||
//Cue Sheet functions
|
//Cue Sheet functions
|
||||||
int loadCueSheet(const QString &cueFile, QCoreApplication *application = NULL);
|
int loadCueSheet(const QString &cueFile, QCoreApplication *application = NULL, QTextCodec *forceCodec= NULL);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int parseCueFile(QFile &cueFile, const QDir &baseDir, QCoreApplication *application);
|
int parseCueFile(QFile &cueFile, const QDir &baseDir, QCoreApplication *application, const QTextCodec *codec);
|
||||||
double parseTimeIndex(const QString &index);
|
double parseTimeIndex(const QString &index);
|
||||||
QString indexToString(const double index) const;
|
QString indexToString(const double index) const;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user