#+TITLE: Music/Sound Configuration #+SETUPFILE: ./setup/org-setup-file.org * =pavucontrol= - Volume Control :PROPERTIES: :header-args: :tangle ~/.config/pavucontrol.ini :header-args+: :comments both :mkdirp yes :CUSTOM_ID: pavucontrol :END: #+BEGIN_SRC conf [window] width=500 height=400 sinkInputType=1 sourceOutputType=1 sinkType=0 sourceType=1 showVolumeMeters=1 #+END_SRC * =mopidy= - Music Server :PROPERTIES: :header-args:conf: :tangle ~/.config/mopidy/mopidy.conf :header-args:conf+: :comments none :mkdirp yes :noweb no-export :CUSTOM_ID: mopidy :END: #+begin_src conf [mpd] enabled = true hostname = 127.0.0.1 port = 6600 password = max_connections = 20 connection_timeout = 60 zeroconf = Mopidy MPD server on $hostname command_blacklist = listall,listallinfo default_playlist_scheme = m3u [jellyfin] hostname = https://jellyfin.tdehaeze.xyz username = tdehaeze password = <> libraries = Music albumartistsort = True album_format = {ProductionYear} - {Name} max_bitrate = 10000 [file] enabled = true media_dirs = /home/thomas/Music excluded_file_extensions = .db .directory .html .jpeg .jpg .log .nfo .pdf .png .txt .zip #+end_src * =ncmpcpp= - Ncurses based MPD client :PROPERTIES: :CUSTOM_ID: ncmpcpp :END: https://rybczak.net/ncmpcpp/ Cheatsheet: https://pkgbuild.com/~jelle/ncmpcpp/ ** Config :PROPERTIES: :header-args:conf: :tangle ~/.config/ncmpcpp/config :header-args:conf+: :comments both :mkdirp yes :END: Configuration directory. #+begin_src conf ncmpcpp_directory = ~/.config/ncmpcpp #+end_src MPD Configuration. #+begin_src conf mpd_host = localhost mpd_port = 6600 mpd_music_dir = ~/Music #+end_src Notification of song change. #+begin_src conf execute_on_song_change = notify-send --hint=string:x-dunst-stack-tag:Z7uCd3ZP "Now Playing ♫" "$(mpc current)" #+end_src Better user interface #+begin_src conf user_interface = "alternative" playlist_editor_display_mode = "columns" search_engine_display_mode = "columns" browser_display_mode = "columns" playlist_display_mode = "columns" #+end_src Sorting by tracking number and then title #+begin_src conf browser_sort_mode = "format" browser_sort_format = '{%n - %t}|{%t}' #+end_src #+begin_src conf ask_before_clearing_playlists = "no" #+end_src ** Bindings :PROPERTIES: :header-args:conf: :tangle ~/.config/ncmpcpp/bindings :header-args:conf+: :comments none :mkdirp yes :END: #+begin_src conf def_key "q" run_external_command "sh -c 'if [ $TMUX ] ; then tmux detach; fi'" def_key "Q" quit def_key "g" move_home def_key "G" move_end def_key "j" scroll_down def_key "k" scroll_up def_key "ctrl-u" page_up def_key "ctrl-d" page_down def_key "l" enter_directory def_key "h" jump_to_parent_directory def_key "." show_lyrics def_key "n" next_found_item def_key "N" previous_found_item def_key "J" move_sort_order_down def_key "K" move_sort_order_up def_key "d" delete_playlist_items def_key "+" volume_up def_key "-" volume_down #+end_src * =beets= - Media library management :PROPERTIES: :header-args:conf: :tangle ~/.config/beets/config.yaml :header-args:conf+: :comments both :mkdirp yes :CUSTOM_ID: beets :END: http://beets.io/ #+begin_src conf directory: ~/Music library: ~/Music/musiclibrary.db art_filename: cover import: move: yes plugins: fromfilename discogs #+end_src * =curseradio= - Radio with curseradio :PROPERTIES: :header-args:conf: :tangle ~/.config/curseradio/curseradio.cfg :header-args:conf+: :comments none :mkdirp yes :CUSTOM_ID: curseradio :END: #+begin_src conf [opml] root = http://opml.radiotime.com/ [playback] command = /usr/bin/mpv [interface] keymap = vi [keymap.vi] up = k down = j start = 0 end = $ pageup = u pagedown = d enter = l stop = p exit = q favourite = f #+end_src