dotfiles/org/config/mpd.org
Lucien Cartier-Tilet 6a73bdb74e
[Bin] Remove Elisp dependencies in code generation
Remove dependency on dash.el and s.el in code generation
2021-10-23 20:25:21 +02:00

4.9 KiB
Raw Blame History

MPD Configuration

Introduction

As its name indicates, the Music Player Daemon — or MPD for short — is a daemon that manages music files on a computer and plays them. It can be manipulated by various front-end applications, such as the command-line utility mpc, TUI ncmpcpp, or GUI cantata. In my case, I use mainly ncmpcpp and Emacs EMMS.

On my computer, MPD runs as a user daemon, as seen in my bootstrap file here.

Required Parameters

MPD requires a few compulsory parameters that we will see below.

Parameter name Value Comment
follow_outside_symlinks yes Whether to follow symlinks pointing outside the music directory
follow_inside_symlinks yes Whether to follow symlinks pointing inside the music directory
db_file ~/.config/mpd/database Location of MPDs database
sticker_file ~/.config/mpd/sticker.sql Location of the sticker database (dynamic information attached to songs)
log_file ~/.config/mpd/log Location of MPDs log file
follow_outside_symlinks "yes"
follow_inside_symlinks "yes"
db_file "~/.config/mpd/database"
sticker_file "~/.config/mpd/sticker.sql"
log_file "~/.config/mpd/log"

Optional Parameters

While these values are not strictly necessary, some are still extremely useful such as music_directory so we dont have to manually add our music to MPD each time we run it.

Parameter Value Comment
music_directory ~/Music Location of the music directory
playlist_directory ~/Music/playlists Location of MPD playlists
pid_file ~/.config/mpd/pid Location of MPDs PID
state_file ~/.config/mpd/state File where the state of MPD is saved when killed
bind_to_address localhost Limit MPD to the localhost address
auto_update yes No need to manually update MPDs database with mpc update
<<mpd-gen-values(table=mpd-optional-parameters)>>

Audio outputs

Two audio outputs will be defined. The first one is dedicated to Pulseaudio so I can actually hear my music. Its configuration is simple, really.

audio_output {
  type  "pulse"
  name  "pulse audio"
}

Another one is created, but this time for the visualizer of ncmpcpp. It is not necessary to create this one if you dont plan on using this feature.

audio_output {
  type "fifo"
  name "my_fifo"
  path "/tmp/mpd.fifo"
  format "44100:16:2"
}