Last active
January 9, 2024 03:02
-
-
Save floriandejonckheere/6bc78fbcf1bd833b67e5 to your computer and use it in GitHub Desktop.
MPD configuration files
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# An example configuration file for MPD. | |
# Read the user manual for documentation: http://www.musicpd.org/doc/user/ | |
# Files and directories ####################################################### | |
# | |
# This setting controls the top directory which MPD will search to discover the | |
# available audio files and add them to the daemon's online database. This | |
# setting defaults to the XDG directory, otherwise the music directory will be | |
# be disabled and audio files will only be accepted over ipc socket (using | |
# file:// protocol) or streaming files over an accepted protocol. | |
# | |
music_directory "/mnt/data/Music" | |
# | |
# This setting sets the MPD internal playlist directory. The purpose of this | |
# directory is storage for playlists created by MPD. The server will use | |
# playlist files not created by the server but only if they are in the MPD | |
# format. This setting defaults to playlist saving being disabled. | |
# | |
playlist_directory "~/.config/mpd/playlists" | |
# | |
# This setting sets the location of the MPD database. This file is used to | |
# load the database at server start up and store the database while the | |
# server is not up. This setting defaults to disabled which will allow | |
# MPD to accept files over ipc socket (using file:// protocol) or streaming | |
# files over an accepted protocol. | |
# | |
db_file "~/.config/mpd/database" | |
# | |
# These settings are the locations for the daemon log files for the daemon. | |
# These logs are great for troubleshooting, depending on your log_level | |
# settings. | |
# | |
# The special value "syslog" makes MPD use the local syslog daemon. This | |
# setting defaults to logging to syslog, otherwise logging is disabled. | |
# | |
log_file "~/.config/mpd/log" | |
# | |
# This setting sets the location of the file which stores the process ID | |
# for use of mpd --kill and some init scripts. This setting is disabled by | |
# default and the pid file will not be stored. | |
# | |
pid_file "~/.config/mpd/pid" | |
# | |
# This setting sets the location of the file which contains information about | |
# most variables to get MPD back into the same general shape it was in before | |
# it was brought down. This setting is disabled by default and the server | |
# state will be reset on server start up. | |
# | |
state_file "~/.config/mpd/state" | |
# | |
# The location of the sticker database. This is a database which | |
# manages dynamic information attached to songs. | |
# | |
sticker_file "~/.config/mpd/sticker.sql" | |
# | |
############################################################################### | |
# General music daemon options ################################################ | |
# | |
# This setting specifies the user that MPD will run as. MPD should never run as | |
# root and you may use this setting to make MPD change its user ID after | |
# initialization. This setting is disabled by default and MPD is run as the | |
# current user. | |
# | |
#user "nobody" | |
# | |
# This setting specifies the group that MPD will run as. If not specified | |
# primary group of user specified with "user" setting will be used (if set). | |
# This is useful if MPD needs to be a member of group such as "audio" to | |
# have permission to use sound card. | |
# | |
#group "nogroup" | |
# | |
# This setting sets the address for the daemon to listen on. Careful attention | |
# should be paid if this is assigned to anything other then the default, any. | |
# This setting can deny access to control of the daemon. | |
# | |
# For network | |
#bind_to_address "any" | |
# | |
# And for Unix Socket | |
#bind_to_address "~/.mpd/socket" | |
# | |
# This setting is the TCP port that is desired for the daemon to get assigned | |
# to. | |
# | |
#port "6600" | |
# | |
# This setting controls the type of information which is logged. Available | |
# setting arguments are "default", "secure" or "verbose". The "verbose" setting | |
# argument is recommended for troubleshooting, though can quickly stretch | |
# available resources on limited hardware storage. | |
# | |
#log_level "default" | |
# | |
# If you have a problem with your MP3s ending abruptly it is recommended that | |
# you set this argument to "no" to attempt to fix the problem. If this solves | |
# the problem, it is highly recommended to fix the MP3 files with vbrfix | |
# (available from <http://www.willwap.co.uk/Programs/vbrfix.php>), at which | |
# point gapless MP3 playback can be enabled. | |
# | |
gapless_mp3_playback "yes" | |
# | |
# Setting "restore_paused" to "yes" puts MPD into pause mode instead | |
# of starting playback after startup. | |
# | |
restore_paused "yes" | |
# | |
# This setting enables MPD to create playlists in a format usable by other | |
# music players. | |
# | |
#save_absolute_paths_in_playlists "no" | |
# | |
# This setting defines a list of tag types that will be extracted during the | |
# audio file discovery process. The complete list of possible values can be | |
# found in the mpd.conf man page. | |
#metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc" | |
# | |
# This setting enables automatic update of MPD's database when files in | |
# music_directory are changed. | |
# | |
auto_update "yes" | |
# | |
# Limit the depth of the directories being watched, 0 means only watch | |
# the music directory itself. There is no limit by default. | |
# | |
#auto_update_depth "3" | |
# | |
############################################################################### | |
# Symbolic link behavior ###################################################### | |
# | |
# If this setting is set to "yes", MPD will discover audio files by following | |
# symbolic links outside of the configured music_directory. | |
# | |
follow_outside_symlinks "yes" | |
# | |
# If this setting is set to "yes", MPD will discover audio files by following | |
# symbolic links inside of the configured music_directory. | |
# | |
follow_inside_symlinks "yes" | |
# | |
############################################################################### | |
# Zeroconf / Avahi Service Discovery ########################################## | |
# | |
# If this setting is set to "yes", service information will be published with | |
# Zeroconf / Avahi. | |
# | |
zeroconf_enabled "yes" | |
# | |
# The argument to this setting will be the Zeroconf / Avahi unique name for | |
# this MPD server on the network. | |
# | |
zeroconf_name "MPD Server" | |
# | |
############################################################################### | |
# Permissions ################################################################# | |
# | |
# If this setting is set, MPD will require password authorization. The password | |
# can setting can be specified multiple times for different password profiles. | |
# | |
password "MpD@read,add,control,admin" | |
# | |
# This setting specifies the permissions a user has who has not yet logged in. | |
# | |
#default_permissions "read,add,control,admin" | |
default_permissions "read" | |
# | |
############################################################################### | |
# Database ####################################################################### | |
# | |
#database { | |
# plugin "proxy" | |
# host "other.mpd.host" | |
# port "6600" | |
#} | |
# Input ####################################################################### | |
# | |
input { | |
plugin "curl" | |
# proxy "proxy.isp.com:8080" | |
# proxy_user "user" | |
# proxy_password "password" | |
} | |
# | |
############################################################################### | |
# Audio Output ################################################################ | |
# | |
# MPD supports various audio output types, as well as playing through multiple | |
# audio outputs at the same time, through multiple audio_output settings | |
# blocks. Setting this block is optional, though the server will only attempt | |
# autodetection for one sound card. | |
# | |
# An example of an ALSA output: | |
# | |
#audio_output { | |
# type "alsa" | |
# name "My ALSA Device" | |
## device "hw:0,0" # optional | |
## mixer_type "hardware" # optional | |
## mixer_device "default" # optional | |
## mixer_control "PCM" # optional | |
## mixer_index "0" # optional | |
#} | |
# | |
# An example of an OSS output: | |
# | |
#audio_output { | |
# type "oss" | |
# name "My OSS Device" | |
## device "/dev/dsp" # optional | |
## mixer_type "hardware" # optional | |
## mixer_device "/dev/mixer" # optional | |
## mixer_control "PCM" # optional | |
#} | |
# | |
# An example of a shout output (for streaming to Icecast): | |
# | |
#audio_output { | |
# type "shout" | |
# encoding "ogg" # optional | |
# name "My Shout Stream" | |
# host "localhost" | |
# port "8000" | |
# mount "/mpd.ogg" | |
# password "hackme" | |
# quality "5.0" | |
# bitrate "128" | |
# format "44100:16:1" | |
## protocol "icecast2" # optional | |
## user "source" # optional | |
## description "My Stream Description" # optional | |
## url "http://example.com" # optional | |
## genre "jazz" # optional | |
## public "no" # optional | |
## timeout "2" # optional | |
## mixer_type "software" # optional | |
#} | |
# | |
# An example of a recorder output: | |
# | |
#audio_output { | |
# type "recorder" | |
# name "My recorder" | |
# encoder "vorbis" # optional, vorbis or lame | |
# path "/var/lib/mpd/recorder/mpd.ogg" | |
## quality "5.0" # do not define if bitrate is defined | |
# bitrate "128" # do not define if quality is defined | |
# format "44100:16:1" | |
#} | |
# | |
# An example of a httpd output (built-in HTTP streaming server): | |
# | |
audio_output { | |
type "httpd" | |
name "HTTP Stream" | |
encoder "vorbis" # optional, vorbis or lame | |
port "8000" | |
# bind_to_address "0.0.0.0" # optional, IPv4 or IPv6 | |
## quality "5.0" # do not define if bitrate is defined | |
bitrate "320" # do not define if quality is defined | |
# format "44100:16:1" | |
# max_clients "0" # optional 0=no limit | |
} | |
# | |
# An example of a pulseaudio output (streaming to a remote pulseaudio server) | |
# | |
audio_output { | |
type "pulse" | |
name "PulseAudio Output" | |
## server "remote_server" # optional | |
## sink "remote_server_sink" # optional | |
} | |
# | |
# An example of a winmm output (Windows multimedia API). | |
# | |
#audio_output { | |
# type "winmm" | |
# name "My WinMM output" | |
## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional | |
# or | |
## device "0" # optional | |
## mixer_type "hardware" # optional | |
#} | |
# | |
# An example of an openal output. | |
# | |
#audio_output { | |
# type "openal" | |
# name "My OpenAL output" | |
## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional | |
#} | |
# | |
## Example "pipe" output: | |
# | |
#audio_output { | |
# type "pipe" | |
# name "my pipe" | |
# command "aplay -f cd 2>/dev/null" | |
## Or if you're want to use AudioCompress | |
# command "AudioCompress -m | aplay -f cd 2>/dev/null" | |
## Or to send raw PCM stream through PCM: | |
# command "nc example.org 8765" | |
# format "44100:16:2" | |
#} | |
# | |
## An example of a null output (for no audio output): | |
# | |
#audio_output { | |
# type "null" | |
# name "My Null Output" | |
# mixer_type "none" # optional | |
#} | |
# | |
audio_output { | |
type "fifo" | |
name "Visualizer feed" | |
path "/tmp/mpd.fifo" | |
format "44100:16:2" | |
} | |
# If MPD has been compiled with libsamplerate support, this setting specifies | |
# the sample rate converter to use. Possible values can be found in the | |
# mpd.conf man page or the libsamplerate documentation. By default, this is | |
# setting is disabled. | |
# | |
#samplerate_converter "Fastest Sinc Interpolator" | |
# | |
############################################################################### | |
# Normalization automatic volume adjustments ################################## | |
# | |
# This setting specifies the type of ReplayGain to use. This setting can have | |
# the argument "off", "album", "track" or "auto". "auto" is a special mode that | |
# chooses between "track" and "album" depending on the current state of | |
# random playback. If random playback is enabled then "track" mode is used. | |
# See <http://www.replaygain.org> for more details about ReplayGain. | |
# This setting is off by default. | |
# | |
#replaygain "album" | |
# | |
# This setting sets the pre-amp used for files that have ReplayGain tags. By | |
# default this setting is disabled. | |
# | |
#replaygain_preamp "0" | |
# | |
# This setting sets the pre-amp used for files that do NOT have ReplayGain tags. | |
# By default this setting is disabled. | |
# | |
#replaygain_missing_preamp "0" | |
# | |
# This setting enables or disables ReplayGain limiting. | |
# MPD calculates actual amplification based on the ReplayGain tags | |
# and replaygain_preamp / replaygain_missing_preamp setting. | |
# If replaygain_limit is enabled MPD will never amplify audio signal | |
# above its original level. If replaygain_limit is disabled such amplification | |
# might occur. By default this setting is enabled. | |
# | |
#replaygain_limit "yes" | |
# | |
# This setting enables on-the-fly normalization volume adjustment. This will | |
# result in the volume of all playing audio to be adjusted so the output has | |
# equal "loudness". This setting is disabled by default. | |
# | |
#volume_normalization "no" | |
# | |
############################################################################### | |
# MPD Internal Buffering ###################################################### | |
# | |
# This setting adjusts the size of internal decoded audio buffering. Changing | |
# this may have undesired effects. Don't change this if you don't know what you | |
# are doing. | |
# | |
#audio_buffer_size "4096" | |
# | |
# This setting controls the percentage of the buffer which is filled before | |
# beginning to play. Increasing this reduces the chance of audio file skipping, | |
# at the cost of increased time prior to audio playback. | |
# | |
#buffer_before_play "10%" | |
# | |
############################################################################### | |
# Resource Limitations ######################################################## | |
# | |
# These settings are various limitations to prevent MPD from using too many | |
# resources. Generally, these settings should be minimized to prevent security | |
# risks, depending on the operating resources. | |
# | |
#connection_timeout "60" | |
#max_connections "10" | |
#max_playlist_length "16384" | |
#max_command_list_size "2048" | |
#max_output_buffer_size "8192" | |
# | |
############################################################################### | |
# Character Encoding ########################################################## | |
# | |
# If file or directory names do not display correctly for your locale then you | |
# may need to modify this setting. | |
# | |
#filesystem_charset "UTF-8" | |
# | |
# This setting controls the encoding that ID3v1 tags should be converted from. | |
# | |
#id3v1_encoding "ISO-8859-1" | |
# | |
############################################################################### | |
# SIDPlay decoder ############################################################# | |
# | |
# songlength_database: | |
# Location of your songlengths file, as distributed with the HVSC. | |
# The sidplay plugin checks this for matching MD5 fingerprints. | |
# See http://www.c64.org/HVSC/DOCUMENTS/Songlengths.faq | |
# | |
# default_songlength: | |
# This is the default playing time in seconds for songs not in the | |
# songlength database, or in case you're not using a database. | |
# A value of 0 means play indefinitely. | |
# | |
# filter: | |
# Turns the SID filter emulation on or off. | |
# | |
#decoder { | |
# plugin "sidplay" | |
# songlength_database "/media/C64Music/DOCUMENTS/Songlengths.txt" | |
# default_songlength "120" | |
# filter "true" | |
#} | |
# | |
############################################################################### |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
########################################################## | |
## this is example bindings configuration file, copy it ## | |
## to ~/.ncmpcpp/bindings and set up your preferences ## | |
########################################################## | |
## | |
##### General rules ##### | |
## | |
## 1) Because each action has runtime checks whether it's | |
## ok to run it, a few actions can be bound to one key. | |
## Actions will be bound in order given in configuration | |
## file. When a key is pressed, first action in order | |
## will test itself whether it's possible to run it. If | |
## test succeeds, action is executed and other actions | |
## bound to this key are ignored. If it doesn't, next | |
## action in order tests itself etc. | |
## | |
## 2) It's possible to bind more that one action at once | |
## to a key. It can be done using the following syntax: | |
## | |
## def_key "key" | |
## action1 | |
## action2 | |
## ... | |
## | |
## This creates a chain of actions. When such chain is | |
## executed, each action in chain is run until the end of | |
## chain is reached or one of its actions fails to execute | |
## due to its requirements not being met. If multiple actions | |
## and/or chains are bound to the same key, they will be | |
## consecutively run until one of them gets fully executed. | |
## | |
## 3) When ncmpcpp starts, bindings configuration file is | |
## parsed and then ncmpcpp provides "missing pieces" | |
## of default keybindings. If you want to disable some | |
## bindings, there is a special action called 'dummy' | |
## for that purpose. Eg. if you want to disable ability | |
## to crop playlists, you need to put the following | |
## into configuration file: | |
## | |
## def_key "C" | |
## dummy | |
## | |
## After that ncmpcpp will not bind any default action | |
## to this key. | |
## | |
## 4) To let you write simple macros, the following special | |
## actions are provided: | |
## | |
## - push_character "character" - pushes given special | |
## character into input queue, so it will be immediately | |
## picked by ncmpcpp upon next call to readKey function. | |
## Accepted values: mouse, up, down, page_up, page_down, | |
## home, end, space, enter, insert, delete, left, right, | |
## tab, shift_tab, ctrl_a, ctrl_b, ..., ctrl_z, f1, f2, | |
## ..., f12, backspace, backspace_2. | |
## | |
## - push_characters "string" - pushes given string into | |
## input queue. | |
## | |
## - require_runnable "action" - checks whether given action | |
## is runnable and fails if it isn't. This is especially | |
## useful when mixed with previous two functions. Consider | |
## the following macro definition: | |
## | |
## def_key "key" | |
## push_characters "custom_filter" | |
## apply_filter | |
## | |
## If apply_filter can't be currently run, we end up with | |
## sequence of characters in input queue which will be | |
## treated just as we typed them. This may lead to unexpected | |
## results (in this case 'c' will most likely clear current | |
## playlist, 'u' will trigger database update, 's' will stop | |
## playback etc.). To prevent such thing from happening, we | |
## need to change above definition to this one: | |
## | |
## def_key "key" | |
## require_runnable "apply_filter" | |
## push_characters "custom_filter" | |
## apply_filter | |
## | |
## Here, first we test whether apply_filter can be actually run | |
## before we stuff characters into input queue, so if condition | |
## is not met, whole chain is aborted and we're fine. | |
## | |
## - require_screen "screen" - checks whether given screen is | |
## currently active. accepted values: browser, clock, help, | |
## media_library, outputs, playlist, playlist_editor, | |
## search_engine, tag_editor, visualizer, last_fm, lyrics, | |
## selected_items_adder, server_info, song_info, | |
## sort_playlist_dialog, tiny_tag_editor. | |
## | |
## - run_external_command "command" - runs given command using | |
## system() function. | |
## | |
## 5) In addition to binding to a key, you can also bind actions | |
## or chains of actions to a command. If it comes to commands, | |
## syntax is very similar to defining keys. Here goes example | |
## definition of a command: | |
## | |
## def_command "quit" [deferred] | |
## stop | |
## quit | |
## | |
## If you execute the above command (which can be done by | |
## invoking action execute_command, typing 'quit' and pressing | |
## enter), ncmpcpp will stop the player and then quit. Note the | |
## presence of word 'deferred' enclosed in square brackets. It | |
## tells ncmpcpp to wait for confirmation (ie. pressing enter) | |
## after you typed quit. Instead of 'deferred', 'immediate' | |
## could be used. Then ncmpcpp will not wait for confirmation | |
## (enter) and will execute the command the moment it sees it. | |
## | |
## Note: Both 'backspace' and 'backspace_2' are used because some | |
## terminals interpret backspace using keycode of 'backspace' | |
## and some the one of 'backspace_2'. You can get away with | |
## binding once if all your terminal emulators use the same | |
## value. | |
## | |
## Note: There is a difference between: | |
## | |
## def_key "key" | |
## action1 | |
## | |
## def_key "key" | |
## action2 | |
## | |
## and | |
## | |
## def_key "key" | |
## action1 | |
## action2 | |
## | |
## First one binds two single actions to the same key whilst | |
## second one defines a chain of actions. The behavior of | |
## these two is different and is described in (1) and (2). | |
## | |
## Note: Function def_key accepts non-ascii characters. | |
## | |
##### List of unbound actions ##### | |
## | |
## The following actions are not bound to any key/command: | |
## | |
## - set_volume | |
## - filter_playlist_on_priorities | |
## | |
# | |
#def_key "mouse" | |
# mouse_event | |
# | |
#def_key "up" | |
# scroll_up | |
# | |
#def_key "down" | |
# scroll_down | |
# | |
#def_key "[" | |
# scroll_up_album | |
# | |
#def_key "]" | |
# scroll_down_album | |
# | |
#def_key "{" | |
# scroll_up_artist | |
# | |
#def_key "}" | |
# scroll_down_artist | |
# | |
#def_key "page_up" | |
# page_up | |
# | |
#def_key "page_down" | |
# page_down | |
# | |
#def_key "home" | |
# move_home | |
# | |
#def_key "end" | |
# move_end | |
# | |
#def_key "space" | |
# press_space | |
# | |
#def_key "enter" | |
# press_enter | |
# | |
#def_key "delete" | |
# delete_playlist_items | |
# | |
#def_key "delete" | |
# delete_browser_items | |
# | |
#def_key "delete" | |
# delete_stored_playlist | |
# | |
#def_key "right" | |
# next_column | |
# | |
#def_key "right" | |
# slave_screen | |
# | |
#def_key "right" | |
# volume_up | |
# | |
#def_key "+" | |
# volume_up | |
# | |
#def_key "left" | |
# previous_column | |
# | |
#def_key "left" | |
# master_screen | |
# | |
#def_key "left" | |
# volume_down | |
# | |
#def_key "-" | |
# volume_down | |
# | |
#def_key ":" | |
# execute_command | |
# | |
#def_key "tab" | |
# next_screen | |
# | |
#def_key "shift_tab" | |
# previous_screen | |
# | |
#def_key "f1" | |
# show_help | |
# | |
#def_key "1" | |
# show_playlist | |
# | |
#def_key "2" | |
# show_browser | |
# | |
#def_key "2" | |
# change_browse_mode | |
# | |
#def_key "3" | |
# show_search_engine | |
# | |
#def_key "3" | |
# reset_search_engine | |
# | |
#def_key "4" | |
# show_media_library | |
# | |
#def_key "4" | |
# toggle_media_library_columns_mode | |
# | |
#def_key "5" | |
# show_playlist_editor | |
# | |
#def_key "6" | |
# show_tag_editor | |
# | |
#def_key "7" | |
# show_outputs | |
# | |
#def_key "8" | |
# show_visualizer | |
# | |
#def_key "=" | |
# show_clock | |
# | |
#def_key "@" | |
# show_server_info | |
#### CUSTOM CONFIG | |
def_key "f1" | |
show_help | |
def_key "f2" | |
show_playlist | |
def_key "f3" | |
show_browser | |
def_key "f3" | |
change_browse_mode | |
def_key "f4" | |
show_search_engine | |
def_key "f4" | |
reset_search_engine | |
def_key "f5" | |
show_media_library | |
def_key "f5" | |
toggle_media_library_columns_mode | |
def_key "f6" | |
show_playlist_editor | |
def_key "f7" | |
show_tag_editor | |
def_key "f8" | |
show_outputs | |
def_key "f9" | |
show_visualizer | |
def_key "f10" | |
show_clock | |
def_key "f11" | |
show_server_info | |
def_key "ctrl_c" | |
quit | |
#### END CUSTOM CONFIG | |
# | |
#def_key "s" | |
# stop | |
# | |
#def_key "p" | |
# pause | |
# | |
#def_key ">" | |
# next | |
# | |
#def_key "<" | |
# previous | |
# | |
#def_key "ctrl_h" | |
# jump_to_parent_directory | |
# | |
#def_key "ctrl_h" | |
# replay_song | |
# | |
#def_key "backspace" | |
# jump_to_parent_directory | |
# | |
#def_key "backspace" | |
# replay_song | |
# | |
#def_key "backspace_2" | |
# jump_to_parent_directory | |
# | |
#def_key "backspace_2" | |
# replay_song | |
# | |
#def_key "f" | |
# seek_forward | |
# | |
#def_key "b" | |
# seek_backward | |
# | |
#def_key "r" | |
# toggle_repeat | |
# | |
#def_key "z" | |
# toggle_random | |
# | |
#def_key "y" | |
# save_tag_changes | |
# | |
#def_key "y" | |
# start_searching | |
# | |
#def_key "y" | |
# toggle_single | |
# | |
#def_key "R" | |
# toggle_consume | |
# | |
#def_key "Y" | |
# toggle_replay_gain_mode | |
# | |
#def_key "t" | |
# toggle_space_mode | |
# | |
#def_key "T" | |
# toggle_add_mode | |
# | |
#def_key "|" | |
# toggle_mouse | |
# | |
#def_key "#" | |
# toggle_bitrate_visibility | |
# | |
#def_key "Z" | |
# shuffle | |
# | |
#def_key "x" | |
# toggle_crossfade | |
# | |
#def_key "X" | |
# set_crossfade | |
# | |
#def_key "u" | |
# update_database | |
# | |
#def_key "ctrl_v" | |
# sort_playlist | |
# | |
#def_key "ctrl_r" | |
# reverse_playlist | |
# | |
#def_key "ctrl_f" | |
# apply_filter | |
# | |
#def_key "/" | |
# find | |
# | |
#def_key "/" | |
# find_item_forward | |
# | |
#def_key "?" | |
# find | |
# | |
#def_key "?" | |
# find_item_backward | |
# | |
#def_key "." | |
# next_found_item | |
# | |
#def_key "," | |
# previous_found_item | |
# | |
#def_key "w" | |
# toggle_find_mode | |
# | |
#def_key "e" | |
# edit_song | |
# | |
#def_key "e" | |
# edit_library_tag | |
# | |
#def_key "e" | |
# edit_library_album | |
# | |
#def_key "e" | |
# edit_directory_name | |
# | |
#def_key "e" | |
# edit_playlist_name | |
# | |
#def_key "e" | |
# edit_lyrics | |
# | |
#def_key "i" | |
# show_song_info | |
# | |
#def_key "I" | |
# show_artist_info | |
# | |
#def_key "g" | |
# jump_to_position_in_song | |
# | |
#def_key "l" | |
# show_lyrics | |
# | |
#def_key "v" | |
# reverse_selection | |
# | |
#def_key "V" | |
# remove_selection | |
# | |
#def_key "B" | |
# select_album | |
# | |
#def_key "a" | |
# add_selected_items | |
# | |
#def_key "c" | |
# clear_playlist | |
# | |
#def_key "c" | |
# clear_main_playlist | |
# | |
#def_key "C" | |
# crop_playlist | |
# | |
#def_key "C" | |
# crop_main_playlist | |
# | |
#def_key "m" | |
# move_sort_order_up | |
# | |
#def_key "m" | |
# move_selected_items_up | |
# | |
#def_key "m" | |
# toggle_media_library_sort_mode | |
# | |
#def_key "m" | |
# set_visualizer_sample_multiplier | |
# | |
#def_key "n" | |
# move_sort_order_down | |
# | |
#def_key "n" | |
# move_selected_items_down | |
# | |
#def_key "M" | |
# move_selected_items_to | |
# | |
#def_key "A" | |
# add | |
# | |
#def_key "S" | |
# save_playlist | |
# | |
#def_key "o" | |
# jump_to_playing_song | |
# | |
#def_key "G" | |
# jump_to_browser | |
# | |
#def_key "G" | |
# jump_to_playlist_editor | |
# | |
#def_key "~" | |
# jump_to_media_library | |
# | |
#def_key "E" | |
# jump_to_tag_editor | |
# | |
#def_key "U" | |
# toggle_playing_song_centering | |
# | |
#def_key "P" | |
# toggle_display_mode | |
# | |
#def_key "\\" | |
# toggle_interface | |
# | |
#def_key "!" | |
# toggle_separators_between_albums | |
# | |
#def_key "L" | |
# toggle_lyrics_fetcher | |
# | |
#def_key "F" | |
# toggle_fetching_lyrics_in_background | |
# | |
#def_key "ctrl_l" | |
# toggle_screen_lock | |
# | |
#def_key "`" | |
# toggle_browser_sort_mode | |
# | |
#def_key "`" | |
# toggle_library_tag_type | |
# | |
#def_key "`" | |
# refetch_lyrics | |
# | |
#def_key "`" | |
# add_random_items | |
# | |
#def_key "ctrl_p" | |
# set_selected_items_priority | |
# | |
#def_key "q" | |
# quit | |
# |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#################################################### | |
## this is example configuration file, copy it to ## | |
## ~/.ncmpcpp/config and set up your preferences ## | |
#################################################### | |
# | |
##### directories ###### | |
## | |
## Directory for storing ncmpcpp related files. | |
## Changing it is useful if you want to store | |
## everything somewhere else and provide command | |
## line setting for alternative location to config | |
## file which defines that while launching ncmpcpp. | |
## | |
# | |
#ncmpcpp_directory = ~/.ncmpcpp | |
# | |
## | |
## Directory for storing downloaded lyrics. It | |
## defaults to ~/.lyrics since other MPD clients | |
## (eg. ncmpc) also use that location. | |
## | |
# | |
#lyrics_directory = ~/.lyrics | |
# | |
##### connection settings ##### | |
# | |
#mpd_host = localhost | |
# | |
#mpd_port = 6600 | |
# | |
#mpd_connection_timeout = 5 | |
# | |
## Needed for tag editor and file operations to work. | |
## | |
mpd_music_dir = /mnt/data/Music | |
# | |
#mpd_crossfade_time = 5 | |
# | |
##### music visualizer ##### | |
## | |
## Note: In order to make music visualizer work you'll | |
## need to use mpd fifo output, whose format parameter | |
## has to be set to 44100:16:1 for mono visualization | |
## or 44100:16:2 for stereo visualization. Example | |
## configuration (it has to be put into mpd.conf): | |
## | |
## audio_output { | |
## type "fifo" | |
## name "Visualizer feed" | |
## path "/tmp/mpd.fifo" | |
## format "44100:16:2" | |
## } | |
## | |
# | |
visualizer_fifo_path = /tmp/mpd.fifo | |
# | |
## | |
## Note: Below parameter is needed for ncmpcpp | |
## to determine which output provides data for | |
## visualizer and thus allow syncing between | |
## visualization and sound as currently there | |
## are some problems with it. | |
## | |
# | |
visualizer_output_name = Visualizer feed | |
# | |
## | |
## If you set format to 44100:16:2, make it 'yes'. | |
## | |
visualizer_in_stereo = yes | |
# | |
## | |
## Multiply received samples by given value. Very | |
## useful for proper visualization of quiet music. | |
## | |
#visualizer_sample_multipler = 1 | |
# | |
## | |
## Note: Below parameter defines how often ncmpcpp | |
## has to "synchronize" visualizer and audio outputs. | |
## 30 seconds is optimal value, but if you experience | |
## synchronization problems, set it to lower value. | |
## Keep in mind that sane values start with >=10. | |
## | |
# | |
#visualizer_sync_interval = 30 | |
# | |
## | |
## Note: To enable spectrum frequency visualization | |
## you need to compile ncmpcpp with fftw3 support. | |
## | |
# | |
## Available values: spectrum, wave. | |
## | |
visualizer_type = wave | |
# | |
visualizer_look = ●▮ | |
# | |
##### system encoding ##### | |
## | |
## ncmpcpp should detect your charset encoding | |
## but if it failed to do so, you can specify | |
## charset encoding you are using here. | |
## | |
## Note: You can see whether your ncmpcpp build | |
## supports charset detection by checking output | |
## of `ncmpcpp --version`. | |
## | |
## Note: Since MPD uses UTF-8 by default, setting | |
## this option makes sense only if your encoding | |
## is different. | |
## | |
# | |
#system_encoding = "" | |
# | |
##### delays ##### | |
# | |
## Time of inactivity (in seconds) after playlist | |
## highlighting will be disabled (0 = always on). | |
## | |
#playlist_disable_highlight_delay = 5 | |
# | |
## Defines how long messages are supposed to be visible. | |
## | |
#message_delay_time = 5 | |
# | |
##### song format ##### | |
## | |
## for song format you can use: | |
## | |
## %l - length | |
## %f - filename | |
## %D - directory | |
## %a - artist | |
## %A - album artist | |
## %t - title | |
## %b - album | |
## %y - date | |
## %n - track number (01/12 -> 01) | |
## %N - full track info (01/12 -> 01/12) | |
## %g - genre | |
## %c - composer | |
## %p - performer | |
## %d - disc | |
## %C - comment | |
## %P - priority | |
## $R - begin right alignment | |
## | |
## you can also put them in { } and then it will be displayed | |
## only if all requested values are available and/or define alternate | |
## value with { }|{ } eg. {%a - %t}|{%f} | |
## | |
## Note: If you want to set limit on maximal length of a tag, just | |
## put the appropriate number between % and character that defines | |
## tag type, e.g. to make album take max. 20 terminal cells, use '%20b'. | |
## | |
## Note: Format that is similar to "%a - %t" (i.e. without any additional | |
## braces) is equal to "{%a - %t}", so if one of the tags is missing, | |
## you'll get nothing. | |
## | |
## text can also have different color than the main window has, | |
## eg. if you want length to be green, write "$3%l$9". | |
## | |
## Available values: | |
## | |
## - 0 - default window color (discards all other colors) | |
## - 1 - black | |
## - 2 - red | |
## - 3 - green | |
## - 4 - yellow | |
## - 5 - blue | |
## - 6 - magenta | |
## - 7 - cyan | |
## - 8 - white | |
## - 9 - end of current color | |
## | |
## Note: colors can be nested. | |
## | |
# | |
#song_list_format = {%a - }{%t}|{$8%f$9}$R{$3(%l)$9} | |
# | |
#song_status_format = {{%a{ "%b"{ (%y)}} - }{%t}}|{%f} | |
# | |
#song_library_format = {%n - }{%t}|{%f} | |
# | |
#tag_editor_album_format = {(%y) }%b | |
# | |
## | |
## Note: Below variables are used for sorting songs in browser. | |
## The sort mode determines how songs are sorted, and can be used | |
## in combination with a sort format to specify a custom sorting format. | |
## Available values for browser_sort_mode are "name", "mtime", "format" | |
## and "noop". | |
## | |
# | |
#browser_sort_mode = name | |
# | |
#browser_sort_format = {%a - }{%t}|{%f} {(%l)} | |
# | |
## | |
## Note: Below variables are for alternative version of user's interface. | |
## Their syntax supports all tags and colors listed above plus some extra | |
## markers used for text attributes. They are followed by character '$'. | |
## After that you can put: | |
## | |
## - b - bold text | |
## - u - underline text | |
## - r - reverse colors | |
## - a - use alternative character set | |
## | |
## If you don't want to use an attribute anymore, just put it again, but | |
## this time insert character '/' between '$' and attribute character, | |
## e.g. {$b%t$/b}|{$r%f$/r} will display bolded title tag or filename | |
## with reversed colors. | |
## | |
# | |
#alternative_header_first_line_format = $b$1$aqqu$/a$9 {%t}|{%f} $1$atqq$/a$9$/b | |
# | |
#alternative_header_second_line_format = {{$4$b%a$/b$9}{ - $7%b$9}{ ($4%y$9)}}|{%D} | |
# | |
## | |
## Note: below variables also support text attributes listed above. | |
## | |
# | |
#now_playing_prefix = $b | |
# | |
#now_playing_suffix = $/b | |
# | |
#browser_playlist_prefix = "$2playlist$9 " | |
# | |
#selected_item_prefix = $6 | |
# | |
#selected_item_suffix = $9 | |
# | |
#modified_item_prefix = $3> $9 | |
# | |
## Note: colors are not supported for below variable. | |
## | |
#song_window_title_format = {%a - }{%t}|{%f} | |
# | |
##### columns settings ##### | |
## | |
## syntax of song columns list format is "column column etc." | |
## | |
## - syntax for each column is: | |
## | |
## (width of column)[column's color]{displayed tag} | |
## | |
## Note: Width is by default in %, if you want a column to | |
## have fixed size, add 'f' after the value, e.g. (10)[white]{a} | |
## will be the column that take 10% of screen (so the real column's | |
## width will depend on actual screen size), whereas (10f)[white]{a} | |
## will take 10 terminal cells, no matter how wide the screen is. | |
## | |
## - color is optional (if you want the default one, type []) | |
## | |
## Note: You can give a column additional attributes by putting appropriate | |
## character after displayed tag character. Available attributes are: | |
## | |
## - r - column will be right aligned | |
## - E - if tag is empty, empty tag marker won't be displayed | |
## | |
## You can also: | |
## | |
## - give a column custom name by putting it after attributes, | |
## separated with character ':', e.g. {lr:Length} gives you | |
## right aligned column of lengths named "Length". | |
## | |
## - define sequence of tags, that have to be displayed in case | |
## predecessor is empty in a way similar to the one in classic | |
## song format, i.e. using '|' character, e.g. {a|c|p:Owner} | |
## creates column named "Owner" that tries to display artist | |
## tag and then composer and performer if previous ones are | |
## not available. | |
## | |
# | |
#song_columns_list_format = (20)[]{a} (6f)[green]{NE} (50)[white]{t|f:Title} (20)[cyan]{b} (7f)[magenta]{l} | |
song_columns_list_format = "(20)[cyan]{a} (50)[yellow]{t|f} (20)[red]{b} (7f)[green]{l}" | |
# | |
##### various settings ##### | |
# | |
## | |
## Note: Custom command that will be executed each | |
## time song changes. Useful for notifications etc. | |
## | |
## Attention: It doesn't support song format anymore. | |
## Use `ncmpcpp --now-playing SONG_FORMAT` instead. | |
## | |
#execute_on_song_change = "" | |
# | |
#playlist_show_remaining_time = no | |
# | |
#playlist_shorten_total_times = no | |
# | |
#playlist_separate_albums = no | |
# | |
## | |
## Note: Possible display modes: classic, columns. | |
## | |
playlist_display_mode = columns | |
# | |
#browser_display_mode = classic | |
# | |
#search_engine_display_mode = classic | |
# | |
#playlist_editor_display_mode = classic | |
# | |
#discard_colors_if_item_is_selected = yes | |
# | |
#incremental_seeking = yes | |
# | |
#seek_time = 1 | |
# | |
#volume_change_step = 2 | |
# | |
#autocenter_mode = no | |
autocenter_mode = yes | |
# | |
#centered_cursor = no | |
# | |
## | |
## Note: You can specify third character which will | |
## be used to build 'empty' part of progressbar. | |
## | |
#progressbar_look = => | |
# | |
#progressbar_boldness = yes | |
# | |
## Available values: database, playlist. | |
## | |
#default_place_to_search_in = database | |
# | |
## Available values: classic, alternative. | |
## | |
#user_interface = classic | |
user_interface = alternative | |
# | |
#data_fetching_delay = yes | |
# | |
## Available values: artist, album_artist, date, genre, composer, performer. | |
## | |
#media_library_primary_tag = artist | |
# | |
## Available values: wrapped, normal. | |
## | |
#default_find_mode = wrapped | |
# | |
## Available values: add, select. | |
## | |
#default_space_mode = add | |
# | |
#default_tag_editor_pattern = %n - %t | |
# | |
#header_visibility = yes | |
# | |
#statusbar_visibility = yes | |
# | |
#titles_visibility = yes | |
# | |
#header_text_scrolling = yes | |
# | |
#cyclic_scrolling = no | |
# | |
#lines_scrolled = 2 | |
# | |
#follow_now_playing_lyrics = no | |
follow_now_playing_lyrics = yes | |
# | |
#fetch_lyrics_for_current_song_in_background = no | |
# | |
#store_lyrics_in_song_dir = no | |
# | |
#generate_win32_compatible_filenames = yes | |
# | |
#allow_for_physical_item_deletion = no | |
# | |
## | |
## Note: If you set this variable, ncmpcpp will try to | |
## get info from last.fm in language you set and if it | |
## fails, it will fall back to english. Otherwise it will | |
## use english the first time. | |
## | |
## Note: Language has to be expressed as an ISO 639 alpha-2 code. | |
## | |
#lastfm_preferred_language = en | |
# | |
## Available values: add_remove, always_add. | |
## | |
#space_add_mode = always_add | |
# | |
#show_hidden_files_in_local_browser = no | |
# | |
## | |
## How shall screen switcher work? | |
## | |
## - "previous" - switch between the current and previous screen. | |
## - "screen1,...,screenN" - switch between given sequence of screens. | |
## | |
## Screens available for use: help, playlist, browser, search_engine, | |
## media_library, playlist_editor, tag_editor, outputs, visualizer, clock. | |
## | |
#screen_switcher_mode = playlist, browser | |
# | |
## | |
## Note: You can define startup screen for ncmpcpp | |
## by choosing screen from the list above. | |
## | |
#startup_screen = playlist | |
# | |
## | |
## Default width of locked screen (in %). | |
## Acceptable values are from 20 to 80. | |
## | |
# | |
#locked_screen_width_part = 50 | |
# | |
#ask_for_locked_screen_width_part = yes | |
# | |
#jump_to_now_playing_song_at_start = yes | |
# | |
#ask_before_clearing_playlists = yes | |
# | |
#clock_display_seconds = no | |
# | |
#display_volume_level = yes | |
# | |
#display_bitrate = no | |
display_bitrate = yes | |
# | |
#display_remaining_time = no | |
# | |
## Available values: none, basic, extended. | |
## | |
#regular_expressions = none | |
regular_expressions = extended | |
# | |
## | |
## Note: If below is enabled, ncmpcpp will ignore leading | |
## "The" word while sorting items in browser, tags in | |
## media library, etc. | |
## | |
#ignore_leading_the = no | |
# | |
#block_search_constraints_change_if_items_found = yes | |
# | |
#mouse_support = yes | |
# | |
#mouse_list_scroll_whole_page = yes | |
# | |
#empty_tag_marker = <empty> | |
# | |
#tags_separator = " | " | |
# | |
#tag_editor_extended_numeration = no | |
# | |
#media_library_sort_by_mtime = no | |
# | |
#enable_window_title = yes | |
# | |
## | |
## Note: You can choose default search mode for search | |
## engine. Available modes are: | |
## | |
## - 1 - use mpd built-in searching (no regexes, pattern matching) | |
## - 2 - use ncmpcpp searching (pattern matching with support for regexes, | |
## but if your mpd is on a remote machine, downloading big database | |
## to process it can take a while | |
## - 3 - match only exact values (this mode uses mpd function for searching | |
## in database and local one for searching in current playlist) | |
## | |
# | |
search_engine_default_search_mode = 2 | |
# | |
external_editor = nano | |
# | |
## Note: set to yes if external editor is a console application. | |
## | |
use_console_editor = yes | |
# | |
##### colors definitions ##### | |
# | |
#colors_enabled = yes | |
# | |
#empty_tag_color = cyan | |
# | |
#header_window_color = default | |
# | |
#volume_color = default | |
volume_color = red | |
# | |
#state_line_color = default | |
# | |
#state_flags_color = default | |
# | |
#main_window_color = yellow | |
# | |
#color1 = white | |
# | |
#color2 = green | |
# | |
#main_window_highlight_color = yellow | |
# | |
#progressbar_color = black | |
# | |
#progressbar_elapsed_color = green | |
# | |
#statusbar_color = default | |
# | |
#alternative_ui_separator_color = black | |
# | |
#active_column_color = red | |
# | |
#visualizer_color = yellow | |
# | |
#window_border_color = green | |
# | |
#active_window_border = red | |
# |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment