Commit 2fb40fe7 authored by Max Kellermann's avatar Max Kellermann

playlist_state: add option "restore_paused"

When set, MPD will not auto-start playback on startup; it will be in "paused" state.
parent b57330cf
...@@ -10,6 +10,7 @@ ver 0.17 (2011/??/??) ...@@ -10,6 +10,7 @@ ver 0.17 (2011/??/??)
- osx: allow user to specify other audio devices - osx: allow user to specify other audio devices
- raop: new output plugin - raop: new output plugin
- shout: add possibility to set url - shout: add possibility to set url
* state_file: add option "restore_paused"
ver 0.16.1 (2011/01/09) ver 0.16.1 (2011/01/09)
......
...@@ -69,6 +69,9 @@ mpd will be saved to this file when mpd is terminated by a TERM signal or by ...@@ -69,6 +69,9 @@ mpd will be saved to this file when mpd is terminated by a TERM signal or by
the "kill" command. When mpd is restarted, it will read the state file and the "kill" command. When mpd is restarted, it will read the state file and
restore the state of mpd (including the playlist). restore the state of mpd (including the playlist).
.TP .TP
.B restore_paused <yes or no>
Put MPD into pause mode instead of starting playback after startup.
.TP
.B user <username> .B user <username>
This specifies the user that MPD will run as, if set. MPD should This specifies the user that MPD will run as, if set. MPD should
never run as root, and you may use this option to make MPD change its never run as root, and you may use this option to make MPD change its
......
...@@ -103,6 +103,11 @@ ...@@ -103,6 +103,11 @@
# #
#gapless_mp3_playback "yes" #gapless_mp3_playback "yes"
# #
# Setting "restore_paused" to "yes" puts MPD into pause mode instead
# of starting playback after startup.
#
#restore_paused "no"
#
# This setting enables MPD to create playlists in a format usable by other # This setting enables MPD to create playlists in a format usable by other
# music players. # music players.
# #
......
...@@ -59,6 +59,7 @@ static struct config_entry config_entries[] = { ...@@ -59,6 +59,7 @@ static struct config_entry config_entries[] = {
{ .name = CONF_LOG_FILE, false, false }, { .name = CONF_LOG_FILE, false, false },
{ .name = CONF_PID_FILE, false, false }, { .name = CONF_PID_FILE, false, false },
{ .name = CONF_STATE_FILE, false, false }, { .name = CONF_STATE_FILE, false, false },
{ .name = "restore_paused", false, false },
{ .name = CONF_USER, false, false }, { .name = CONF_USER, false, false },
{ .name = CONF_GROUP, false, false }, { .name = CONF_GROUP, false, false },
{ .name = CONF_BIND_TO_ADDRESS, true, false }, { .name = CONF_BIND_TO_ADDRESS, true, false },
......
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
#include "queue_save.h" #include "queue_save.h"
#include "path.h" #include "path.h"
#include "text_file.h" #include "text_file.h"
#include "conf.h"
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>
...@@ -196,6 +197,13 @@ playlist_state_restore(const char *line, FILE *fp, GString *buffer, ...@@ -196,6 +197,13 @@ playlist_state_restore(const char *line, FILE *fp, GString *buffer,
if (!queue_valid_position(&playlist->queue, current)) if (!queue_valid_position(&playlist->queue, current))
current = 0; current = 0;
if (state == PLAYER_STATE_PLAY &&
config_get_bool("restore_paused", false))
/* the user doesn't want MPD to auto-start
playback after startup; fall back to
"pause" */
state = PLAYER_STATE_PAUSE;
/* enable all devices for the first time; this must be /* enable all devices for the first time; this must be
called here, after the audio output states were called here, after the audio output states were
restored, before playback begins */ restored, before playback begins */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment