Skip to content
project-owner edited this page May 9, 2017 · 17 revisions

Installation

For Linux platform (e.g. Raspbian) the following command installs 'mpd' player in folder /usr/bin

sudo apt-get install mpd

For debugging and updating 'mpd' dictionary it's recommended to install 'mpc' as well. This is a command line client for 'mpd'. To install 'mpc' run this command:

sudo apt-get install mpc

Configuration

Set 'mpd' mixer type to 'software' to control volume from Peppy UI. For that uncomment the line with mixer_type in file /etc/mpd.conf:

audio_output {
        type            "alsa"
        name            "My ALSA Device"
#       device          "hw:0,0"        # optional
        mixer_type      "software"      # optional
#       mixer_device    "default"       # optional
#       mixer_control   "PCM"           # optional
#       mixer_index     "0"             # optional

After installing 'mpd' it's automatically configured as a service and it will start every time the Raspberry Pi starts. In order to have full control on 'mpd' player it's better to stop 'mpd' service and disable it from starting upon system startup

sudo service mpd stop
sudo update-rc.d mpd disable

The following example shows parameters which should be added to the audio section of the config.txt file in order to use mpd on Linux platform:

[audio]
server.folder = /usr/bin
server.command = mpd
client.name = mpdsocket
music.folder = /music

The following example shows parameters which should be added to the audio section of the config.txt file in order to use mpd on Windows platform:

[audio]
server.folder = C:\mpd-0.17.4-win32\bin
server.command = mpd mpd.conf
client.name = mpdsocket
music.folder = C:\music

Usage

To use file playback functionality with 'mpd' the property music.folder in config.txt should be set to the same value as property music_directory in mpd.conf file.

Peppy player doesn't update mpd's dictionary. Therefore don't forget to run command 'mpc update' whenever new folder/file was added to the music directory.

Communication

The communication with 'mpd' player includes commands which UI sends to the player and notifications which player sends back to UI. The following diagram shows how this communication was implemented:

mpd-client

<<Previous | Next>>

Contents

Clone this wiki locally