17 #include "XBDateTime.h" 18 #include "music/tags/ReplayGain.h" 19 #include "utils/EmbeddedArt.h" 20 #include "utils/ISerializable.h" 54 void MergeScrapedSong(
const CSong& source,
bool override);
55 void Serialize(
CVariant& value)
const override;
57 bool operator<(
const CSong &song)
const 59 if (strFileName < song.strFileName)
return true;
60 if (strFileName > song.strFileName)
return false;
61 if (iTrack < song.iTrack)
return true;
68 const std::vector<std::string> GetArtist()
const;
73 const std::string GetArtistSort()
const;
78 const std::vector<std::string> GetMusicBrainzArtistID()
const;
84 const std::string GetArtistString()
const;
89 const std::vector<int> GetArtistIDArray()
const;
96 const std::vector<std::string>
GetAlbumArtist()
const {
return m_albumArtist; }
106 const std::string GetDiscSubtitle()
const;
120 void AppendArtistRole(
const CMusicRole& musicRole);
127 void SetAlbumArtist(
const std::vector<std::string>& albumartists) { m_albumArtist = albumartists; }
148 bool ArtMatches(
const CSong &right)
const;
157 void SetArtistCredits(
const std::vector<std::string>& names,
const std::vector<std::string>& hints,
158 const std::vector<std::string>& mbids);
162 std::string strFileName;
163 std::string strTitle;
164 std::string strArtistSort;
165 std::string strArtistDesc;
166 VECARTISTCREDITS artistCredits;
167 std::string strAlbum;
168 std::vector<std::string> genre;
169 std::string strThumb;
171 std::string strMusicBrainzTrackID;
172 std::string strComment;
174 std::string strCueSheet;
180 std::string strOrigReleaseDate;
181 std::string strReleaseDate;
182 std::string strDiscSubtitle;
195 std::string strRecordLabel;
196 std::string strAlbumType;
197 std::string songVideoURL;
201 std::vector<std::string> m_albumArtist;
202 std::string m_strAlbumArtistSort;
203 std::string m_strComposerSort;
204 VECMUSICROLES m_musicRoles;
std::vector< CGenre > VECGENRES
A vector of std::string objects, used for CMusicDatabase.
Definition: Song.h:225
const std::vector< std::string > GetAlbumArtist() const
Get album artist names associated with song from tag data Note for initial album processing only...
Definition: Song.h:96
Definition: ReplayGain.h:16
const std::string GetComposerSort() const
Get composer sort name string.
Definition: Song.h:111
std::map< std::string, VECSONGS > MAPSONGS
A map of a vector of CSong objects key by filename, used for CMusicDatabase.
Definition: Song.h:218
const std::string GetAlbumArtistSort() const
Get album artist sort name string.
Definition: Song.h:101
const VECMUSICROLES & GetContributors() const
Get the full list of artist names and the role each played for those that contributed to the recordin...
Definition: Song.h:118
void SetAlbumArtist(const std::vector< std::string > &albumartists)
Set album artist vector. Album artist is held local to song until album created for initial processin...
Definition: Song.h:127
Definition: EmbeddedArt.h:17
Definition: ISerializable.h:13
std::vector< CSong > VECSONGS
A vector of CSong objects, used for CMusicDatabase.
Definition: Song.h:212
bool HasArtistCredits() const
Whether this song has any artists in artist credits vector Tests if artist credits has been populated...
Definition: Song.h:133
Class to store and read album information from CMusicDatabase.
Definition: Song.h:34
DateTime class, which uses FileTime as it's base.
Definition: XBDateTime.h:63
bool HasContributors() const
Whether this song has any artists in music roles (contributors) vector Tests if contributors has been...
Definition: Song.h:138
Class to store and read song information from CMusicDatabase.
Definition: Song.h:48
Represents a file on a share.
Definition: FileItem.h:102