literate-dotfiles/music.org

211 lines
3.7 KiB
Org Mode

#+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 = <<get-password(passname="music.tdehaeze.xyz/tdehaeze")>>
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 = dunstify --replace=19845 "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