Make hiding internet streams from normal playlists configurable
This commit is contained in:
parent
41f39ea5ca
commit
4850423118
|
@ -78,14 +78,21 @@ library {
|
|||
# (changing this setting only takes effect after rescan, see the README)
|
||||
compilation_artist = "Various artists"
|
||||
|
||||
# There are 5 default playlists: "Library", "Music", "Movies", "TV Shows"
|
||||
# and "Podcasts". Here you can change the names of these playlists.
|
||||
# Internet streams in your playlists will by default be shown in the
|
||||
# "Radio" library, like iTunes does. However, some clients (like
|
||||
# TunesRemote+) won't show the "Radio" library. If you would also like
|
||||
# to have them shown like normal playlists, you can enable this option.
|
||||
# radio_playlists = false
|
||||
|
||||
# These are the default playlists. If you want them to have other names,
|
||||
# you can set it here.
|
||||
# name_library = "Library"
|
||||
# name_music = "Music"
|
||||
# name_movies = "Movies"
|
||||
# name_tvshows = "TV Shows"
|
||||
# name_podcasts = "Podcasts"
|
||||
# name_audiobooks = "Audiobooks"
|
||||
# name_radio = "Radio"
|
||||
|
||||
# Artwork file names (without file type extension)
|
||||
# forked-daapd will look for jpg and png files with these base names
|
||||
|
|
|
@ -69,12 +69,14 @@ static cfg_opt_t sec_library[] =
|
|||
CFG_STR_LIST("audiobooks", NULL, CFGF_NONE),
|
||||
CFG_STR_LIST("compilations", NULL, CFGF_NONE),
|
||||
CFG_STR("compilation_artist", NULL, CFGF_NONE),
|
||||
CFG_BOOL("radio_playlists", cfg_false, CFGF_NONE),
|
||||
CFG_STR("name_library", "Library", CFGF_NONE),
|
||||
CFG_STR("name_music", "Music", CFGF_NONE),
|
||||
CFG_STR("name_movies", "Movies", CFGF_NONE),
|
||||
CFG_STR("name_tvshows", "TV Shows", CFGF_NONE),
|
||||
CFG_STR("name_podcasts", "Podcasts", CFGF_NONE),
|
||||
CFG_STR("name_audiobooks", "Audiobooks", CFGF_NONE),
|
||||
CFG_STR("name_radio", "Radio", CFGF_NONE),
|
||||
CFG_STR_LIST("artwork_basenames", "{artwork,cover,Folder}", CFGF_NONE),
|
||||
CFG_BOOL("artwork_individual", cfg_false, CFGF_NONE),
|
||||
CFG_STR_LIST("filetypes_ignore", "{.db,.ini,.db-journal,.pdf}", CFGF_NONE),
|
||||
|
|
|
@ -69,6 +69,7 @@ extern struct event_base *evbase_httpd;
|
|||
/* Update requests refresh interval in seconds */
|
||||
#define DAAP_UPDATE_REFRESH 0
|
||||
|
||||
/* Database number for the Radio item */
|
||||
#define DAAP_DB_RADIO 2
|
||||
|
||||
struct uri_map {
|
||||
|
@ -1128,6 +1129,7 @@ daap_reply_dblist(struct evhttp_request *req, struct evbuffer *evbuf, char **uri
|
|||
struct daap_session *s;
|
||||
cfg_t *lib;
|
||||
char *name;
|
||||
char *name_radio;
|
||||
int count;
|
||||
|
||||
s = daap_session_find(req, query, evbuf);
|
||||
|
@ -1136,6 +1138,7 @@ daap_reply_dblist(struct evhttp_request *req, struct evbuffer *evbuf, char **uri
|
|||
|
||||
lib = cfg_getsec(cfg, "library");
|
||||
name = cfg_getstr(lib, "name");
|
||||
name_radio = cfg_getstr(lib, "name_radio");
|
||||
|
||||
content = evbuffer_new();
|
||||
if (!content)
|
||||
|
@ -1187,7 +1190,7 @@ daap_reply_dblist(struct evhttp_request *req, struct evbuffer *evbuf, char **uri
|
|||
dmap_add_long(item, "mper", DAAP_DB_RADIO);
|
||||
dmap_add_int(item, "mdbk", 0x64);
|
||||
dmap_add_int(item, "aeCs", 0);
|
||||
dmap_add_string(item, "minm", "Radio");
|
||||
dmap_add_string(item, "minm", name_radio);
|
||||
count = db_pl_get_count(); // TODO This counts too much, should only include stream playlists
|
||||
dmap_add_int(item, "mimc", count);
|
||||
dmap_add_int(item, "mctc", 0);
|
||||
|
@ -1545,12 +1548,14 @@ daap_reply_playlists(struct evhttp_request *req, struct evbuffer *evbuf, char **
|
|||
struct daap_session *s;
|
||||
struct evbuffer *playlistlist;
|
||||
struct evbuffer *playlist;
|
||||
cfg_t *lib;
|
||||
const struct dmap_field_map *dfm;
|
||||
const struct dmap_field *df;
|
||||
const struct dmap_field **meta;
|
||||
const char *param;
|
||||
char **strval;
|
||||
int database;
|
||||
int cfg_radiopl;
|
||||
int nmeta;
|
||||
int npls;
|
||||
int32_t plid;
|
||||
|
@ -1573,6 +1578,9 @@ daap_reply_playlists(struct evhttp_request *req, struct evbuffer *evbuf, char **
|
|||
return -1;
|
||||
}
|
||||
|
||||
lib = cfg_getsec(cfg, "library");
|
||||
cfg_radiopl = cfg_getbool(lib, "radio_playlists");
|
||||
|
||||
ret = evbuffer_expand(evbuf, 61);
|
||||
if (ret < 0)
|
||||
{
|
||||
|
@ -1674,7 +1682,7 @@ daap_reply_playlists(struct evhttp_request *req, struct evbuffer *evbuf, char **
|
|||
*/
|
||||
if ((database == DAAP_DB_RADIO) && (plstreams == 0))
|
||||
continue;
|
||||
if ((database != DAAP_DB_RADIO) && (plstreams > 0) && (plstreams == plitems))
|
||||
if (!cfg_radiopl && (database != DAAP_DB_RADIO) && (plstreams > 0) && (plstreams == plitems))
|
||||
continue;
|
||||
|
||||
/* Don't add empty Smart playlists */
|
||||
|
|
Loading…
Reference in New Issue