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;
88 const std::string& GetSongVideoURL()
const;
91 CAlbum::ReleaseType GetAlbumReleaseType()
const;
93 void SetURL(
const std::string& strURL);
94 void SetTitle(
const std::string& strTitle);
95 void SetArtist(
const std::string& strArtist);
96 void SetArtist(
const std::vector<std::string>& artists,
bool FillDesc =
false);
97 void SetArtistDesc(
const std::string& strArtistDesc);
98 void SetArtistSort(
const std::string& strArtistsort);
99 void SetComposerSort(
const std::string& strComposerSort);
100 void SetAlbum(
const std::string& strAlbum);
101 void SetAlbumId(
const int iAlbumId);
102 void SetAlbumArtist(
const std::string& strAlbumArtist);
103 void SetAlbumArtist(
const std::vector<std::string>& albumArtists,
bool FillDesc =
false);
104 void SetAlbumArtistDesc(
const std::string& strAlbumArtistDesc);
105 void SetAlbumArtistSort(
const std::string& strAlbumArtistSort);
106 void SetGenre(
const std::string& strGenre,
bool bTrim =
false);
107 void SetGenre(
const std::vector<std::string>& genres,
bool bTrim =
false);
108 void SetYear(
int year);
109 void SetOriginalDate(
const std::string& strOriginalDate);
110 void SetReleaseDate(
const std::string& strReleaseDate);
111 void SetDatabaseId(
int id,
const std::string &type);
112 void SetTrackNumber(
int iTrack);
113 void SetDiscNumber(
int iDiscNumber);
114 void SetTrackAndDiscNumber(
int iTrackAndDisc);
115 void SetDuration(
int iSec);
116 void SetLoaded(
bool bOnOff =
true);
117 void SetArtist(
const CArtist& artist);
118 void SetAlbum(
const CAlbum& album);
119 void SetSong(
const CSong& song);
120 void SetMusicBrainzTrackID(
const std::string& strTrackID);
121 void SetMusicBrainzArtistID(
const std::vector<std::string>& musicBrainzArtistId);
122 void SetMusicBrainzArtistHints(
const std::vector<std::string>& musicBrainzArtistHints);
123 void SetMusicBrainzAlbumID(
const std::string& strAlbumID);
124 void SetMusicBrainzAlbumArtistID(
const std::vector<std::string>& musicBrainzAlbumArtistId);
125 void SetMusicBrainzAlbumArtistHints(
const std::vector<std::string>& musicBrainzAlbumArtistHints);
126 void SetMusicBrainzReleaseGroupID(
const std::string& strReleaseGroupID);
127 void SetMusicBrainzReleaseType(
const std::string& ReleaseType);
128 void SetComment(
const std::string& comment);
129 void SetMood(
const std::string& mood);
130 void SetRecordLabel(
const std::string& publisher);
131 void SetLyrics(
const std::string& lyrics);
132 void SetCueSheet(
const std::string& cueSheet);
133 void SetRating(
float rating);
134 void SetUserrating(
int rating);
135 void SetVotes(
int votes);
136 void SetListeners(
int listeners);
137 void SetPlayCount(
int playcount);
138 void SetLastPlayed(
const std::string& strLastPlayed);
139 void SetLastPlayed(
const CDateTime& strLastPlayed);
140 void SetDateAdded(
const std::string& strDateAdded);
141 void SetDateAdded(
const CDateTime& dateAdded);
142 void SetDateUpdated(
const std::string& strDateUpdated);
143 void SetDateUpdated(
const CDateTime& dateUpdated);
144 void SetDateNew(
const std::string& strDateNew);
145 void SetDateNew(
const CDateTime& dateNew);
146 void SetCompilation(
bool compilation);
147 void SetBoxset(
bool boxset);
148 void SetCoverArtInfo(
size_t size,
const std::string &mimeType);
150 void SetAlbumReleaseType(CAlbum::ReleaseType releaseType);
151 void SetType(
const MediaType& mediaType);
152 void SetDiscSubtitle(
const std::string& strDiscSubtitle);
153 void SetTotalDiscs(
int iDiscTotal);
154 void SetBPM(
int iBPM);
155 void SetBitRate(
int bitrate);
156 void SetNoOfChannels(
int channels);
157 void SetSampleRate(
int samplerate);
158 void SetAlbumReleaseStatus(
const std::string& strReleaseStatus);
159 void SetStationName(
const std::string& strStationName);
160 void SetStationArt(
const std::string& strStationArt);
161 void SetSongVideoURL(
const std::string& songVideoURL);
180 void AddOriginalDate(
const std::string& strDateYear);
181 void AddReleaseDate(
const std::string& strDateYear,
bool isMonth =
false);
183 void AddArtistRole(
const std::string& Role,
const std::string& strArtist);
184 void AddArtistRole(
const std::string& Role,
const std::vector<std::string>& artists);
185 void AppendArtistRole(
const CMusicRole& ArtistRole);
186 const std::string GetArtistStringForRole(
const std::string& strRole)
const;
187 const std::string GetContributorsText()
const;
188 const std::string GetContributorsAndRolesText()
const;
189 const VECMUSICROLES &GetContributors()
const;
190 void SetContributors(
const VECMUSICROLES& contributors);
191 bool HasContributors()
const {
return !m_musicRoles.empty(); }
193 void Archive(
CArchive& ar)
override;
194 void Serialize(
CVariant& ar)
const override;
195 void ToSortable(SortItem& sortable, Field field)
const override;
204 std::string
Trim(
const std::string &value)
const;
206 std::string m_strURL;
207 std::string m_strTitle;
208 std::vector<std::string> m_artist;
209 std::string m_strArtistSort;
210 std::string m_strArtistDesc;
211 std::string m_strComposerSort;
212 std::string m_strAlbum;
213 std::vector<std::string> m_albumArtist;
214 std::string m_strAlbumArtistDesc;
215 std::string m_strAlbumArtistSort;
216 std::vector<std::string> m_genre;
217 std::string m_strMusicBrainzTrackID;
218 std::vector<std::string> m_musicBrainzArtistID;
219 std::vector<std::string> m_musicBrainzArtistHints;
220 std::string m_strMusicBrainzAlbumID;
221 std::vector<std::string> m_musicBrainzAlbumArtistID;
222 std::vector<std::string> m_musicBrainzAlbumArtistHints;
223 std::string m_strMusicBrainzReleaseGroupID;
224 std::string m_strMusicBrainzReleaseType;
225 VECMUSICROLES m_musicRoles;
226 std::string m_strComment;
227 std::string m_strMood;
228 std::string m_strRecordLabel;
229 std::string m_strLyrics;
230 std::string m_cuesheet;
231 std::string m_strDiscSubtitle;
232 std::string m_strReleaseDate;
233 std::string m_strOriginalDate;
253 CAlbum::ReleaseType m_albumReleaseType;
254 std::string m_strReleaseStatus;
258 std::string m_stationName;
259 std::string m_stationArt;
260 std::string m_songVideoURL;
Definition: ReplayGain.h:16
std::string Trim(const std::string &value) const
Trim whitespace off the given string.
Definition: MusicInfoTag.cpp:1312
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:1213
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:1224
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:262
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:1235
ReplayGain m_replayGain
ReplayGain information.
Definition: MusicInfoTag.h:264
Definition: ISortable.h:15
MediaType m_type
item type "music", "song", "album", "artist"
Definition: MusicInfoTag.h:242
Definition: MusicInfoTag.h:27
Definition: IArchivable.h:13
Class to store and read song information from CMusicDatabase.
Definition: Song.h:48
Definition: Application.h:77