diff --git a/dotfiles/music.org b/dotfiles/music.org index f8688fb..9ecdb86 100644 --- a/dotfiles/music.org +++ b/dotfiles/music.org @@ -44,553 +44,22 @@ Cheatsheet: https://pkgbuild.com/~jelle/ncmpcpp/ :header-args:conf+: :comments both :mkdirp yes :END: -#+BEGIN_SRC conf - ############################################################################## - ## This is the example configuration file. Copy it to $HOME/.ncmpcpp/config ## - ## or $XDG_CONFIG_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. - ## - # +#+begin_src conf 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 ##### - # +#+end_src + +#+begin_src conf mpd_host = localhost - mpd_port = 6600 +#+end_src - #mpd_connection_timeout = 5 - - ## Needed for tag editor and file operations to work. - ## +#+begin_src conf mpd_music_dir = ~/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 - # - ## - ## 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, wave_filled, ellipse. - ## - #visualizer_type = wave - # - #visualizer_look = ●▮ - # - #visualizer_color = blue, cyan, green, yellow, magenta, red - # - ## Alternative subset of 256 colors for terminals that support it. - ## - #visualizer_color = 41, 83, 119, 155, 185, 215, 209, 203, 197, 161 - # - ##### 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 a 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 - ## - ## 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 - ## - 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 "name", "mtime", "format" and "noop". - ## - # - #browser_sort_mode = name - # - #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 = dunstify --replace=19845 "Now Playing ♫" "$(mpc current)" +#+end_src - # - ## - ## 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 - # - #browser_display_mode = classic - # - #search_engine_display_mode = classic - # - #playlist_editor_display_mode = classic - # - #discard_colors_if_item_is_selected = yes - # - #show_duplicate_tags = yes - # - #incremental_seeking = yes - # - #seek_time = 1 - # - #volume_change_step = 2 - # - #autocenter_mode = no - # - #centered_cursor = no - # - ## - ## 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 - # - #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 - # - ## Available values: wrapped, normal. - ## - #default_find_mode = wrapped - # - #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 - # - #lyrics_fetchers = lyricwiki, azlyrics, genius, sing365, lyricsmania, metrolyrics, justsomelyrics, jahlyrics, plyrics, tekstowo, internet - # - #follow_now_playing_lyrics = no - # - #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 - # - #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_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_list_scroll_whole_page = yes - # - #empty_tag_marker = - # - #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 - # - #external_editor = nano - # - ## 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 - ## "_", 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 - # - #empty_tag_color = cyan - # - #header_window_color = default - # - #volume_color = default - # - #state_line_color = default - # - #state_flags_color = default:b - # - #main_window_color = yellow - # - #color1 = white - # - #color2 = green - # - #progressbar_color = black:b - # - #progressbar_elapsed_color = green:b - # - #statusbar_color = default - # - #statusbar_time_color = default:b - # - #player_state_color = default:b - # - #alternative_ui_separator_color = black:b - # - #window_border_color = green - # - #active_window_border = red - # -#+END_SRC +#+begin_src conf + execute_on_song_change = dunstify --replace=19845 "Now Playing ♫" "$(mpc current)" +#+end_src ** Bindings :PROPERTIES: @@ -634,7 +103,7 @@ Cheatsheet: https://pkgbuild.com/~jelle/ncmpcpp/ #+end_src -* MPD +* MPD (not used anymore) :PROPERTIES: :header-args:conf: :tangle ~/.config/mpd/mpd.conf :header-args:conf+: :comments both :mkdirp yes @@ -643,50 +112,12 @@ https://www.musicpd.org/ ** Files and directories #+BEGIN_SRC conf -# 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 "~/.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" #+END_SRC ** General music daemon options @@ -1029,19 +460,21 @@ audio_output { :END: http://beets.io/ -#+BEGIN_SRC conf +#+begin_src conf directory: ~/Music library: ~/Music/musiclibrary.db import: move: yes -#+END_SRC +#+end_src + * Mopidy :PROPERTIES: :header-args:conf: :tangle ~/.config/mopidy/mopidy.conf :header-args:conf+: :comments none :mkdirp yes :noweb no-export :END: -#+BEGIN_SRC conf + +#+begin_src conf [spotify] username = dehaeze.thomas@gmail.com password = <> @@ -1062,7 +495,7 @@ http://beets.io/ [audio] output = tee name=t t. ! queue ! autoaudiosink t. ! queue ! audioresample ! audioconvert ! audio/x-raw,rate=44100,channels=2,format=S16LE ! wavenc ! filesink location=/tmp/mpd.fifo -#+END_SRC +#+end_src * Radio with curseradio :PROPERTIES: