index

Table of Contents

Applications

MPD

# 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         "~/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                 "~/.local/share/mpd/database"

# These settings are the locations for the daemon log files for the daemon.
#
# The special value "syslog" makes MPD use the local syslog daemon. This
# setting defaults to logging to syslog.
#
# If you use systemd, do not configure a log_file.  With systemd, MPD
# defaults to the systemd journal, which is fine.
#
log_file                        "syslog"

# 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.
#
# If you use systemd, do not configure a pid_file.
#
pid_file                        "~/.local/share/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                      "~/.local/state/mpd/state"
#
# The location of the sticker database.  This is a database which
# manages dynamic information attached to songs.
#
sticker_file                    "~/.local/share/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 than the default, any.
# This setting can deny access to control of the daemon. Not effective if
# systemd socket activation is in use.
#
# 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"
#
# Suppress all messages below the given threshold.  Use "verbose" for
# troubleshooting. Available setting arguments are "notice", "info", "verbose",
# "warning" and "error".
#
#log_level                      "notice"
#
# Setting "restore_paused" to "yes" puts MPD into pause mode instead
# of starting playback after startup.
#
#restore_paused "no"
#
# 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 user manual.
#metadata_to_use        "artist,album,title,track,name,genre,date,composer,performer,disc"
#
# This example just enables the "comment" tag without disabling all
# the other supported tags:
#metadata_to_use "+comment"
#
# 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. %h will be replaced with the hostname.
#
#zeroconf_name                  "Music Player @ %h"
#
###############################################################################


# Permissions #################################################################
#
# If this setting is set, MPD will require password authorization. The password
# setting can be specified multiple times for different password profiles.
#
#password                        "password@read,add,control,admin"
#
# This setting specifies the permissions a user has who has not yet logged in.
#
#default_permissions             "read,add,control,admin"
#
###############################################################################


# Database #######################################################################
#
# An example of a database section instead of the old 'db_file' setting.
# It enables mounting other storages into the music directory.
#
#database {
#       plugin "simple"
#       path "~/.local/share/mpd/db"
#       cache_directory "~/.local/share/mpd/cache"
#}
#
# An example of database config for a satellite setup
#
#music_directory "nfs://fileserver.local/srv/mp3"
#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"
#       encoder         "vorbis"                # 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            "My 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         "128"                   # 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            "My Pulse Output"
##      server          "remote_server"         # optional
##      sink            "remote_server_sink"    # optional
##      media_role      "media_role"            #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 a wasapi output (Windows multimedia API).
#
#audio_output {
#       type            "wasapi"
#       name            "My WASAPI output"
##      device          "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
#               or
##      device          "0"             # optional
##      mixer_type      "hardware"      # optional
## Exclusive mode blocks all other audio source, and get best audio quality without resampling.
##      exclusive       "no"            # optional
## Enumerate all devices in log.
##      enumerate       "no"            # 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
#}
#
# An example of an sndio output.
#
#audio_output {
#       type            "sndio"
#       name            "sndio output"
#       mixer_type      "hardware"
#}
#
# An example of an OS X output:
#
#audio_output {
#       type            "osx"
#       name            "My OS X Device"
##      device          "Built-in Output"       # optional
##      channel_map      "-1,-1,0,1"    # 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
#}
#
###############################################################################


# 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 <https://wiki.hydrogenaud.io/index.php?title=Replaygain> 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            "yes"
#
###############################################################################

# 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"
#
###############################################################################

audio_output {
        type            "pipewire"
        name            "PipeWire Sound Server"
}

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

ncmpcpp

config

