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
26 class AMAROK_EXPORT Track
: public Meta::Track
29 Track( const KUrl
&url
);
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
);