Revert previous commit, was incorrect
[amarok.git] / src / meta / file / File.h
blob3d9ae82abd96b25754b974838eaa416ecb9e1be8
1 /*
2 Copyright (C) 2007 Maximilian Kossick <maximilian.kossick@googlemail.com>
4 This program is free software; you can redistribute it and/or
5 modify it under the terms of the GNU General Public License
6 as published by the Free Software Foundation; either version 2
7 of the License, or (at your option) any later version.
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with this program; if not, write to the Free Software
16 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifndef AMAROK_META_FILE_H
20 #define AMAROK_META_FILE_H
22 #include "Meta.h"
24 namespace MetaFile
26 class AMAROK_EXPORT Track : public Meta::Track
28 public:
29 Track( const KUrl &url );
30 virtual ~Track();
32 //methods inherited from Meta::MetaBase
33 virtual QString name() const;
34 virtual QString prettyName() const;
35 virtual QString fullPrettyName() const;
36 virtual QString sortableName() const;
38 //methods inherited from Meta::Track
39 virtual KUrl playableUrl() const;
40 virtual QString prettyUrl() const;
41 virtual QString url() const;
43 virtual bool isPlayable() const;
44 virtual bool isEditable() const;
46 virtual Meta::AlbumPtr album() const;
47 virtual Meta::ArtistPtr artist() const;
48 virtual Meta::GenrePtr genre() const;
49 virtual Meta::ComposerPtr composer() const;
50 virtual Meta::YearPtr year() const;
52 virtual void setAlbum( const QString &newAlbum );
53 virtual void setArtist( const QString &newArtist );
54 virtual void setGenre( const QString &newGenre );
55 virtual void setComposer( const QString &newComposer );
56 virtual void setYear( const QString &newYear );
58 virtual void setTitle( const QString &newTitle );
60 virtual QString comment() const;
61 virtual void setComment( const QString &newComment );
63 virtual double score() const;
64 virtual void setScore( double newScore );
66 virtual int rating() const;
67 virtual void setRating( int newRating );
69 virtual int trackNumber() const;
70 virtual void setTrackNumber( int newTrackNumber );
72 virtual int discNumber() const;
73 virtual void setDiscNumber( int newDiscNumber );
75 virtual int length() const;
76 virtual int filesize() const;
77 virtual int sampleRate() const;
78 virtual int bitrate() const;
79 virtual uint lastPlayed() const;
80 virtual int playCount() const;
82 virtual QString type() const;
84 virtual void beginMetaDataUpdate();
85 virtual void endMetaDataUpdate();
86 virtual void abortMetaDataUpdate();
88 virtual void finishedPlaying( double playedFraction );
90 virtual bool inCollection() const;
91 virtual Collection *collection() const;
93 virtual bool hasCapabilityInterface( Meta::Capability::Type type ) const;
94 virtual Meta::Capability* asCapabilityInterface( Meta::Capability::Type type );
96 class Private;
97 private:
98 Private * const d;
102 #endif