##############################################################
## This is an example configuration file. Copy it to        ##
## $XDG_CONFIG_HOME/ncmpcpp/config or $HOME/.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 = ~/.config/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_password = ""
#
#mpd_connection_timeout = 5
#
## Needed for tag editor and file operations to work.
##
mpd_music_dir = ~/Music
#
#mpd_crossfade_time = 5
#
# Exclude pattern for random song action
# http://www.boost.org/doc/libs/1_46_1/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html
#random_exclude_pattern = "^(temp|midi_songs).*"
#
##### music visualizer #####
##
## In order to make music visualizer work with MPD you need to use the fifo
## output. Its format parameter has to be set to 44100:16:1 for mono
## visualization or 44100:16:2 for stereo visualization. As an example here is
## the relevant section for mpd.conf:
##
## audio_output {
##        type            "fifo"
##        name            "Visualizer feed"
##        path            "/tmp/mpd.fifo"
##        format          "44100:16:2"
## }
##
## If the visualization on occasion diverges from the audio output, please set
## 'buffer_time' parameter of your audio output in mpd.conf to '100000' (100ms)
## or less to prevent that from happening.
##
## Note: If you're using Mopidy, an address of a udpsink gstreamer's output is
## also accepted. For example, the following section in mopidy.conf:
##
## [audio]
## output = tee name=t ! queue ! autoaudiosink t.
##        ! queue ! audio/x-raw,rate=44100,channels=2,format=S16LE
##        ! udpsink host=localhost port=5555
##
## will make localhost:5555 available as a source of data for the stereo
## visualizer.
##
#
visualizer_data_source = /tmp/mpd.fifo
#
##
## Note: Below parameter is needed for ncmpcpp to determine which output
## provides data for visualizer and reset it at the beginning of visualization
## to synchronize with audio.
##
#
visualizer_output_name = Visualizer feed
#
##
## If you set format to 44100:16:2, make it 'yes'.
##
visualizer_in_stereo = no
#
##
## Note: set below to >=10 only if you have synchronization issues with
## visualization and audio.
##
#
#visualizer_sync_interval = 0
#
##
## Note: To enable spectrum frequency visualization you need to compile ncmpcpp
## with fftw3 support.
##
#
## Available values: spectrum, wave, wave_filled, ellipse.
##
visualizer_type = spectrum
#
visualizer_fps = 60
#
visualizer_autoscale = yes
#
visualizer_look = ●▮
#
#visualizer_color = blue, cyan, green, yellow, magenta, red
#
## Alternative subset of 256 colors for terminals that support it.
##
#visualizer_color = 47, 83, 119, 155, 191, 227, 221, 215, 209, 203, 197, 161
#
##
## Note: The next few visualization options apply to the spectrum visualizer.
##
#
## Use unicode block characters for a smoother, more continuous look.
## This will override the visualizer_look option. With transparent terminals
## and visualizer_in_stereo set, artifacts may be visible on the bottom half of
## the visualization.
#
visualizer_spectrum_smooth_look = yes
#
## Use unicode block characters from "symbols for legacy computing". This
## improves the smooth look on transparent terminals by using special unicode
## chars instead of reversing the background and foreground color on the bottom
## edge of the spectrum. If it leads to a garbled output on the bottom edge of
## the spectrum, you can either change the font or disable this option.
#
#visualizer_spectrum_smooth_look_legacy_chars = yes
#
## A value between 1 and 5 inclusive. Specifying a larger value makes the
## visualizer look at a larger slice of time, which results in less jumpy
## visualizer output.
#
#visualizer_spectrum_dft_size = 2
#
#visualizer_spectrum_gain = 10
#
## Left-most frequency of visualizer in Hz, must be less than HZ MAX
#
#visualizer_spectrum_hz_min = 20
#
## Right-most frequency of visualizer in Hz, must be greater than HZ MIN
#
#visualizer_spectrum_hz_max = 20000
#
## Use log scaling for the frequency spectrum axes
#
#visualizer_spectrum_log_scale_x = yes
#visualizer_spectrum_log_scale_y = yes
#
##### 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 = 3
#
##### song format #####
##
## For a song format you can use:
##
## %l - length
## %f - filename
## %F - full filepath
## %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
##
## If you want to make sure that a part of the format is displayed only when
## certain tags are present, you can archieve it by grouping them with brackets,
## e.g. '{%a - %t}' will be evaluated to 'ARTIST - TITLE' if both tags are
## present or '' otherwise.  It is also possible to define a list of
## alternatives by providing several groups and separating them with '|',
## e.g. '{%t}|{%f}' will be evaluated to 'TITLE' or 'FILENAME' if the former is
## not present.
##
## 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'.
##
## In addition, formats support markers used for text attributes.  They are
## followed by character '$'. After that you can put:
##
## - 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
## - b - bold text
## - u - underline text
## - i - italic text
## - r - reverse colors
## - a - use alternative character set
##
## If you don't want to use a non-color 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.
##
## If you want to use 256 colors and/or background colors in formats (the naming
## scheme is described below in section about color definitions), it can be done
## with the syntax $(COLOR), e.g. to set the artist tag to one of the
## non-standard colors and make it have yellow background, you need to write
## $(197_yellow)%a$(end). Note that for standard colors this is interchangable
## with attributes listed above.
##
## 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}
#
#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}
#
#current_item_prefix = $(yellow)$r
#
#current_item_suffix = $/r$(end)
#
#current_item_inactive_column_prefix = $(white)$r
#
#current_item_inactive_column_suffix = $/r$(end)
#
#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: attributes are not supported for the following variables.
##
#song_window_title_format = {%a - }{%t}|{%f}
##
## 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 "type", "name", "mtime", "format" and "none".
##
#
#browser_sort_mode = type
#
#browser_sort_format = {%a - }{%t}|{%f} {%l}
#
##### columns settings #####
##
## syntax of song columns list format is "column column etc."
##
## - syntax for each column is:
##
## (width of the column)[color of the column]{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 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, leave the field empty).
##
## 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}
#
##### various settings #####
#
##
## Note: Custom command that will be executed each time song changes. Useful for
## notifications etc.
##
#execute_on_song_change = ""
execute_on_song_change = ~/.local/bin/mpd-coverart
#
##
## Note: Custom command that will be executed each time player state
## changes. The environment variable MPD_PLAYER_STATE is set to the current
## state (either unknown, play, pause, or stop) for its duration.
##
#
#execute_on_player_state_change = ""
#
#playlist_show_mpd_host = no
#
#playlist_show_remaining_time = no
#
#playlist_shorten_total_times = no
#
#playlist_separate_albums = no
#
##
## Note: Possible display modes: classic, columns.
##
#playlist_display_mode = columns
playlist_display_mode = classic
#
#browser_display_mode = classic
browser_display_mode = columns
#
#search_engine_display_mode = classic
search_engine_display_mode = columns
#
#playlist_editor_display_mode = classic
playlist_editor_display_mode = columns
#
#discard_colors_if_item_is_selected = yes
#
#show_duplicate_tags = yes
#
#incremental_seeking = yes
#
#seek_time = 1
#
#volume_change_step = 2
#
#autocenter_mode = no
autocenter_mode = yes
#
#centered_cursor = no
centered_cursor = yes
#
##
## Note: You can specify third character which will be used to build 'empty'
## part of progressbar.
##
#progressbar_look = =>
#
## 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
#
#media_library_albums_split_by_date = yes
#
#media_library_hide_album_dates = no
#
## Available values: wrapped, normal.
##
#default_find_mode = wrapped
#
#default_tag_editor_pattern = %n - %t
#
#header_visibility = yes
#
#statusbar_visibility = yes
#
## Show the "Connected to ..." message on startup
#connected_message_on_startup = yes
#
#titles_visibility = yes
#
#header_text_scrolling = yes
#
#cyclic_scrolling = no
#
#lyrics_fetchers = tags, genius, tekstowo, plyrics, justsomelyrics, jahlyrics, zeneszoveg, internet
#
#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
#
#space_add_mode = add_remove
#
#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,
## lyrics, last_fm.
##
#screen_switcher_mode = playlist, browser
#
##
## Note: You can define startup screen by choosing screen from the list above.
##
#startup_screen = playlist
#
##
## Note: You can define startup slave screen by choosing screen from the list
## above or an empty value for no slave screen.
##
#startup_slave_screen = ""
#
#startup_slave_screen_focus = no
#
##
## Default width of locked screen (in %).  Acceptable values are from 20 to 80.
##
#
#locked_screen_width_part = 50
locked_screen_width_part = 60
#
#ask_for_locked_screen_width_part = yes
#
##
## Width of media_library screen columns
##
#
#media_library_column_width_ratio_two = 1:1
#
#media_library_column_width_ratio_three = 1:1:1
#
##
## Width of playlist_editor screen columns
##
#
#playlist_editor_column_width_ratio = 1:2
#
#jump_to_now_playing_song_at_start = yes
#
#ask_before_clearing_playlists = yes
ask_before_clearing_playlists = yes
#
#clock_display_seconds = no
clock_display_seconds = yes
#
#display_volume_level = yes
display_volume_level = yes
#
#display_bitrate = no
display_bitrate = no
#
#display_remaining_time = no
#
## Available values: none, basic, extended, perl.
##
#regular_expressions = perl
#
##
## 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
#
##
## Note: if below is enabled, ncmpcpp will ignore diacritics while searching and
## filtering lists. This takes an effect only if boost was compiled with ICU
## support.
##
#ignore_diacritics = no
#
#block_search_constraints_change_if_items_found = yes
#
#mouse_support = yes
mouse_support = yes
#
#mouse_list_scroll_whole_page = no
mouse_list_scroll_whole_page = yes
#
lines_scrolled = 1
#
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 = 1
search_engine_default_search_mode = 2
#
#external_editor = nano
external_editor = emacsclient -t -a ''
#
## Note: set to yes if external editor is a console application.
##
use_console_editor = yes
#
##### colors definitions #####
##
## It is possible to set a background color by setting a color value
## "<foreground>_<background>", e.g. red_black will set foregound color to red
## and background color to black.
##
## In addition, for terminals that support 256 colors it is possible to set one
## of them by using a number in range [1, 256] instead of color name,
## e.g. numerical value corresponding to red_black is 2_1. To find out if the
## terminal supports 256 colors, run ncmpcpp and check out the bottom of the
## help screen for list of available colors and their numerical values.
##
## What is more, there are two special values for the background color:
## "transparent" and "current". The first one explicitly sets the background to
## be transparent, while the second one allows you to preserve current
## background color and change only the foreground one. It's used implicitly
## when background color is not specified.
##
## Moreover, it is possible to attach format information to selected color
## variables by appending to their end a colon followed by one or more format
## flags, e.g. black:b or red:ur. The following variables support this syntax:
## visualizer_color, color1, color2, empty_tag_color, volume_color,
## state_line_color, state_flags_color, progressbar_color,
## progressbar_elapsed_color, player_state_color, statusbar_time_color,
## alternative_ui_separator_color.
##
## Note: due to technical limitations of older ncurses version, if 256 colors
## are used there is a possibility that you'll be able to use only colors with
## transparent background.
#
#colors_enabled = yes
colors_enabled = yes
#
#empty_tag_color = cyan
empty_tag_color = cyan
#
#header_window_color = default
header_window_color = 142
#
#volume_color = default
volume_color = 107
#
#state_line_color = default
state_line_color = 183
#
#state_flags_color = default:b
state_flags_color = 183:b
#
#main_window_color = yellow
main_window_color = 16
#
#color1 = white
color1 = 60
#
#color2 = green
color2 = 22
#
#progressbar_color = black:b
progressbar_color = 206:b
#
#progressbar_elapsed_color = green:b
progressbar_elapsed_color = 142:b
#
#statusbar_color = default
statusbar_color = 142
#
#statusbar_time_color = default:b
statusbar_time_color = default:b
#
#player_state_color = default:b
player_state_color = 206:b
#
#alternative_ui_separator_color = black:b
alternative_ui_separator_color = black:b
#
#window_border_color = green
window_border_color = green
#
#active_window_border = red
active_window_border = red
#

