|
pianod2
multisource multiuser scriptable networked music player
|
Memory-based index/database of music library contents. More...
Classes | |
| class | Foundation |
| class | Playlist |
| A PianodPlaylist for music libraries. More... | |
| class | TransientPlaylist |
| class | Artist |
| A PianodArtist that contains a vector of albums. More... | |
| class | Album |
| A PianodAlbum that contains a vector of songs. More... | |
| class | Song |
| A PianodSong made of inbred data structures. More... | |
| class | ThingieContainer |
| Customized hash tables for music library. More... | |
| class | Allocator |
| class | Library |
| class | LibraryParameters |
| class | NameAggregator |
| Make a list of unique strings. More... | |
Typedefs | |
| using | BiasType = double |
Enumerations | |
| enum class | ScanFrequency { NEVER , NEXTSTARTUP , EVERYSTARTUP , DAILY } |
Functions | |
| static BiasType | compute_biases (const RetainedList< Song * > &candidates, std::vector< BiasType > &biases, const std::vector< UserData::Ratings * > &users_ratings, const std::vector< UserData::OverplayedList * > &overplay_ratings, const LibraryParameters &settings, const bool album_mode) |
| Calculate bias values for some songs. More... | |
| static RetainedList< Song * > | get_biased_selections (const RetainedList< Song * > &candidates, const std::vector< BiasType > &biases, const BiasType total_bias, const SongList::size_type requested_count) |
| Pick some songs from a biased list at random. More... | |
| static bool | isCompilationAlbum (const Parsnip::Data &album) |
| std::string | persistentId (MusicThingie::Type item_type, const std::string &key) |
| Use an item's type and a string key generate a id string. More... | |
Variables | |
| Allocator< Artist, Foundation > | artist_allocate |
| Allocator< Album, Artist > | album_allocate |
| Allocator< Song, Album > | song_allocate |
| Allocator< Playlist, Foundation > | playlist_allocate |
| static const int | BIAS_MINIMUM = 1 |
| static const int | BIAS_MAXIMUM = 100 |
| static const int | BIAS_NEUTRAL = 1 |
| Neutral biasing factor for choosing songs. More... | |
| const LookupTable< MusicLibrary::ScanFrequency > | RescanModes ({ {"never", ScanFrequency::NEXTSTARTUP}, {"once", ScanFrequency::NEXTSTARTUP}, {"always", ScanFrequency::EVERYSTARTUP}, {"periodically", ScanFrequency::DAILY} }) |
| static const std::string | noPlaylistName = "Bibliotheque" |
Memory-based index/database of music library contents.
Element and attribute keys for ratings.
| using MusicLibrary::BiasType = typedef double |
|
strong |
|
static |
Calculate bias values for some songs.
| candidates | The list of songs for which to compute biases. | |
| [out] | biases | On return, the computed biases. |
| users_ratings | Users' song ratings to consider. | |
| overplay_ratings | Users' overplay ratings to consider. | |
| settings | Library parameters, for biasing levels. | |
| album_mode | If true, compute/adjust probabilities for album selection, and avoid biasing in favor of albums with more tracks. |


|
static |
Pick some songs from a biased list at random.
n < total_bias.n.| candidates | The songs to pick from. |
| biases | The biases, in index locations matching candidates. |
| total_bias | The total range of bias from which to choose. |
| requested_count | The number of songs to pick. |
request_count ≅ candidates.size(). 
|
inlinestatic |


|
inline |
Use an item's type and a string key generate a id string.


| Allocator< Artist, Foundation > MusicLibrary::artist_allocate |
|
static |
|
static |
|
static |
Neutral biasing factor for choosing songs.
|
static |
| Allocator< Playlist, Foundation > MusicLibrary::playlist_allocate |
| const LookupTable< ScanFrequency > MusicLibrary::RescanModes | ( | { {"never", ScanFrequency::NEXTSTARTUP}, {"once", ScanFrequency::NEXTSTARTUP}, {"always", ScanFrequency::EVERYSTARTUP}, {"periodically", ScanFrequency::DAILY} } | ) |