From 1b4136756e407fc50ec8d9d6726c403de03b6c18 Mon Sep 17 00:00:00 2001 From: dabruh <11458706-dabruh@users.noreply.gitlab.com> Date: Sun, 29 May 2022 19:29:10 +0200 Subject: [PATCH] Easily re(move) playing cmus tracks. --- .local/bin/cmus-track | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100755 .local/bin/cmus-track diff --git a/.local/bin/cmus-track b/.local/bin/cmus-track new file mode 100755 index 0000000..f59ac09 --- /dev/null +++ b/.local/bin/cmus-track @@ -0,0 +1,37 @@ +#!/bin/bash + +# +# Remove or move the current playing cmus track and play the next track. +# +# Usage: +# cmus-track rm +# cmus-track mv path/to/new/dir +# + +function get_field() { + local row + row="$(grep "^$1 " <<<"$QUERY_RESULT")" + echo "${row#"$1 "}" +} + +QUERY_RESULT="$(cmus-remote --query 2>/dev/null)" +[ -z "$QUERY_RESULT" ] && exit 1 + +FILE="$(get_field file)" + +ACTION="$1" +if [ "$ACTION" == "rm" ]; then + rm -vI "$FILE" + cmus-remote --next +elif [ "$ACTION" == "mv" ]; then + TARGET_DIR="${2}" + if ! [ -d "$TARGET_DIR" ]; then + echo "ERROR: TARGET_DIR doesn't exist: '$TARGET_DIR'." 1>&2 + exit 3 + fi + + mv -iv "$FILE" "$TARGET_DIR" || exit 4 +else + echo "ERROR: Unsupported action '$ACTION'." 1>&2 + exit 2 +fi