bindings

# -*- conf -*-
def_key "mouse"
  mouse_event

def_key "up"
 scroll_up

def_key "k"
 scroll_up

def_key "shift-up"
 select_item
 scroll_up

def_key "shift-k"
 select_item
 scroll_up

def_key "down"
 scroll_down

def_key "j"
 scroll_down

def_key "shift-down"
 select_item
 scroll_down

def_key "shift-j"
 select_item
 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 "insert"
#  select_item
#
#def_key "enter"
#  enter_directory
#
#def_key "enter"
#  toggle_output
#
#def_key "enter"
#  run_action
#
#def_key "enter"
#  play_item
#
#def_key "space"
#  add_item_to_playlist
#
#def_key "space"
#  toggle_lyrics_update_on_song_change
#
#def_key "space"
#  toggle_visualization_type
#
#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 "l"
 next_column

def_key "right"
 slave_screen

def_key "l"
 slave_screen

def_key "l"
 volume_up

def_key "+"
 volume_up

def_key "left"
 previous_column

def_key "h"
 previous_column

def_key "left"
 master_screen

def_key "h"
 master_screen

def_key "left"
 volume_down

def_key "h"
 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

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"
 play

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_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-s"
 sort_playlist

def_key "ctrl-s"
 toggle_browser_sort_mode

def_key "ctrl-s"
 toggle_media_library_sort_mode

def_key "ctrl-r"
 reverse_playlist

def_key "ctrl-f"
 apply_filter

def_key "ctrl-_"
 select_found_items

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 ";"
 show_lyrics

def_key "ctrl-v"
 select_range

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 "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"
 fetch_lyrics_in_background

def_key "alt-l"
 toggle_fetching_lyrics_in_background

def_key "ctrl-l"
 toggle_screen_lock

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


Date: 2024-11-06 Wed 00:00

Author: Kristian Alexander P

Created: 2024-11-06 Wed 16:29