Files
literate-dotfiles/music.org

171 lines
3.5 KiB
Org Mode

#+TITLE: Music/Sound Configuration
#+SETUPFILE: ./setup/org-setup-file.org
* =pwvucontrol= - Volume Control for Pipewire
* =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:
Things done to get mopidy to work:
#+begin_src bash :eval no :tangle no
cd ~/.local/soft/
git clone git@github.com:jellyfin/mopidy-jellyfin.git && cd mopidy-jellyfin
python -m venv env --system-site-packages
env/bin/python setup.py develop
env/bin/pip install mopidy-mpd
#+end_src
To run mopidy:
#+begin_src bash :eval no :tangle no
~/.local/soft/mopidy-jellyfin/env/bin/mopidy
#+end_src
#+begin_src conf
[core]
cache_dir = ~/.cache/mopidy
config_dir = ~/.config/mopidy
data_dir = ~/.local/data/mopidy
[audio]
output = queue2 max-size-buffers=20000 max-size-time=0 max-size-bytes=0 ! audioconvert ! pulsesink
[stream]
enabled = true
protocols =
http
https
timeout = 30000
[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}
[file]
enabled = false
[logging]
verbosity = 4
format = %(levelname)-8s %(asctime)s [%(process)d:%(threadName)s] %(name)s\n %(message)s
color = true
#+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
lyrics_directory = ~/.local/share/lyrics
#+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
Lyrics
#+begin_src conf
lyrics_fetchers = musixmatch, sing365, metrolyrics, justsomelyrics, jahlyrics, plyrics, tekstowo, zeneszoveg, internet
#+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