|
pianod2
multisource multiuser scriptable networked music player
|
A PianodAlbum that contains a vector of songs. More...
#include <musiclibrary.h>


Public Member Functions | |
| Album (Artist *const parent, const std::string &id, const std::string &name) | |
| Create a new album, and register itself with its parent. More... | |
| virtual | ~Album (void) override |
| Destroy an album by unregistering from its parent artist. More... | |
| Artist *const | parent (void) const |
| Foundation *const | library (void) const |
| virtual Media::Source *const | source (void) const override final |
| MediaSource from which this thingie originates. More... | |
| virtual const std::string & | artistId (void) const override final |
| Item's artist ID. More... | |
| virtual const std::string & | artist (void) const override final |
| Get the current artist, or list of artists if a compilation. More... | |
| virtual const std::string & | albumId (void) const override final |
| Item's album ID. More... | |
| virtual const std::string & | albumTitle (void) const override final |
| virtual const std::string & | coverArtUrl (void) const override final |
| virtual bool | compilation () const override |
| void | coverArtUrl (const std::string &a) |
| void | calculateArtists (void) const |
| (Re)calculate the current artists list for a compilation. More... | |
| virtual void | makeCompilation (Artist *compilation_artist) |
| Mark an album as a compilation. More... | |
| virtual SongList | songs () override |
| Get all songs belonging to the album. More... | |
| virtual bool | canQueue () const override |
| Indicate if specific item can be queued/requested. More... | |
| virtual Parsnip::Data | persist () const |
| virtual void | restore (const Parsnip::Data &data) |
| bool | empty () const |
| const std::vector< Song * > & | getSongs () |
Public Member Functions inherited from PianodAlbum | |
| virtual const std::string | id (void) const override |
| Primary ID is album ID. More... | |
| virtual const std::string | id (MusicThingie::Type type) const override |
| Return the complete ID when used in a specific context. More... | |
| virtual const std::string & | internalId (MusicThingie::Type type) const override |
| Return the inner ID when used in a specific context. More... | |
| virtual const std::string & | name (void) const override |
| Return the most specific name of this, whatever type it is. More... | |
| virtual Type | type (void) const override |
| Return the type letter for a thingie. More... | |
| virtual Football::Thingie & | transmitCommon (Football::Thingie &recipient) const override |
| Typecode for album type. More... | |
| virtual PianodConnection & | transmitPrivate (PianodConnection &recipient) const override |
| Transmit the thingie's user-specific data on a connection. More... | |
| virtual Parsnip::Data | serialize () const override |
| Assemble the thingie's data for JSON tranmission. More... | |
| virtual void | serializePrivate (Parsnip::Data &, const User *user) const override |
| Add the thingie's user-specific data for JSON transmission. More... | |
| virtual bool | matches (const Filter &filter) const override |
| Check if a filter matches this item. More... | |
| virtual PianodArtist * | asArtist () override |
| virtual const PianodArtist * | asArtist () const override |
| virtual PianodAlbum * | asAlbum () override final |
| virtual const PianodAlbum * | asAlbum () const override final |
| virtual bool | operator== (const std::string &compare) const override |
| Is album a compilation? More... | |
| virtual bool | operator== (const MusicThingie &compare) const override |
| Compare artist's name to that of an artist/album/song. More... | |
Public Member Functions inherited from MusicThingie | |
| MusicThingie (void) | |
| When allocated, use count starts at 1 and the object is put in the release pool, justifying its existence. More... | |
| bool | isPrimary (void) const |
| bool | isSuggestion (void) const |
| bool | isSeed (void) const |
| bool | isPlaylist (void) const |
| bool | isSong (void) const |
| bool | isAlbum (void) const |
| bool | isArtist (void) const |
| bool | isValidType (void) const |
| Type | primaryType (void) const |
| virtual PianodSong * | asSong () |
| virtual PianodPlaylist * | asPlaylist () |
| virtual const PianodSong * | asSong () const |
| virtual const PianodPlaylist * | asPlaylist () const |
| std::string | operator() (void) const |
| void | retain (void) const |
| Claim an instance. More... | |
| void | release (void) |
| Abandon an instance. More... | |
| int | getUseCount (void) const |
| virtual Ownership * | parentOwner (void) const |
| Defer the ownership to the source. More... | |
| void | serializeCommon (Parsnip::Data &) const |
| Insert common items into the serialization dictionary. More... | |
| bool | operator!= (const std::string &compare) |
| bool | operator!= (const MusicThingie &compare) |
Public Member Functions inherited from SubordinateOwnership | |
| virtual bool | isOwnedBy (const User *user) const override |
| virtual bool | hasPermission (const User *user, Action action) const override |
Public Member Functions inherited from Ownership | |
| bool | isVisibleBy (const User *user) const |
| bool | isUsableBy (const User *user) const |
| bool | isDecendableBy (const User *user) const |
| bool | isReadableBy (const User *user) const |
| bool | isEditableBy (const User *user) const |
Protected Attributes | |
| Artist * | _artist |
Private Attributes | |
| const std::string | _id |
| const std::string | _name |
| std::vector< Song * > | _songs |
| std::string | _coverArt |
| std::string | _artists |
| bool | artists_dirty = false |
Friends | |
| class | Artist |
| class | Song |
| class | Playlist |
| RetainedList< Song * > | Foundation::getRandomSongs (PianodPlaylist *playlist, const UserList &users, Media::SelectionMethod selectionMethod, const class LibraryParameters &settings) |
Additional Inherited Members | |
Public Types inherited from MusicThingie | |
| enum class | Type : char { Playlist = 'p' , Artist = 'a' , Album = 'l' , Song = 's' , PlaylistSuggestion = 'e' , ArtistSuggestion = 't' , AlbumSuggestion = 'b' , SongSuggestion = 'n' , PlaylistSeed = 'y' , ArtistSeed = 'd' , AlbumSeed = 'u' , SongSeed = 'g' , SongRating = 'i' } |
Public Types inherited from Ownership | |
| enum class | Type { DISOWNED , PRIVATE , SHARED , PUBLISHED , PUBLIC } |
| Access levels for an object. More... | |
| enum class | Action { SEE , USE , READ , ALTER } |
| Access actions for an object. More... | |
Static Public Member Functions inherited from PianodAlbum | |
| static Type | typetype (void) |
| Typecode for album objects. More... | |
Static Public Member Functions inherited from PianodArtist | |
| static Type | typetype (void) |
| Typecode for artist objects. More... | |
Static Public Member Functions inherited from MusicThingie | |
| static std::string | TypeName (Type type) |
| Get the type name of a music thingie. More... | |
| static Type | TypeFromName (const std::string &name) |
| static constexpr bool | isPrimary (Type t) |
| static constexpr bool | isSuggestion (const Type t) |
| static constexpr bool | isSeed (const Type t) |
| static constexpr bool | isPlaylist (const Type t) |
| static constexpr bool | isSong (const Type t) |
| static constexpr bool | isAlbum (const Type t) |
| static constexpr bool | isArtist (const Type t) |
| static constexpr bool | isValidType (const Type t) |
| static Type | primaryType (const Type t) |
Protected Member Functions inherited from MusicThingie | |
| virtual | ~MusicThingie (void) |
A PianodAlbum that contains a vector of songs.
| MusicLibrary::Album::Album | ( | Artist *const | parent, |
| const std::string & | id, | ||
| const std::string & | name | ||
| ) |
Create a new album, and register itself with its parent.
| parent | The album's artist. |
| id | A unique ID for the album. |
| name | The name of the album. |

