kodi
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
CAlbum Class Reference
Collaboration diagram for CAlbum:
Collaboration graph
[legend]

Public Types

enum  ReleaseType { Album = 0, Single }
 
typedef enum CAlbum::ReleaseType ReleaseType
 

Public Member Functions

 CAlbum (const CFileItem &item)
 
bool operator< (const CAlbum &a) const
 
void MergeScrapedAlbum (const CAlbum &album, bool override=true)
 
void Reset ()
 
const std::vector< std::string > GetAlbumArtist () const
 Get album artist names from the vector of artistcredits objects. More...
 
const std::vector< std::string > GetMusicBrainzAlbumArtistID () const
 Get album artist MusicBrainz IDs from the vector of artistcredits objects. More...
 
std::string GetGenreString () const
 
const std::string GetAlbumArtistString () const
 Get album artist names from the artist description string (if it exists) or concatenated from the vector of artistcredits objects. More...
 
const std::string GetAlbumArtistSort () const
 Get album artist sort name from the artist sort string (if it exists) or concatenated from the vector of artistcredits objects. More...
 
const std::vector< int > GetArtistIDArray () const
 Get album artist IDs (for json rpc) from the vector of artistcredits objects. More...
 
std::string GetReleaseType () const
 
void SetReleaseType (const std::string &strReleaseType)
 
void SetDateAdded (const std::string &strDateAdded)
 
void SetDateUpdated (const std::string &strDateUpdated)
 
void SetDateNew (const std::string &strDateNew)
 
void SetLastPlayed (const std::string &strLastPlayed)
 
void SetArtistCredits (const std::vector< std::string > &names, const std::vector< std::string > &hints, const std::vector< std::string > &mbids, const std::vector< std::string > &artistnames=std::vector< std::string >(), const std::vector< std::string > &artisthints=std::vector< std::string >(), const std::vector< std::string > &artistmbids=std::vector< std::string >())
 Set album artist credits using the arrays of tag values. If strArtistSort (as from ALBUMARTISTSORT tag) is already set then individual artist sort names are also processed. More...
 
bool Load (const TiXmlElement *element, bool append=false, bool prioritise=false)
 Load album information from an XML file. See CVideoInfoTag::Load for a description of the types of elements we load. More...
 
bool Save (TiXmlNode *node, const std::string &tag, const std::string &strPath)
 

Static Public Member Functions

static std::string ReleaseTypeToString (ReleaseType releaseType)
 
static ReleaseType ReleaseTypeFromString (const std::string &strReleaseType)
 

Public Attributes

int idAlbum = -1
 
std::string strAlbum
 
std::string strMusicBrainzAlbumID
 
std::string strReleaseGroupMBID
 
std::string strArtistDesc
 
std::string strArtistSort
 
VECARTISTCREDITS artistCredits
 
std::vector< std::string > genre
 
CScraperUrl thumbURL
 
std::vector< std::string > moods
 
std::vector< std::string > styles
 
std::vector< std::string > themes
 
std::map< std::string, std::string > art
 
std::string strReview
 
std::string strLabel
 
std::string strType
 
std::string strReleaseStatus
 
std::string strPath
 
float fRating = -1
 
int iUserrating = -1
 
int iVotes = -1
 
std::string strReleaseDate
 
std::string strOrigReleaseDate
 
bool bBoxedSet = false
 
bool bCompilation = false
 
int iTimesPlayed = 0
 
CDateTime dateAdded
 
CDateTime dateUpdated
 
CDateTime dateNew
 
CDateTime lastPlayed
 
int iTotalDiscs = -1
 
VECSONGS songs
 Local songs.
 
ReleaseType releaseType = Album
 
std::string strLastScraped
 
bool bScrapedMBID = false
 
bool bArtistSongMerge = false
 
int iAlbumDuration = 0
 

Member Function Documentation

◆ GetAlbumArtist()

const std::vector< std::string > CAlbum::GetAlbumArtist ( ) const

Get album artist names from the vector of artistcredits objects.

Returns
album artist names as a vector of strings

◆ GetAlbumArtistSort()

const std::string CAlbum::GetAlbumArtistSort ( ) const

Get album artist sort name from the artist sort string (if it exists) or concatenated from the vector of artistcredits objects.

Returns
album artist sort names as a single string

◆ GetAlbumArtistString()

const std::string CAlbum::GetAlbumArtistString ( ) const

Get album artist names from the artist description string (if it exists) or concatenated from the vector of artistcredits objects.

Returns
album artist names as a single string

◆ GetArtistIDArray()

const std::vector< int > CAlbum::GetArtistIDArray ( ) const

Get album artist IDs (for json rpc) from the vector of artistcredits objects.

Returns
album artist IDs as a vector of integers

◆ GetMusicBrainzAlbumArtistID()

const std::vector< std::string > CAlbum::GetMusicBrainzAlbumArtistID ( ) const

Get album artist MusicBrainz IDs from the vector of artistcredits objects.

Returns
album artist MusicBrainz IDs as a vector of strings

◆ Load()

bool CAlbum::Load ( const TiXmlElement *  element,
bool  append = false,
bool  prioritise = false 
)

Load album information from an XML file. See CVideoInfoTag::Load for a description of the types of elements we load.

Parameters
elementthe root XML element to parse.
appendwhether information should be added to the existing tag, or whether it should be reset first.
prioritiseif appending, whether additive tags should be prioritised (i.e. replace or prepend) over existing values. Defaults to false.
See also
CVideoInfoTag::Load

◆ SetArtistCredits()

void CAlbum::SetArtistCredits ( const std::vector< std::string > &  names,
const std::vector< std::string > &  hints,
const std::vector< std::string > &  mbids,
const std::vector< std::string > &  artistnames = std::vector<std::string>(),
const std::vector< std::string > &  artisthints = std::vector<std::string>(),
const std::vector< std::string > &  artistmbids = std::vector<std::string>() 
)

Set album artist credits using the arrays of tag values. If strArtistSort (as from ALBUMARTISTSORT tag) is already set then individual artist sort names are also processed.

Parameters
namesString vector of albumartist names (as from ALBUMARTIST tag)
hintsString vector of albumartist name hints (as from ALBUMARTISTS tag)
mbidsString vector of albumartist Musicbrainz IDs (as from MUSICBRAINZABUMARTISTID tag)
artistnamesString vector of artist names (as from ARTIST tag)
artisthintsString vector of artist name hints (as from ARTISTS tag)
artistmbidsString vector of artist Musicbrainz IDs (as from MUSICBRAINZARTISTID tag)

The documentation for this class was generated from the following files: