14 #include <unordered_map>
78 virtual bool canSkip (time_t *whenAllowed =
nullptr)
override;
79 virtual bool canQueue()
const override;
128 virtual bool canSkip (time_t *whenAllowed =
nullptr)
override;
129 virtual bool mustPlay ()
const override;
A PianodArtist that is fully-contained in itself, unrelated to albums, songs, or playlists.
Definition: encapmusic.h:22
virtual Media::Source *const source(void) const override
MediaSource from which this thingie originates.
Definition: encapmusic.h:34
virtual Type type(void) const override
Return the type letter for a thingie.
Definition: encapmusic.h:33
virtual Type type(void) const override
Return the type letter for a thingie.
Definition: encapmusic.h:213
A PianodSong that is self-contained, unrelated to albums or artists.
Definition: encapmusic.h:110
virtual Type type(void) const override
Return the type letter for a thingie.
Definition: encapmusic.h:134
virtual Media::Source *const source(void) const override
MediaSource from which this thingie originates.
Definition: encapmusic.h:135
Type
Definition: musictypes.h:86
Definition: pandoratypes.h:112
Advert(Source *const owner, const Parsnip::Data &message, Station *station)
Definition: pandoratypes.cpp:275
std::string audio_url
Definition: pandoratypes.h:117
double audio_gain
Definition: pandoratypes.h:116
Retainer< EncapsulatedPlaylist * > ad_station
Definition: pandoratypes.h:115
virtual RESPONSE_CODE rate(Rating value, User *user) override
Rate a song.
Definition: pandoratypes.cpp:296
static Advert * construct(Station *station, const std::string &track_info)
Definition: pandoratypes.cpp:269
virtual RatingScheme ratingScheme(void) const override
Definition: pandoratypes.cpp:292
virtual Rating rating(const User *user) const override
Get a song's rating.
Definition: pandoratypes.cpp:301
virtual RESPONSE_CODE rateOverplayed(User *) override
Definition: pandoratypes.cpp:306
virtual bool canSkip(time_t *whenAllowed=nullptr) override
Check for permission to skip a song.
Definition: pandoratypes.cpp:310
virtual bool mustPlay() const override
Mark songs (err, adverts) as must-play; they can't be skipped over even when playlist selections are ...
Definition: pandoratypes.cpp:314
std::vector< std::string > ad_tokens
Definition: pandoratypes.h:118
Class for Pandora artists. Constructed from annotations.
Definition: pandoratypes.h:133
Source *const pandora() const
Definition: pandoratypes.h:135
Artist(Source *const owner)
Definition: pandoratypes.cpp:322
A artist contructed from station seed information.
Definition: pandoratypes.h:150
ArtistSeed(Source *const owner, const Parsnip::Data &message)
Construct an artist from a Pandora annotation message.
Definition: pandoratypes.cpp:331
An artist contructed from search results.
Definition: pandoratypes.h:144
ArtistSuggestion(Source *const owner, const Parsnip::Data &message)
Definition: pandoratypes.cpp:336
A class for Pandora genre seeds.
Definition: pandoratypes.h:164
GenreSeed(Source *owner, const Parsnip::Data &message)
Construct a genre seed from seed information.
Definition: pandoratypes.cpp:367
A genre constructed from a suggestion.
Definition: pandoratypes.h:157
GenreSuggestion(Source *const owner, const Parsnip::Data &message)
Construct a genre suggestion from search/annotation result.
Definition: pandoratypes.cpp:348
Playable song: a song with playback information.
Definition: pandoratypes.h:57
Source *const pandora() const
Definition: pandoratypes.h:62
virtual RESPONSE_CODE rateOverplayed(User *) override
Definition: pandoratypes.cpp:167
virtual bool canSkip(time_t *whenAllowed=nullptr) override
Determine if a skip is allowed, and if so, record one.
Definition: pandoratypes.cpp:180
double audio_gain
Definition: pandoratypes.h:69
friend Song
Definition: pandoratypes.h:59
PlayableSong(Source *const owner, const Parsnip::Data &message)
Construct a Song from a Pandora annotation message.
Definition: pandoratypes.cpp:141
friend Source
Definition: pandoratypes.h:58
virtual bool canQueue() const override
Indicate if specific item can be queued/requested.
Definition: pandoratypes.cpp:202
std::string track_token
Definition: pandoratypes.h:68
PlayableSong(Source *const owner, const Parsnip::Data &message, bool persist_flag)
std::string audio_url
Definition: pandoratypes.h:67
const std::string & trackToken() const
Definition: pandoratypes.h:81
Class for Pandora songs. Constructed from annotations.
Definition: pandoratypes.h:37
virtual RESPONSE_CODE rate(Rating value, User *user) override
Rate a song.
Definition: pandoratypes.cpp:70
virtual RatingScheme ratingScheme(void) const override
Definition: pandoratypes.cpp:66
Source *const pandora() const
Definition: pandoratypes.h:39
Song(Source *const owner, MusicThingie::Type type, const Parsnip::Data &message)
Restore a song from the persistence file.
Definition: pandoratypes.cpp:55
virtual Rating rating(const User *user) const override
Get a song's rating.
Definition: pandoratypes.cpp:109
A song that contains rating information.
Definition: pandoratypes.h:89
virtual RESPONSE_CODE rate(Rating value, User *user) override
Rate a song.
Definition: pandoratypes.cpp:238
virtual Rating rating(const User *user) const override
Get a song's rating.
Definition: pandoratypes.cpp:261
virtual RatingScheme ratingScheme(void) const override
Definition: pandoratypes.cpp:234
SongRating(Station *owner, const Parsnip::Data &message)
Construct a Song from a list of station feedback.
Definition: pandoratypes.cpp:225
Rating song_rating
Definition: pandoratypes.h:91
A song contructed from station seed information.
Definition: pandoratypes.h:100
SongSeed(Station *owner, const Parsnip::Data &message)
Construct a Song from a station seed list.
Definition: pandoratypes.cpp:213
A song constructed from a suggestion.
Definition: pandoratypes.h:107
SongSuggestion(Source *const owner, const Parsnip::Data &message)
Definition: pandoratypes.cpp:128
Definition: pandorastation.h:77
Generic data type.
Definition: parsnip.h:81
A PianodArtist that is fully-contained in itself, unrelated to albums, songs, or playlists.
Definition: encapmusic.h:47
A PianodSong that is self-contained, unrelated to albums or artists.
Definition: encapmusic.h:191
Data about each user.
Definition: user.h:53
Playlist / Artist / Album / Song datatypes that are self-implemented.
Essential data structures and support.
enum server_status_t RESPONSE_CODE
Playlist / Artist / Album / Song data types.
uint32_t value
Definition: audiooutput.cpp:68
Definition: musiccache.cpp:18
const char * TrackToken
Definition: pandoratypes.cpp:28
Pandora source, player and related datatype specializations.
Definition: pandora.h:32
const Rating ThumbsDown
Rating value for negative Pandora feedback.
Definition: pandoratypes.cpp:25
const Rating ThumbsUp
Rating value for positive Pandora feedback.
Definition: pandoratypes.cpp:26
std::string pandora_to_music_id(const std::string &musicId)
Rating
Discrete ratings values.
Definition: ratings.h:24
@ UNRATED
Unrated/no rating found, 0 enum.
RatingScheme
Rules of who may rate an object.
Definition: ratings.h:17
Smart pointers for music thingie types.