mirror of
https://github.com/SuperBFG7/ympd
synced 2025-07-03 18:43:01 +00:00
Feat: add AutoPlay setting
Feat: configurable backgroundcolor
This commit is contained in:
parent
377be765c3
commit
535595c7f8
@ -64,6 +64,7 @@ post_upgrade() {
|
|||||||
[ -f /var/lib/mympd/state/jukeboxMode ] || echo -n "0" > /var/lib/mympd/state/jukeboxMode
|
[ -f /var/lib/mympd/state/jukeboxMode ] || echo -n "0" > /var/lib/mympd/state/jukeboxMode
|
||||||
[ -f /var/lib/mympd/state/jukeboxPlaylist ] || echo -n "Database" > /var/lib/mympd/state/jukeboxPlaylist
|
[ -f /var/lib/mympd/state/jukeboxPlaylist ] || echo -n "Database" > /var/lib/mympd/state/jukeboxPlaylist
|
||||||
[ -f /var/lib/mympd/state/jukeboxQueueLength ] || echo -n "1" > /var/lib/mympd/state/jukeboxQueueLength
|
[ -f /var/lib/mympd/state/jukeboxQueueLength ] || echo -n "1" > /var/lib/mympd/state/jukeboxQueueLength
|
||||||
|
[ -f /var/lib/mympd/state/autoPlay ] || echo -n "false" > /var/lib/mympd/state/autoPlay
|
||||||
[ -f /var/lib/mympd/state/notificationPage ] || echo -n "true" > /var/lib/mympd/state/notificationPage
|
[ -f /var/lib/mympd/state/notificationPage ] || echo -n "true" > /var/lib/mympd/state/notificationPage
|
||||||
[ -f /var/lib/mympd/state/notificationWeb ] || echo -n "false" > /var/lib/mympd/state/notificationWeb
|
[ -f /var/lib/mympd/state/notificationWeb ] || echo -n "false" > /var/lib/mympd/state/notificationWeb
|
||||||
[ -f /var/lib/mympd/state/colsBrowseDatabase ] || echo -n '["Track","Title","Duration"]' > /var/lib/mympd/state/colsBrowseDatabase
|
[ -f /var/lib/mympd/state/colsBrowseDatabase ] || echo -n '["Track","Title","Duration"]' > /var/lib/mympd/state/colsBrowseDatabase
|
||||||
|
@ -79,6 +79,7 @@ done
|
|||||||
[ -f /var/lib/mympd/state/jukeboxMode ] || echo -n "0" > /var/lib/mympd/state/jukeboxMode
|
[ -f /var/lib/mympd/state/jukeboxMode ] || echo -n "0" > /var/lib/mympd/state/jukeboxMode
|
||||||
[ -f /var/lib/mympd/state/jukeboxPlaylist ] || echo -n "Database" > /var/lib/mympd/state/jukeboxPlaylist
|
[ -f /var/lib/mympd/state/jukeboxPlaylist ] || echo -n "Database" > /var/lib/mympd/state/jukeboxPlaylist
|
||||||
[ -f /var/lib/mympd/state/jukeboxQueueLength ] || echo -n "1" > /var/lib/mympd/state/jukeboxQueueLength
|
[ -f /var/lib/mympd/state/jukeboxQueueLength ] || echo -n "1" > /var/lib/mympd/state/jukeboxQueueLength
|
||||||
|
[ -f /var/lib/mympd/state/autoPlay ] || echo -n "false" > /var/lib/mympd/state/autoPlay
|
||||||
[ -f /var/lib/mympd/state/notificationPage ] || echo -n "true" > /var/lib/mympd/state/notificationPage
|
[ -f /var/lib/mympd/state/notificationPage ] || echo -n "true" > /var/lib/mympd/state/notificationPage
|
||||||
[ -f /var/lib/mympd/state/notificationWeb ] || echo -n "false" > /var/lib/mympd/state/notificationWeb
|
[ -f /var/lib/mympd/state/notificationWeb ] || echo -n "false" > /var/lib/mympd/state/notificationWeb
|
||||||
[ -f /var/lib/mympd/state/colsBrowseDatabase ] || echo -n '["Track","Title","Duration"]' > /var/lib/mympd/state/colsBrowseDatabase
|
[ -f /var/lib/mympd/state/colsBrowseDatabase ] || echo -n '["Track","Title","Duration"]' > /var/lib/mympd/state/colsBrowseDatabase
|
||||||
|
@ -72,3 +72,7 @@ max_elements_per_page = 100
|
|||||||
|
|
||||||
#Number of songs to keep in last played list
|
#Number of songs to keep in last played list
|
||||||
last_played_count = 20
|
last_played_count = 20
|
||||||
|
|
||||||
|
|
||||||
|
[theme]
|
||||||
|
backgroundcolor: #888
|
||||||
|
1
debian/postinst
vendored
1
debian/postinst
vendored
@ -59,6 +59,7 @@ fi
|
|||||||
[ -f /var/lib/mympd/state/jukeboxMode ] || echo -n "0" > /var/lib/mympd/state/jukeboxMode
|
[ -f /var/lib/mympd/state/jukeboxMode ] || echo -n "0" > /var/lib/mympd/state/jukeboxMode
|
||||||
[ -f /var/lib/mympd/state/jukeboxPlaylist ] || echo -n "Database" > /var/lib/mympd/state/jukeboxPlaylist
|
[ -f /var/lib/mympd/state/jukeboxPlaylist ] || echo -n "Database" > /var/lib/mympd/state/jukeboxPlaylist
|
||||||
[ -f /var/lib/mympd/state/jukeboxQueueLength ] || echo -n "1" > /var/lib/mympd/state/jukeboxQueueLength
|
[ -f /var/lib/mympd/state/jukeboxQueueLength ] || echo -n "1" > /var/lib/mympd/state/jukeboxQueueLength
|
||||||
|
[ -f /var/lib/mympd/state/autoPlay ] || echo -n "false" > /var/lib/mympd/state/autoPlay
|
||||||
[ -f /var/lib/mympd/state/notificationPage ] || echo -n "true" > /var/lib/mympd/state/notificationPage
|
[ -f /var/lib/mympd/state/notificationPage ] || echo -n "true" > /var/lib/mympd/state/notificationPage
|
||||||
[ -f /var/lib/mympd/state/notificationWeb ] || echo -n "false" > /var/lib/mympd/state/notificationWeb
|
[ -f /var/lib/mympd/state/notificationWeb ] || echo -n "false" > /var/lib/mympd/state/notificationWeb
|
||||||
[ -f /var/lib/mympd/state/colsBrowseDatabase ] || echo -n '["Track","Title","Duration"]' > /var/lib/mympd/state/colsBrowseDatabase
|
[ -f /var/lib/mympd/state/colsBrowseDatabase ] || echo -n '["Track","Title","Duration"]' > /var/lib/mympd/state/colsBrowseDatabase
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
:root {
|
:root {
|
||||||
--mympd-coverimagesize: 240px;
|
--mympd-coverimagesize: 240px;
|
||||||
|
--mympd-bacgkroundcolor: #888;
|
||||||
}
|
}
|
||||||
|
|
||||||
html {
|
html {
|
||||||
@ -11,6 +12,7 @@ body {
|
|||||||
padding-top: 4rem;
|
padding-top: 4rem;
|
||||||
padding-bottom: 4rem;
|
padding-bottom: 4rem;
|
||||||
background-color: #888;
|
background-color: #888;
|
||||||
|
background-color: var(--mympd-backgroundcolor);
|
||||||
}
|
}
|
||||||
|
|
||||||
main {
|
main {
|
||||||
|
@ -903,6 +903,13 @@
|
|||||||
<div class="invalid-feedback">Must be a number.</div>
|
<div class="invalid-feedback">Must be a number.</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="form-group col-md-6" data-toggle="buttons">
|
||||||
|
<button data-href='{"cmd": "toggleBtn", "options": ["btnAutoPlay"]}' id="btnAutoPlay" type="button" class="btn btn-secondary btn-block" title="Start playing after first song is added to the queue">
|
||||||
|
AutoPlay
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<hr/>
|
<hr/>
|
||||||
<h4>Jukebox</h4>
|
<h4>Jukebox</h4>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
@ -281,7 +281,7 @@ function appRoute() {
|
|||||||
var breadcrumbItemsLen = breadcrumbItems.length;
|
var breadcrumbItemsLen = breadcrumbItems.length;
|
||||||
for (var i = 0; i < breadcrumbItemsLen; i++) {
|
for (var i = 0; i < breadcrumbItemsLen; i++) {
|
||||||
breadcrumbItems[i].addEventListener('click', function() {
|
breadcrumbItems[i].addEventListener('click', function() {
|
||||||
appGoto('Browse', 'Filesystem', undefined, '0/' + app.current.filter + '/' + this.getAttribute('data-uri'));
|
appGoto('Browse', 'Filesystem', undefined, '0/' + app.current.filter + '/' + app.current.sort + '/' + this.getAttribute('data-uri'));
|
||||||
}, false);
|
}, false);
|
||||||
}
|
}
|
||||||
doSetFilterLetter('BrowseFilesystemFilter');
|
doSetFilterLetter('BrowseFilesystemFilter');
|
||||||
@ -576,7 +576,7 @@ function appInit() {
|
|||||||
if (event.target.nodeName == 'TD') {
|
if (event.target.nodeName == 'TD') {
|
||||||
switch(event.target.parentNode.getAttribute('data-type')) {
|
switch(event.target.parentNode.getAttribute('data-type')) {
|
||||||
case 'dir':
|
case 'dir':
|
||||||
appGoto('Browse', 'Filesystem', undefined, '0/' + app.current.filter +'/' + decodeURI(event.target.parentNode.getAttribute("data-uri")));
|
appGoto('Browse', 'Filesystem', undefined, '0/' + app.current.filter + app.current.sort + '/' +'/' + decodeURI(event.target.parentNode.getAttribute("data-uri")));
|
||||||
break;
|
break;
|
||||||
case 'song':
|
case 'song':
|
||||||
appendQueue('song', decodeURI(event.target.parentNode.getAttribute("data-uri")), event.target.parentNode.getAttribute("data-name"));
|
appendQueue('song', decodeURI(event.target.parentNode.getAttribute("data-uri")), event.target.parentNode.getAttribute("data-name"));
|
||||||
@ -611,7 +611,7 @@ function appInit() {
|
|||||||
|
|
||||||
document.getElementById('BrowseDatabaseTagList').addEventListener('click', function(event) {
|
document.getElementById('BrowseDatabaseTagList').addEventListener('click', function(event) {
|
||||||
if (event.target.nodeName == 'TD') {
|
if (event.target.nodeName == 'TD') {
|
||||||
appGoto('Browse', 'Database', app.current.view, '0/-/' + event.target.parentNode.getAttribute('data-uri'));
|
appGoto('Browse', 'Database', app.current.view, '0/-/-/' + event.target.parentNode.getAttribute('data-uri'));
|
||||||
}
|
}
|
||||||
}, false);
|
}, false);
|
||||||
|
|
||||||
@ -671,12 +671,12 @@ function appInit() {
|
|||||||
if (event.key == 'Escape')
|
if (event.key == 'Escape')
|
||||||
this.blur();
|
this.blur();
|
||||||
else
|
else
|
||||||
appGoto(app.current.app, app.current.tab, app.current.view, '0/' + app.current.filter + '/' + this.value);
|
appGoto(app.current.app, app.current.tab, app.current.view, '0/' + app.current.filter + app.current.sort + '/' + '/' + this.value);
|
||||||
}, false);
|
}, false);
|
||||||
|
|
||||||
document.getElementById('searchqueuetags').addEventListener('click', function(event) {
|
document.getElementById('searchqueuetags').addEventListener('click', function(event) {
|
||||||
if (event.target.nodeName == 'BUTTON')
|
if (event.target.nodeName == 'BUTTON')
|
||||||
appGoto(app.current.app, app.current.tab, app.current.view, app.current.page + '/' + event.target.getAttribute('data-tag') + '/' + app.current.search);
|
appGoto(app.current.app, app.current.tab, app.current.view, app.current.page + '/' + event.target.getAttribute('data-tag') + app.current.sort + '/' + '/' + app.current.search);
|
||||||
}, false);
|
}, false);
|
||||||
|
|
||||||
var dropdowns = ['QueueCurrentColsDropdown', 'BrowseFilesystemColsDropdown', 'SearchColsDropdown', 'BrowsePlaylistsDetailColsDropdown',
|
var dropdowns = ['QueueCurrentColsDropdown', 'BrowseFilesystemColsDropdown', 'SearchColsDropdown', 'BrowsePlaylistsDetailColsDropdown',
|
||||||
@ -780,7 +780,7 @@ function appInit() {
|
|||||||
|
|
||||||
document.getElementById('BrowseDatabaseByTagDropdown').addEventListener('click', function(event) {
|
document.getElementById('BrowseDatabaseByTagDropdown').addEventListener('click', function(event) {
|
||||||
if (event.target.nodeName == 'BUTTON')
|
if (event.target.nodeName == 'BUTTON')
|
||||||
appGoto(app.current.app, app.current.tab, event.target.getAttribute('data-tag') , '0/' + app.current.filter + '/' + app.current.search);
|
appGoto(app.current.app, app.current.tab, event.target.getAttribute('data-tag') , '0/' + app.current.filter + app.current.sort + '/' + '/' + app.current.search);
|
||||||
}, false);
|
}, false);
|
||||||
|
|
||||||
document.getElementsByTagName('body')[0].addEventListener('click', function(event) {
|
document.getElementsByTagName('body')[0].addEventListener('click', function(event) {
|
||||||
@ -1211,6 +1211,7 @@ function parseSettings() {
|
|||||||
toggleBtn('btnConsume', settings.consume);
|
toggleBtn('btnConsume', settings.consume);
|
||||||
toggleBtn('btnSingle', settings.single);
|
toggleBtn('btnSingle', settings.single);
|
||||||
toggleBtn('btnRepeat', settings.repeat);
|
toggleBtn('btnRepeat', settings.repeat);
|
||||||
|
toggleBtn('btnAutoPlay', settings.autoPlay);
|
||||||
|
|
||||||
if (settings.crossfade != undefined) {
|
if (settings.crossfade != undefined) {
|
||||||
document.getElementById('inputCrossfade').removeAttribute('disabled');
|
document.getElementById('inputCrossfade').removeAttribute('disabled');
|
||||||
@ -1261,6 +1262,7 @@ function parseSettings() {
|
|||||||
var features = ["featStickers", "featSmartpls", "featPlaylists", "featTags", "featLocalplayer", "featSyscmds", "featCoverimage", "featAdvsearch"];
|
var features = ["featStickers", "featSmartpls", "featPlaylists", "featTags", "featLocalplayer", "featSyscmds", "featCoverimage", "featAdvsearch"];
|
||||||
|
|
||||||
document.documentElement.style.setProperty('--mympd-coverimagesize', settings.coverimagesize + "px");
|
document.documentElement.style.setProperty('--mympd-coverimagesize', settings.coverimagesize + "px");
|
||||||
|
document.documentElement.style.setProperty('--mympd-backgroundcolor', settings.backgroundcolor);
|
||||||
|
|
||||||
for (var j = 0; j < features.length; j++) {
|
for (var j = 0; j < features.length; j++) {
|
||||||
var Els = document.getElementsByClassName(features[j]);
|
var Els = document.getElementsByClassName(features[j]);
|
||||||
@ -2967,7 +2969,8 @@ function confirmSettings() {
|
|||||||
"notificationPage": (document.getElementById('btnnotifyPage').classList.contains('active') ? true : false),
|
"notificationPage": (document.getElementById('btnnotifyPage').classList.contains('active') ? true : false),
|
||||||
"jukeboxMode": selectJukeboxMode.options[selectJukeboxMode.selectedIndex].value,
|
"jukeboxMode": selectJukeboxMode.options[selectJukeboxMode.selectedIndex].value,
|
||||||
"jukeboxPlaylist": selectJukeboxPlaylist.options[selectJukeboxPlaylist.selectedIndex].value,
|
"jukeboxPlaylist": selectJukeboxPlaylist.options[selectJukeboxPlaylist.selectedIndex].value,
|
||||||
"jukeboxQueueLength": document.getElementById('inputJukeboxQueueLength').value
|
"jukeboxQueueLength": document.getElementById('inputJukeboxQueueLength').value,
|
||||||
|
"autoPlay": (document.getElementById('btnAutoPlay').classList.contains('active') ? true : false)
|
||||||
}}, getSettings);
|
}}, getSettings);
|
||||||
modalSettings.hide();
|
modalSettings.hide();
|
||||||
} else
|
} else
|
||||||
|
@ -184,6 +184,7 @@ typedef struct t_config {
|
|||||||
const char *streamurl;
|
const char *streamurl;
|
||||||
unsigned long last_played_count;
|
unsigned long last_played_count;
|
||||||
long loglevel;
|
long loglevel;
|
||||||
|
const char *backgroundcolor;
|
||||||
} t_config;
|
} t_config;
|
||||||
|
|
||||||
//global functions
|
//global functions
|
||||||
|
@ -134,6 +134,8 @@ static int inihandler(void *user, const char *section, const char *name, const c
|
|||||||
p_config->last_played_count = strtol(value, &crap, 10);
|
p_config->last_played_count = strtol(value, &crap, 10);
|
||||||
else if (MATCH("mympd", "loglevel"))
|
else if (MATCH("mympd", "loglevel"))
|
||||||
p_config->loglevel = strtol(value, &crap, 10);
|
p_config->loglevel = strtol(value, &crap, 10);
|
||||||
|
else if (MATCH("theme", "backgroundcolor"))
|
||||||
|
p_config->backgroundcolor = strdup(value);
|
||||||
else {
|
else {
|
||||||
printf("Unkown config option: %s - %s\n", section, name);
|
printf("Unkown config option: %s - %s\n", section, name);
|
||||||
return 0; /* unknown section/name, error */
|
return 0; /* unknown section/name, error */
|
||||||
@ -182,6 +184,7 @@ int main(int argc, char **argv) {
|
|||||||
config.syscmds = false;
|
config.syscmds = false;
|
||||||
config.localplayer = true;
|
config.localplayer = true;
|
||||||
config.loglevel = 1;
|
config.loglevel = 1;
|
||||||
|
config.backgroundcolor = "#888";
|
||||||
|
|
||||||
if (argc == 2) {
|
if (argc == 2) {
|
||||||
printf("Starting myMPD %s\n", MYMPD_VERSION);
|
printf("Starting myMPD %s\n", MYMPD_VERSION);
|
||||||
|
@ -107,6 +107,7 @@ typedef struct t_mpd_state {
|
|||||||
enum jukebox_modes jukeboxMode;
|
enum jukebox_modes jukeboxMode;
|
||||||
const char *jukeboxPlaylist;
|
const char *jukeboxPlaylist;
|
||||||
int jukeboxQueueLength;
|
int jukeboxQueueLength;
|
||||||
|
bool autoPlay;
|
||||||
|
|
||||||
//taglists
|
//taglists
|
||||||
struct list mpd_tags;
|
struct list mpd_tags;
|
||||||
@ -255,6 +256,7 @@ static void mpd_client_api(t_config *config, t_mpd_state *mpd_state, void *arg_r
|
|||||||
je = json_scanf(request->data, request->length, "{data: {jukeboxMode: %d}}", &mpd_state->jukeboxMode);
|
je = json_scanf(request->data, request->length, "{data: {jukeboxMode: %d}}", &mpd_state->jukeboxMode);
|
||||||
je = json_scanf(request->data, request->length, "{data: {jukeboxPlaylist: %Q}}", &mpd_state->jukeboxPlaylist);
|
je = json_scanf(request->data, request->length, "{data: {jukeboxPlaylist: %Q}}", &mpd_state->jukeboxPlaylist);
|
||||||
je = json_scanf(request->data, request->length, "{data: {jukeboxQueueLength: %d}}", &mpd_state->jukeboxQueueLength);
|
je = json_scanf(request->data, request->length, "{data: {jukeboxQueueLength: %d}}", &mpd_state->jukeboxQueueLength);
|
||||||
|
je = json_scanf(request->data, request->length, "{data: {autoPlay: %B}}", &mpd_state->autoPlay);
|
||||||
//set mpd options
|
//set mpd options
|
||||||
je = json_scanf(request->data, request->length, "{data: {random: %u}}", &uint_buf1);
|
je = json_scanf(request->data, request->length, "{data: {random: %u}}", &uint_buf1);
|
||||||
if (je == 1) {
|
if (je == 1) {
|
||||||
@ -929,8 +931,14 @@ static void mpd_client_parse_idle(t_config *config, t_mpd_state *mpd_state, int
|
|||||||
break;
|
break;
|
||||||
case MPD_IDLE_QUEUE:
|
case MPD_IDLE_QUEUE:
|
||||||
len = snprintf(buffer, MAX_SIZE, "{\"type\": \"update_queue\"}");
|
len = snprintf(buffer, MAX_SIZE, "{\"type\": \"update_queue\"}");
|
||||||
|
//jukebox enabled
|
||||||
if (mpd_state->jukeboxMode != JUKEBOX_OFF)
|
if (mpd_state->jukeboxMode != JUKEBOX_OFF)
|
||||||
mpd_client_jukebox(config, mpd_state);
|
mpd_client_jukebox(config, mpd_state);
|
||||||
|
//autoPlay enabled
|
||||||
|
if (mpd_state->autoPlay == true) {
|
||||||
|
LOG_VERBOSE() printf("AutoPlay enabled, start playing");
|
||||||
|
mpd_run_play(mpd_state->conn);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case MPD_IDLE_PLAYER:
|
case MPD_IDLE_PLAYER:
|
||||||
len = mpd_client_put_state(mpd_state, buffer);
|
len = mpd_client_put_state(mpd_state, buffer);
|
||||||
|
@ -50,6 +50,8 @@ typedef struct t_mympd_state {
|
|||||||
char *jukeboxPlaylist;
|
char *jukeboxPlaylist;
|
||||||
int jukeboxQueueLength;
|
int jukeboxQueueLength;
|
||||||
|
|
||||||
|
bool autoPlay;
|
||||||
|
|
||||||
//columns
|
//columns
|
||||||
char *colsQueueCurrent;
|
char *colsQueueCurrent;
|
||||||
char *colsSearch;
|
char *colsSearch;
|
||||||
@ -187,6 +189,11 @@ static void mympd_api(t_config *config, t_mympd_state *mympd_state, t_work_reque
|
|||||||
if (!state_file_write(config, "notificationPage", (mympd_state->notificationPage == true ? "true" : "false")))
|
if (!state_file_write(config, "notificationPage", (mympd_state->notificationPage == true ? "true" : "false")))
|
||||||
len = snprintf(buffer, MAX_SIZE, "{\"type\": \"error\", \"data\": \"Can't set state notificationPage.\"}");
|
len = snprintf(buffer, MAX_SIZE, "{\"type\": \"error\", \"data\": \"Can't set state notificationPage.\"}");
|
||||||
}
|
}
|
||||||
|
je = json_scanf(request->data, request->length, "{data: {autoPlay: %B}}", &mympd_state->autoPlay);
|
||||||
|
if (je == 1) {
|
||||||
|
if (!state_file_write(config, "autoPlay", (mympd_state->autoPlay == true ? "true" : "false")))
|
||||||
|
len = snprintf(buffer, MAX_SIZE, "{\"type\": \"error\", \"data\": \"Can't set state autoPlay.\"}");
|
||||||
|
}
|
||||||
je = json_scanf(request->data, request->length, "{data: {jukeboxMode: %d}}", &mympd_state->jukeboxMode);
|
je = json_scanf(request->data, request->length, "{data: {jukeboxMode: %d}}", &mympd_state->jukeboxMode);
|
||||||
if (je == 1) {
|
if (je == 1) {
|
||||||
snprintf(p_char, 4, "%d", mympd_state->jukeboxMode);
|
snprintf(p_char, 4, "%d", mympd_state->jukeboxMode);
|
||||||
@ -335,6 +342,17 @@ static void mympd_api_read_statefiles(t_config *config, t_mympd_state *mympd_sta
|
|||||||
state_file_write(config, "notificationPage", "true");
|
state_file_write(config, "notificationPage", "true");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (state_file_read(config, "autoPlay", value)) {
|
||||||
|
if (strcmp(value, "true") == 0)
|
||||||
|
mympd_state->autoPlay = true;
|
||||||
|
else
|
||||||
|
mympd_state->autoPlay = false;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
mympd_state->autoPlay = false;
|
||||||
|
state_file_write(config, "autoPlay", "false");
|
||||||
|
}
|
||||||
|
|
||||||
if (state_file_read(config, "jukeboxMode", value))
|
if (state_file_read(config, "jukeboxMode", value))
|
||||||
mympd_state->jukeboxMode = strtol(value, &crap, 10);
|
mympd_state->jukeboxMode = strtol(value, &crap, 10);
|
||||||
else {
|
else {
|
||||||
@ -413,7 +431,8 @@ static int mympd_api_put_settings(t_config *config, t_mympd_state *mympd_state,
|
|||||||
|
|
||||||
len = json_printf(&out, "{type: mympdSettings, data: {mpdhost: %Q, mpdport: %d, passwort_set: %B, featSyscmds: %B, "
|
len = json_printf(&out, "{type: mympdSettings, data: {mpdhost: %Q, mpdport: %d, passwort_set: %B, featSyscmds: %B, "
|
||||||
"featLocalplayer: %B, streamport: %d, streamurl: %Q, featCoverimage: %B, coverimagename: %Q, coverimagesize: %d, featMixramp: %B, "
|
"featLocalplayer: %B, streamport: %d, streamurl: %Q, featCoverimage: %B, coverimagename: %Q, coverimagesize: %d, featMixramp: %B, "
|
||||||
"maxElementsPerPage: %d, notificationWeb: %B, notificationPage: %B, jukeboxMode: %d, jukeboxPlaylist: %Q, jukeboxQueueLength: %d",
|
"maxElementsPerPage: %d, notificationWeb: %B, notificationPage: %B, jukeboxMode: %d, jukeboxPlaylist: %Q, jukeboxQueueLength: %d, "
|
||||||
|
"autoPlay: %B, backgroundcolor: %Q",
|
||||||
config->mpdhost,
|
config->mpdhost,
|
||||||
config->mpdport,
|
config->mpdport,
|
||||||
config->mpdpass ? "true" : "false",
|
config->mpdpass ? "true" : "false",
|
||||||
@ -430,7 +449,9 @@ static int mympd_api_put_settings(t_config *config, t_mympd_state *mympd_state,
|
|||||||
mympd_state->notificationPage,
|
mympd_state->notificationPage,
|
||||||
mympd_state->jukeboxMode,
|
mympd_state->jukeboxMode,
|
||||||
mympd_state->jukeboxPlaylist,
|
mympd_state->jukeboxPlaylist,
|
||||||
mympd_state->jukeboxQueueLength
|
mympd_state->jukeboxQueueLength,
|
||||||
|
mympd_state->autoPlay,
|
||||||
|
config->backgroundcolor
|
||||||
);
|
);
|
||||||
|
|
||||||
if (config->syscmds == true) {
|
if (config->syscmds == true) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user