|
overridevirtual |
Destroy an album by unregistering from its parent artist.

|
inlinefinaloverridevirtual |
|
inlinefinaloverridevirtual |
|
finaloverridevirtual |
Get the current artist, or list of artists if a compilation.
Implements PianodArtist.


|
inlinefinaloverridevirtual |
Item's artist ID.
Implements PianodArtist.
| void MusicLibrary::Album::calculateArtists | ( | void | ) | const |
(Re)calculate the current artists list for a compilation.


|
inlineoverridevirtual |
Indicate if specific item can be queued/requested.
Reimplemented from MusicThingie.
|
overridevirtual |
|
inline |
|
inlinefinaloverridevirtual |
Implements PianodAlbum.
|
inline |

|
inline |
|
inline |

|
virtual |
Mark an album as a compilation.
Set all song artists the current artist. Detach the item from its artist and stick it into a special compilation artist.
| compilation_artist | The compilation artist to move the album to. |
Reimplemented in Filesystem::Album.


|
inline |
|
virtual |
|
virtual |
|
overridevirtual |
Get all songs belonging to the album.
Reimplemented from MusicThingie.

|
inlinefinaloverridevirtual |
MediaSource from which this thingie originates.
Implements MusicThingie.
|
friend |
|
friend |
|
friend |
|
friend |
|
protected |
|
mutableprivate |
|
private |
|
private |
|
private |
|
private |
|
mutableprivate |