[Feature] Improve uri handling.
[Khopper.git] / plugins / cuesheet / cuesheettrack.hpp
blob32a9703f89e05dcbf27d803cb348cb323a7a46b5
1 /**
2 * @file cuesheettrack.hpp
3 * @author Wei-Cheng Pan
5 * Copyright (C) 2008 Wei-Cheng Pan <legnaleurc@gmail.com>
7 * This file is part of Khopper.
9 * Khopper is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 3 of the License, or
12 * (at your option) any later version.
14 * Khopper is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
19 * You should have received a copy of the GNU General Public License
20 * along with this program. If not, see <http://www.gnu.org/licenses/>.
22 #ifndef KHOPPER_ALBUM_CUESHEETTRACK_HPP
23 #define KHOPPER_ALBUM_CUESHEETTRACK_HPP
25 #include "rangedreader.hpp"
27 #include "khopper/track.hpp"
29 #include <QtCore/QStringList>
31 namespace khopper {
32 namespace album {
34 class CueSheetTrack : public Track {
35 public:
36 explicit CueSheetTrack( const QUrl & url );
38 virtual codec::ReaderSP createReader() const;
40 const QStringList & getComments() const;
41 const QStringList & getGarbage() const;
42 const Timestamp & getStartTime() const;
44 void setComments( const QStringList & comments );
45 void setDataType( const QString & dataType );
46 void setFileType( const QString & fileType );
47 void setGarbage( const QStringList & garbage );
48 void setISRC( const QString & isrc );
49 void setPostgap( const Timestamp & postgap );
50 void setPregap( const Timestamp & pregap );
51 void setStartTime( const Timestamp & startTime );
53 private:
54 QStringList comments_;
55 QString dataType_;
56 QString fileType_;
57 QStringList garbage_;
58 QString isrc_;
59 Timestamp postgap_;
60 Timestamp pregap_;
61 codec::RangedReader * reader_;
62 Timestamp startTime_;
68 #endif