@debian:~$ apt-cache policy mpd
mpd:
Installé : 0.13.0-2
Candidat : 0.13.0-2
Table de version :
*** 0.13.0-2 0
500 http://ftp2.fr.debian.org testing/main Packages
100 /var/lib/dpkg/status
[code]@debian:~$ cat /etc/init.d/mpd
#!/bin/sh -e
if [ -n “$MPD_DEBUG” ]; then
set -x
MPD_OPTS=–verbose
fi
umask 0022
PATH=/sbin:/bin:/usr/sbin:/usr/bin
NAME=mpd
DESC="Music Player Daemon"
DAEMON=/usr/bin/mpd
MPDCONF=/etc/mpd.conf
START_MPD=true
Exit if the package is not installed
[ -x “$DAEMON” ] || exit 0
Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
PIDFILE=$(sed -n ‘s/^[[:space:]]pid_file[[:space:]]"?([^"])"?/\1/p’ $MPDCONF)
DBFILE=$(sed -n 's/^[[:space:]]db_file[[:space:]]"?([^"])"?/\1/p’ $MPDCONF)
mpd_start () {
if [ “$START_MPD” != “true” ]; then
echo "Not starting MPD: disabled by /etc/default/mpd."
exit 0
fi
echo -n "Starting $DESC: "
if ! (grep -q db_file $MPDCONF && grep -q pid_file $MPDCONF); then
echo "$MPDCONF must have db_file and pid_file set; not starting."
exit 0
fi
PIDDIR=$(dirname "$PIDFILE")
if [ ! -d "$PIDDIR" ]; then
mkdir -m 0755 $PIDDIR
chown mpd:audio $PIDDIR
fi
if [ "$FORCE_CREATE_DB" -o ! -f "$DBFILE" ]; then
echo -n "creating $DBFILE... "
$DAEMON --create-db "$MPDCONF" > /dev/null 2>&1
fi
if start-stop-daemon --start --quiet --pidfile $PIDFILE \
--exec $DAEMON $MPD_OPTS "$MPDCONF"; then
echo "$NAME."
else
echo "failed."
fi
}
mpd_stop () {
echo -n "Stopping $DESC: "
if start-stop-daemon --stop --quiet --retry 5 --pidfile $PIDFILE
–exec $DAEMON; then
echo "$NAME."
else
echo "not running or no pid_file set."
fi
}
note to self: don’t call the non-standard args for this in
{post,pre}{inst,rm} scripts since users are not forced to upgrade
/etc/init.d/mpd when mpd is updated
case “$1” in
start)
mpd_start
;;
stop)
mpd_stop
;;
restart|reload)
mpd_stop
mpd_start
;;
force-start|start-create-db)
FORCE_CREATE_DB=1
mpd_start
;;
force-restart|force-reload)
FORCE_CREATE_DB=1
mpd_stop
mpd_start
;;
*)
echo "Usage: $0 {start|start-create-db|stop|restart|reload}"
exit 1
;;
esac
[/code]
@debian:~$ ls /etc | grep -i mpd
mpd.conf
[code]debian:~$ cat /etc/mpd.conf
An example configuration file for MPD
See the mpd.conf man page for a more detailed description of each parameter.
######################## REQUIRED PATHS ########################
You can put symlinks in here, if you like. Make sure that
the user that mpd runs as (see the ‘user’ config parameter)
can read the files in this directory.
music_directory "/var/lib/mpd/music"
playlist_directory "/var/lib/mpd/playlists"
db_file "/var/lib/mpd/tag_cache"
log_file "/var/log/mpd/mpd.log"
error_file "/var/log/mpd/errors.log"
pid_file “/var/run/mpd/pid”
################################################################
######################## OPTIONAL PATHS ########################
If specified, MPD will save its current state (playlist,
current song, playing/paused, etc.) at exit. This will be
used to restore the session the next time it is run.
state_file “/var/lib/mpd/state”
################################################################
######################## DAEMON OPTIONS ########################
If started as root, MPD will drop root privileges and run as
this user instead. Otherwise, MPD will run as the user it was
started by. If left unspecified, MPD will not drop root
privileges at all (not recommended).
user “mpd”
The address and port to listen on.
bind_to_address “localhost”
#port “6600”
Controls the amount of information that is logged. Can be
“default”, “secure”, or “verbose”.
#log_level “default”
################################################################
########################## PERMISSIONS #########################
MPD can require that users specify a password before using it.
You may specify one ore more here, along with what users who
log in with that password are allowed to do.
#password “password@read,add,control,admin”
Specifies what permissions a user who has not logged in with a
password has. By default, all users have full access to MPD
if no password is specified above, or no access if one or
more passwords are specified.
#default_permissions “read,add,control,admin”
################################################################
########################## AUDIO OUTPUT ########################
MPD supports many audio output types, as well as playing
through multiple audio outputs at the same time. You can
specify one or more here. If you don’t specify any, MPD will
automatically scan for a usable audio output.
for examples of other audio outputs.
An example of an ALSA output:
#audio_output {
type “alsa”
name “My ALSA Device”
device “hw:0,0” # optional
format “44100:16:2” # optional
#}
An example of an OSS output:
#audio_output {
type “oss”
name “My OSS Device”
device “/dev/dsp” # optional
format “44100:16:2” # optional
#}
An example of a shout output (for streaming to Icecast):
#audio_output {
type “shout”
name “My Shout Stream”
host “localhost”
port “8000”
mount “/mpd.ogg”
password “hackme”
quality “5.0”
bitrate “128”
format “44100:16:1”
user “source” # optional
description “My Stream Description” # optional
genre “jazz” # optional
public “no” # optional
#}
Force all decoded audio to be converted to this format before
being passed to the audio outputs.
#audio_output_format “44100:16:2”
################################################################
############################# MIXER ############################
MPD needs to know what mixer settings to change when you
adjust the volume. If you don’t specify one here, MPD will
pick one based on which ones it was compiled with support for.
An example for controlling an ALSA mixer:
mixer_type "alsa"
mixer_device "default"
mixer_control “Master”
An example for controlling an OSS mixer:
#mixer_type “oss”
#mixer_device “/dev/mixer”
#mixer_control “PCM”
If you want MPD to adjust the volume of audio sent to the
audio outputs, you can tell it to use the software mixer:
#mixer_type “software”
################################################################
######################### NORMALIZATION ########################
Specifies the type of ReplayGain to use. Can be “album” or
“track”. ReplayGain will not be used if not specified. See
#replaygain “album”
Sets the pre-amp used for files that have ReplayGain tags.
#replaygain_preamp “0”
Enable on the fly volume normalization. This will cause the
volume of all songs played to be adjusted so that they sound
as though they are of equal loudness.
#volume_normalization “no”
################################################################
########################### BUFFERING ##########################
The size of the buffer containing decoded audio. You probably
shouldn’t change this.
#audio_buffer_size “2048”
How much of the buffer to fill before beginning to play.
#buffer_before_play “0%”
Similar options for the HTTP stream buffer. If you hear
skipping while playing HTTP streams, you may wish to increase
these.
#http_buffer_size “128”
#http_prebuffer_size “25%”
################################################################
########################### HTTP PROXY #########################
Specifies the HTTP proxy to use for playing HTTP streams.
#http_proxy_host “proxy.isp.com”
#http_proxy_port “8080”
#http_proxy_user “user”
#http_proxy_password “password”
################################################################
############################# LIMITS ###########################
These are various limits to prevent MPD from using too many
resources. You should only change them if they start
restricting your usage of MPD.
#connection_timeout “60”
#max_connections “5”
#max_playlist_length “16384”
#max_command_list_size “2048”
#max_output_buffer_size “8192”
################################################################
###################### CHARACTER ENCODINGS #####################
If file or directory names do not display correctly, then you
may need to change this. In most cases it should be either
“ISO-8859-1” or “UTF-8”. You must recreate your database
after changing this (use mpd --create-db).
filesystem_charset “UTF-8”
The encoding that ID3v1 tags should be converted from.
id3v1_encoding “UTF-8”
################################################################
######################### OTHER OPTIONS ########################
The metadata types MPD will recognize.
#metadata_to_use “artist,album,title,track,name,genre,date,composer,performer,disc”
Enable this if you wish to use your MPD created playlists in
other music players.
#save_absolute_paths_in_playlists “no”
################################################################
[/code]
C’est la config par défaut, j’ai juste changé le mixer sur Master au lieu de PCM. Et créé des liens symboliques dans le repertoire où mpd va chercher la musique.
Là, j’ai arrêté d’utiliser l’applet MPD pour XFCE, et je n’ai pas constaté de problème de son depuis (le temps nous le dira).
J’avoue avoir omis de dire qu’il m’arrivait d’utiliser 2 clients MPD simultanément
[ce qu’il devrait pouvoir faire, mais si l’applet XFCE est buggeuse …]
Peux-tu confirmer que tu as toi aussi 3 processus mpd qui se lancent ?
@debian:~$ ps ax | grep mpd
2356 ? S 0:00 /usr/bin/mpd /etc/mpd.conf
2941 ? SL 0:06 /usr/bin/mpd /etc/mpd.conf
2942 ? S 0:07 /usr/bin/mpd /etc/mpd.conf
3077 pts/0 R+ 0:00 grep mpd