MPD

From Indie IT Wiki

Music Player Daemon

server = stores music files and runs daemon which plays and can stream

client = connects and controls and receives stream

HOWTO: Install

http://crunchbang.org/forums/viewtopic.php?pid=182574

HOWTO: Scrobble To Last FM

mpdscribble

mpdscribble is a daemon available in the AUR (if you prefer, mpdscribble-git is also available). This is arguably the best alternative, because it is the semi-official MPD scrobbler and uses the new "idle" feature in MPD for more accurate scrobbling. Also, you do not need root access to configure it, because it does not need any changes to /etc at all. Visit the official website for more information.

After you have installed mpdscribble, do the following (not as root):

mkdir ~/.mpdscribble

Create the file ~/.mpdscribble/mpdscribble.conf and add the following:

[mpdscribble]
host = your mpd host # optional, defaults to $MPD_HOST or localhost
port = your mpd port # optional, defaults to $MPD_PORT or 6600
log = /home/YOUR_USERNAME/.mpdscribble/mpdscribble.log
verbose = 2
sleep = 1
musicdir = your music directory
proxy = your proxy # optional, e. g. http://your.proxy:8080, defaults to none

[last.fm]
# last.fm section, comment if you do not use last.fm
url = http://post.audioscrobbler.com/
username = your last.fm username
password = your last.fm password
journal = /home/YOUR_USERNAME/.mpdscribble/lastfm.journal

[libre.fm]
# libre.fm section, comment if you do not use libre.fm
url = http://turtle.libre.fm/
username = your libre.fm username
password = your libre.fm password
journal = /home/YOUR_USERNAME/.mpdscribble/librefm.journal

Please note that passwords can also be written down as MD5:

echo -n 'PASSWORD' | md5sum | cut -f 1 -d " "

Add mpdscribble to the file in which you start mpd as well (e.g. ~/.xinitrc):

pidof mpdscribble >& /dev/null
if [ $? -ne 0 ]; then
 mpdscribble &
fi

HOWTO: Stream With Icecast Server

https://wiki.archlinux.org/index.php/Streaming_With_Icecast

HOWTO: Fix: error: playlist is at the max size

If you want to be able to play more than 16,384 songs then edit /etc/mpd.conf...

max_playlist_length <number>

Then restart the server and re-run the song update...

sudo service mpd restart
mpc update    (wait a few minutes)
mpc clear
mpc ls Music |mpc add

HOWTO: Separate Users

TO BE COMPLETED.

Yes, you can have different client users of MPD.

Create the ~/.mpdconf file, add the configuration lines, and make some folders, then start the MPD daemon as you...

.mpd
.mpd/state
.mpd/database
.mpd/pid
.mpd/log
.mpd/playlists
.mpd/playlists/classical.m3u
.mpdconf
mpd --no-daemon --verbose ~/.mpdconf

HOWTO: Remote To Local

Italic = remote
Bold = local

There are 2 ways to do this.

1. Use a dedicated music player on the local computer to play the stream directly from the remote MPD server, then use an MPD client on the local computer to control the songs from the remote MPD server.

e.g. using the VLC media player...

[MPD Server] --> http:8000 --> [VLC Client] = Audio
[MPD Server] --> tcp:6600 --> [MPD Client] = Control

2. Use an MPD server running on the local computer to add the stream from the remote MPD server, then use an MPD client on the local computer to control the songs from the local or remote MPD server!

[MPD Server] --> http:8000 --> [MPD Server] --> [VLC Client] = Audio
[MPD Server] --> tcp:6600 --> [MPD Client] = Control

Confusing? Yes. Nice? Yes :-)

1. Commands

root@mpd-server# service mpd start
user@mpd-server$ mpc clear; mpc ls Music/ |mpc add; mpc suffle; mpc play
user@mpd-client$ mpc -h 192.168.0.2 play
user@mpd-client$ cvlc http://192.168.0.2:8000
user@mpd-client$ MPD_HOST=192.168.0.2; MPD_PORT=6600; export MPD_HOST; export MPD_PORT; sonata

2. Commands

root@mpd-server# service mpd start
root@mpd-client# service mpd start
user@mpd-client$ mpc clear; mpc add http://192.168.0.2:8000; mpc play
user@mpd-client$ sonata

HOWTO: Minion Firefox Extension MPC Client

https://addons.mozilla.org/en-US/firefox/addon/music-player-minion/

To fix the Server not connected error...

Go to about:config page. Look for the value 'extensions.mpm.server'. If it does not exist, create a new one (right click -> string), with a value '192.168.1.2:6600:', where '192.168.1.2' is the ipaddress of YOUR mpd server.

HOWTO: Everyday Shuffle

mpc stop
mpc clear
mpc ls Music |mpc add
mpc shuffle
mpc play

HOWTO: Playlists

mpc stop
mpc clear
mpc update
mpc search artist 'In This Moment' |mpc add
mpc save inthismoment
mpc help
mpc lsplaylists
mpc load inthismoment
mpc play

HOWTO: Search, Add, Play

mpc stop
mpc clear
mpc findadd artist 'Nine Inch Nails'
mpc play
mpc stop
mpc clear
mpc findadd genre 'Jazz'
mpc shuffle
mpc play
mpc findadd album 'Innuendo' artist 'Queen'

Or there is a BASH script to do it...

http://mpd.wikia.com/wiki/Hack:mpdgrep

HOWTO: What Version and Features

mpd --version

Man Page

http://linux.die.net/man/1/mpc

MPD Clients ==

http://docs.mopidy.com/en/latest/clients/mpd/

Information

http://www.webupd8.org/2011/02/stream-music-to-your-android-device.html

https://www.google.co.uk/search?q=mpd+network&oq=mpd+network&aqs=chrome.0.57j0l3.6810j0&sourceid=chrome&ie=UTF-8#sclient=psy-ab&q=mpd+sound+network&oq=mpd+sound+network&gs_l=serp.3..0i8i30.9459.10345.0.11073.6.6.0.0.0.0.132.596.4j2.6.0...0.0.0..1c.1.15.psy-ab.0VGouxrViuE&pbx=1&bav=on.2,or.r_qf.&bvm=bv.47380653,d.Yms&fp=b82000916c9ab68d&biw=1237&bih=634

http://ubuntuforums.org/showthread.php?t=976020

https://www.google.co.uk/search?q=pulseaudio+over+network&oq=pulseaudio+over+&aqs=chrome.1.57j0l3.7369j0&sourceid=chrome&ie=UTF-8

https://wiki.archlinux.org/index.php/PulseAudio/Examples

http://mpd.wikia.com/wiki/PulseAudio