Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef __MUSICBRAINZ3_TRACK_H__
00024 #define __MUSICBRAINZ3_TRACK_H__
00025
00026 #include <string>
00027 #include <musicbrainz3/musicbrainz.h>
00028 #include <musicbrainz3/entity.h>
00029
00030 namespace MusicBrainz
00031 {
00032
00033 class Artist;
00034
00051 class MB_API Track : public Entity
00052 {
00053 public:
00054
00061 Track(const std::string &id = std::string(),
00062 const std::string &title = std::string());
00063
00067 virtual ~Track();
00068
00080 std::string getTitle() const;
00081
00089 void setTitle(const std::string &title);
00090
00096 Artist *getArtist();
00097
00103 void setArtist(Artist *artist);
00104
00110 int getDuration() const;
00111
00117 void setDuration(const int duration);
00118
00128 ReleaseList &getReleases();
00129
00139 int getNumReleases() const;
00140
00150 Release *getRelease(int index);
00151
00157 void addRelease(Release *release);
00158
00171 int getReleasesOffset() const;
00172
00180 void setReleasesOffset(const int offset);
00181
00193 int getReleasesCount() const;
00194
00202 void setReleasesCount(const int count);
00203
00209 IsrcList &getIsrcs();
00210
00220 int getNumIsrcs() const;
00221
00231 std::string getIsrc(int index);
00232
00238 void addIsrc(const std::string &isrc);
00239
00240 private:
00241
00242 class TrackPrivate;
00243 TrackPrivate *d;
00244 };
00245
00246 }
00247
00248 #endif
00249