15 #include "ReplayGain.h" 16 #include "XBDateTime.h" 18 #include "utils/IArchivable.h" 19 #include "utils/ISerializable.h" 20 #include "utils/ISortable.h" 33 const std::string& GetTitle()
const;
34 const std::string& GetURL()
const;
35 const std::vector<std::string>& GetArtist()
const;
36 const std::string& GetArtistSort()
const;
37 const std::string GetArtistString()
const;
38 const std::string& GetComposerSort()
const;
39 const std::string& GetAlbum()
const;
40 int GetAlbumId()
const;
41 const std::vector<std::string>& GetAlbumArtist()
const;
42 const std::string GetAlbumArtistString()
const;
43 const std::string& GetAlbumArtistSort()
const;
44 const std::vector<std::string>& GetGenre()
const;
45 int GetTrackNumber()
const;
46 int GetDiscNumber()
const;
47 int GetTrackAndDiscNumber()
const;
48 int GetTotalDiscs()
const;
49 int GetDuration()
const;
51 const std::string& GetReleaseDate()
const;
52 const std::string GetReleaseYear()
const;
53 const std::string& GetOriginalDate()
const;
54 const std::string GetOriginalYear()
const;
55 int GetDatabaseId()
const;
56 const std::string &GetType()
const;
57 const std::string& GetDiscSubtitle()
const;
59 std::string GetYearString()
const;
60 const std::string& GetMusicBrainzTrackID()
const;
61 const std::vector<std::string>& GetMusicBrainzArtistID()
const;
62 const std::vector<std::string>& GetMusicBrainzArtistHints()
const;
63 const std::string& GetMusicBrainzAlbumID()
const;
64 const std::string& GetMusicBrainzReleaseGroupID()
const;
65 const std::vector<std::string>& GetMusicBrainzAlbumArtistID()
const;
66 const std::vector<std::string>& GetMusicBrainzAlbumArtistHints()
const;
67 const std::string& GetMusicBrainzReleaseType()
const;
68 const std::string& GetComment()
const;
69 const std::string& GetMood()
const;
70 const std::string& GetRecordLabel()
const;
71 const std::string& GetLyrics()
const;
72 const std::string& GetCueSheet()
const;
75 bool GetCompilation()
const;
76 bool GetBoxset()
const;
77 float GetRating()
const;
78 int GetUserrating()
const;
80 int GetListeners()
const;
81 int GetPlayCount()
const;
82 int GetBitRate()
const;
83 int GetNoOfChannels()
const;
84 int GetSampleRate()
const;
85 const std::string& GetAlbumReleaseStatus()
const;
86 const std::string& GetStationName()
const;
87 const std::string& GetStationArt()
const;
90 CAlbum::ReleaseType GetAlbumReleaseType()
const;
92 void SetURL(
const std::string& strURL);
93 void SetTitle(
const std::string& strTitle);
94 void SetArtist(
const std::string& strArtist);
95 void SetArtist(
const std::vector<std::string>& artists,
bool FillDesc =
false);
96 void SetArtistDesc(
const std::string& strArtistDesc);
97 void SetArtistSort(
const std::string& strArtistsort);
98 void SetComposerSort(
const std::string& strComposerSort);
99 void SetAlbum(
const std::string& strAlbum);
100 void SetAlbumId(
const int iAlbumId);
101 void SetAlbumArtist(
const std::string& strAlbumArtist);
102 void SetAlbumArtist(
const std::vector<std::string>& albumArtists,
bool FillDesc =
false);
103 void SetAlbumArtistDesc(
const std::string& strAlbumArtistDesc);
104 void SetAlbumArtistSort(
const std::string& strAlbumArtistSort);
105 void SetGenre(
const std::string& strGenre,
bool bTrim =
false);
106 void SetGenre(
const std::vector<std::string>& genres,
bool bTrim =
false);
107 void SetYear(
int year);
108 void SetOriginalDate(
const std::string& strOriginalDate);
109 void SetReleaseDate(
const std::string& strReleaseDate);
110 void SetDatabaseId(
int id,
const std::string &type);
111 void SetTrackNumber(
int iTrack);
112 void SetDiscNumber(
int iDiscNumber);
113 void SetTrackAndDiscNumber(
int iTrackAndDisc);
114 void SetDuration(
int iSec);
115 void SetLoaded(
bool bOnOff =
true);
116 void SetArtist(
const CArtist& artist);
117 void SetAlbum(
const CAlbum& album);
118 void SetSong(
const CSong& song);
119 void SetMusicBrainzTrackID(
const std::string& strTrackID);
120 void SetMusicBrainzArtistID(
const std::vector<std::string>& musicBrainzArtistId);
121 void SetMusicBrainzArtistHints(
const std::vector<std::string>& musicBrainzArtistHints);
122 void SetMusicBrainzAlbumID(
const std::string& strAlbumID);
123 void SetMusicBrainzAlbumArtistID(
const std::vector<std::string>& musicBrainzAlbumArtistId);
124 void SetMusicBrainzAlbumArtistHints(
const std::vector<std::string>& musicBrainzAlbumArtistHints);
125 void SetMusicBrainzReleaseGroupID(
const std::string& strReleaseGroupID);
126 void SetMusicBrainzReleaseType(
const std::string& ReleaseType);
127 void SetComment(
const std::string& comment);
128 void SetMood(
const std::string& mood);
129 void SetRecordLabel(
const std::string& publisher);
130 void SetLyrics(
const std::string& lyrics);
131 void SetCueSheet(
const std::string& cueSheet);
132 void SetRating(
float rating);
133 void SetUserrating(
int rating);
134 void SetVotes(
int votes);
135 void SetListeners(
int listeners);
136 void SetPlayCount(
int playcount);
137 void SetLastPlayed(
const std::string& strLastPlayed);
138 void SetLastPlayed(
const CDateTime& strLastPlayed);
139 void SetDateAdded(
const std::string& strDateAdded);
140 void SetDateAdded(
const CDateTime& dateAdded);
141 void SetDateUpdated(
const std::string& strDateUpdated);
142 void SetDateUpdated(
const CDateTime& dateUpdated);
143 void SetDateNew(
const std::string& strDateNew);
144 void SetDateNew(
const CDateTime& dateNew);
145 void SetCompilation(
bool compilation);
146 void SetBoxset(
bool boxset);
147 void SetCoverArtInfo(
size_t size,
const std::string &mimeType);
149 void SetAlbumReleaseType(CAlbum::ReleaseType releaseType);
150 void SetType(
const MediaType& mediaType);
151 void SetDiscSubtitle(
const std::string& strDiscSubtitle);
152 void SetTotalDiscs(
int iDiscTotal);
153 void SetBPM(
int iBPM);
154 void SetBitRate(
int bitrate);
155 void SetNoOfChannels(
int channels);
156 void SetSampleRate(
int samplerate);
157 void SetAlbumReleaseStatus(
const std::string& strReleaseStatus);
158 void SetStationName(
const std::string& strStationName);
159 void SetStationArt(
const std::string& strStationArt);
178 void AddOriginalDate(
const std::string& strDateYear);
179 void AddReleaseDate(
const std::string& strDateYear,
bool isMonth =
false);
181 void AddArtistRole(
const std::string& Role,
const std::string& strArtist);
182 void AddArtistRole(
const std::string& Role,
const std::vector<std::string>& artists);
183 void AppendArtistRole(
const CMusicRole& ArtistRole);
184 const std::string GetArtistStringForRole(
const std::string& strRole)
const;
185 const std::string GetContributorsText()
const;
186 const std::string GetContributorsAndRolesText()
const;
187 const VECMUSICROLES &GetContributors()
const;
188 void SetContributors(
const VECMUSICROLES& contributors);
189 bool HasContributors()
const {
return !m_musicRoles.empty(); }
191 void Archive(
CArchive& ar)
override;
192 void Serialize(
CVariant& ar)
const override;
193 void ToSortable(SortItem& sortable, Field field)
const override;
202 std::string
Trim(
const std::string &value)
const;
204 std::string m_strURL;
205 std::string m_strTitle;
206 std::vector<std::string> m_artist;
207 std::string m_strArtistSort;
208 std::string m_strArtistDesc;
209 std::string m_strComposerSort;
210 std::string m_strAlbum;
211 std::vector<std::string> m_albumArtist;
212 std::string m_strAlbumArtistDesc;
213 std::string m_strAlbumArtistSort;
214 std::vector<std::string> m_genre;
215 std::string m_strMusicBrainzTrackID;
216 std::vector<std::string> m_musicBrainzArtistID;
217 std::vector<std::string> m_musicBrainzArtistHints;
218 std::string m_strMusicBrainzAlbumID;
219 std::vector<std::string> m_musicBrainzAlbumArtistID;
220 std::vector<std::string> m_musicBrainzAlbumArtistHints;
221 std::string m_strMusicBrainzReleaseGroupID;
222 std::string m_strMusicBrainzReleaseType;
223 VECMUSICROLES m_musicRoles;
224 std::string m_strComment;
225 std::string m_strMood;
226 std::string m_strRecordLabel;
227 std::string m_strLyrics;
228 std::string m_cuesheet;
229 std::string m_strDiscSubtitle;
230 std::string m_strReleaseDate;
231 std::string m_strOriginalDate;
251 CAlbum::ReleaseType m_albumReleaseType;
252 std::string m_strReleaseStatus;
256 std::string m_stationName;
257 std::string m_stationArt;
Definition: ReplayGain.h:16
std::string Trim(const std::string &value) const
Trim whitespace off the given string.
Definition: MusicInfoTag.cpp:1297
void AppendArtist(const std::string &artist)
Append a unique artist to the artist list Checks if we have this artist already added, and if not adds it to the songs artist list.
Definition: MusicInfoTag.cpp:1198
void AppendAlbumArtist(const std::string &albumArtist)
Append a unique album artist to the artist list Checks if we have this album artist already added...
Definition: MusicInfoTag.cpp:1209
Definition: EmbeddedArt.h:17
Definition: ISerializable.h:13
DateTime class, which uses FileTime as it's base.
Definition: XBDateTime.h:63
EmbeddedArtInfo m_coverArt
art information
Definition: MusicInfoTag.h:259
void AppendGenre(const std::string &genre)
Append a unique genre to the genre list Checks if we have this genre already added, and if not adds it to the songs genre list.
Definition: MusicInfoTag.cpp:1220
ReplayGain m_replayGain
ReplayGain information.
Definition: MusicInfoTag.h:261
Definition: ISortable.h:15
MediaType m_type
item type "music", "song", "album", "artist"
Definition: MusicInfoTag.h:240
Definition: MusicInfoTag.h:27
Definition: IArchivable.h:13
Class to store and read song information from CMusicDatabase.
Definition: Song.h:48
Definition: Application.h:79