pianod2
multisource multiuser scriptable networked music player
musiclibraryparameters.h
Go to the documentation of this file.
1 
9 #pragma once
10 
11 #include <config.h>
12 
14 
15 #include "mediaparameters.h"
16 #include "musiclibrary.h"
17 
18 #define KEY_RESCAN_BEHAVIOR "rescanInterval"
19 
20 namespace MusicLibrary {
21  enum class ScanFrequency {
22  NEVER,
25  DAILY
26  };
27 
29 
31  public:
35 
38  virtual bool persist (UserData::JSONData &dest) const override;
39  void extractOptions (const Parsnip::Data &options);
41  private:
42  void extract (const Parsnip::Data &options);
43  };
44 
45 } // namespace MusicLibrary
Class to map between enumerations and their text values.
Definition: lookup.h:30
Source parameter manager.
Definition: mediaparameters.h:39
Definition: musiclibraryparameters.h:30
ScanFrequency scan_frequency
Definition: musiclibraryparameters.h:34
int rating_bias
Amount of bias to apply for user ratings.
Definition: musiclibraryparameters.h:33
LibraryParameters(Ownership::Type perm, User *user)
Definition: musiclibraryparameters.cpp:48
virtual bool persist(UserData::JSONData &dest) const override
Definition: musiclibraryparameters.cpp:58
void extract(const Parsnip::Data &options)
Definition: musiclibraryparameters.cpp:70
int recent_bias
Amount of bias to apply for time since last play.
Definition: musiclibraryparameters.h:32
static Parsnip::OptionParser::Definitions parser_definitions()
Definition: musiclibraryparameters.cpp:36
void extractOptions(const Parsnip::Data &options)
Definition: musiclibraryparameters.cpp:65
Type
Access levels for an object.
Definition: fundamentals.h:355
Generic data type.
Definition: parsnip.h:81
std::vector< const char * > Definitions
Definition: parsnip_command.h:90
Store key-value pairs of string keys & mixed types using Parsnip::Data.
Definition: datastore.h:76
Data about each user.
Definition: user.h:53
Class for source parameters and their parsing.
PlayList / Artist / Album / Song types that are interbred to form a library.
Memory-based index/database of music library contents.
Definition: musiclibrary.cpp:37
static const int BIAS_NEUTRAL
Neutral biasing factor for choosing songs.
Definition: musiclibrary.h:34
ScanFrequency
Definition: musiclibraryparameters.h:21
const LookupTable< MusicLibrary::ScanFrequency > RescanModes({ {"never", ScanFrequency::NEXTSTARTUP}, {"once", ScanFrequency::NEXTSTARTUP}, {"always", ScanFrequency::EVERYSTARTUP}, {"periodically", ScanFrequency::DAILY} })
Definition: musiclibraryparameters.h:28
Parsnip command-line parsing.