Warning, file /multimedia/k3b/libk3b/projects/k3bcuefileparser.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /*
0002     SPDX-FileCopyrightText: 1998-2009 Sebastian Trueg <trueg@k3b.org>
0003     SPDX-License-Identifier: GPL-2.0-or-later
0004 */
0005 #ifndef _K3B_CUEFILE_PARSER_H_
0006 #define _K3B_CUEFILE_PARSER_H_
0007 
0008 #include "k3bimagefilereader.h"
0009 
0010 #include "k3btoc.h"
0011 #include "k3bcdtext.h"
0012 #include "k3b_export.h"
0013 
0014 namespace K3b {
0015     /**
0016      * Parses a cue file.
0017      * Datatracks have either mode1 or mode2 where the latter contains xa form1/2.
0018      * The last track may not have a proper length!
0019      */
0020     class LIBK3B_EXPORT CueFileParser : public ImageFileReader
0021     {
0022     public:
0023         explicit CueFileParser( const QString& filename = QString() );
0024         ~CueFileParser() override;
0025 
0026         /**
0027          * CDRDAO does not use this image filename but replaces the extension from the cue file
0028          * with "bin" to get the image filename.
0029          * So in this case cdrecord won't be able to burn the cue file. That is why we need this hack.
0030          */
0031         bool imageFilenameInCue() const { return m_imageFilenameInCue; }
0032 
0033         Device::Toc toc() const;
0034         Device::CdText cdText() const;
0035 
0036         /**
0037          * lower case variant of the image type as specified behind the image
0038          * file name in the cue file. Can be one of "bin", "mp3", "wav", ...
0039          */
0040         QString imageFileType() const;
0041 
0042     private:
0043         void readFile() override;
0044         bool parseLine( QString line );
0045         void simplified( QString& s );
0046         bool findImageFileName( const QString& fileEntry );
0047 
0048         bool m_imageFilenameInCue;
0049 
0050         class Private;
0051         Private* d;
0052     };
0053 }
0054 
0055 #endif