summaryrefslogtreecommitdiff
path: root/ar
diff options
context:
space:
mode:
Diffstat (limited to 'ar')
-rwxr-xr-xar/.local/bin/dmenudelmusic15
-rwxr-xr-xar/.local/bin/qndl3
2 files changed, 15 insertions, 3 deletions
diff --git a/ar/.local/bin/dmenudelmusic b/ar/.local/bin/dmenudelmusic
index 91994fb..fce8db2 100755
--- a/ar/.local/bin/dmenudelmusic
+++ b/ar/.local/bin/dmenudelmusic
@@ -1,7 +1,9 @@
#!/bin/sh
music_dir="${XDG_MUSIC_DIR:-${HOME}/Music}"
-music_txt="${music_dir}/.music.txt"
+dotfiles_dir="${XDG_DOTFILES_DIR:-${HOME}/.dotfiles}"
+music_txt="${dotfiles_dir}/global/Music/.music.txt"
+music_titles="${dotfiles_dir}/global/Music/.music_titles.txt"
playlist_dir="${XDG_CONFIG_HOME:-${HOME}/.config}/mpd/playlists"
# Select the relative path. Sort the list so "first match" semantics in dmenu
@@ -34,8 +36,15 @@ confirm=$(printf "Yes\nNo" | dmenu -i -p "Delete $selected_relpath and update mp
exit 0
}
-# Remove video_id line from .music.txt (fixed-string match)
-if grep -Fv "$video_id" "$music_txt" >"${music_txt}.tmp" && mv "${music_txt}.tmp" "$music_txt"; then
+# Remove video_id line from .music.txt and .music_titles.txt (fixed-string match)
+remove_id_from() {
+ _file="$1"
+ [ -f "$_file" ] || return 0
+ _tmp="$(mktemp)" || return 1
+ grep -Fv "$video_id" "$_file" >"$_tmp" && mv "$_tmp" "$_file"
+}
+
+if remove_id_from "$music_txt" && remove_id_from "$music_titles"; then
# Remove the relative path from playlists (-F avoids regex pitfalls with [], (), etc.)
for playlist in "$playlist_dir"/*.m3u; do
[ -e "$playlist" ] || continue
diff --git a/ar/.local/bin/qndl b/ar/.local/bin/qndl
index d9381d5..6cf3053 100755
--- a/ar/.local/bin/qndl
+++ b/ar/.local/bin/qndl
@@ -182,7 +182,9 @@ download_music() {
_url="$1"
_output_dir="${XDG_MUSIC_DIR:-$HOME/Music}"
_archive="${XDG_DOTFILES_DIR:-$HOME/.dotfiles}/global/Music/.music.txt"
+ _titles="${XDG_DOTFILES_DIR:-$HOME/.dotfiles}/global/Music/.music_titles.txt"
_format="${_output_dir}/%(artists.0|Unknown Artist)s/%(album|Unknown Album)s/%(title)s.%(ext)s"
+ _title_fmt="$(printf '%%(id)s\t%%(artists.0|Unknown Artist)s - %%(title)s')"
_pl_result="$(handle_playlist "$_url" "music" "$_output_dir" "$_format")"
_pl_flag="$(printf '%s' "$_pl_result" | head -n 1)"
@@ -197,6 +199,7 @@ download_music() {
--audio-format mp3 \
--audio-quality 0 \
--download-archive "$_archive" \
+ --print-to-file "$_title_fmt" "$_titles" \
--output "$_fmt"
}