diff options
Diffstat (limited to 'ar/.local')
| -rwxr-xr-x | ar/.local/bin/dmenudelmusic | 15 | ||||
| -rwxr-xr-x | ar/.local/bin/qndl | 3 |
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" } |
