summaryrefslogtreecommitdiff
path: root/m
diff options
context:
space:
mode:
Diffstat (limited to 'm')
-rwxr-xr-xm33
1 files changed, 33 insertions, 0 deletions
diff --git a/m b/m
new file mode 100755
index 0000000..0cf742f
--- /dev/null
+++ b/m
@@ -0,0 +1,33 @@
+#!/bin/dash
+
+case "$1" in
+ "") socat - tcp-connect:localhost:6600 | grep -v '^OK' | sed 's/^$//';;
+ "dir") shift; ls "$1" | sed "s/\*//" | sed -e "$(echo 's/^/'"$(echo "$1/" | $0 strip )"'\//')" | egrep '\.(mp3|ogg|aac|flac|wav|mid|mp4|mp2|mod|mpc|mpp)';;
+ "strip") sed 's/\/$//' | sed 's:\(.*\/\)*\(.*\/\)*:\2\\/:' | sed 's/^\\\///' ;;
+ "get") shift; grep -i "^$1:" | sed 's|^'$1': \(.*\)|\1|i' ;;
+ "add") sed 's|\(.*\)|add \"\1\"|' | $0 ;;
+ "filter") shift; eval $(perl -e 'print join ("|",map { "grep -i " . $_ } @ARGV);' $*) ;;
+ "cmdlist") sed -e '1i command_list_begin' -e '$a command_list_end' ;;
+ "queue") gawk '{i--;printf "addid \"%s\" %d\n", $0, i}' ;;
+ "newlist") sed -e '1i clear' -e '$a play' ;;
+ "toggle") sed -e 's#state: \(stop\|pause\)#play#' -e 's#state: play#pause#' | tr 01 10 | tr -d : ;;
+ "reset-pl") echo add / | $0 newlist | $0 ;;
+
+ "w") $0 clear ;;
+ "d") $0 delete $2 ;;
+ "t") $0 status | grep state | $0 toggle | $0 ;;
+ "c") $0 currentsong ;;
+ "l") $0 playlist ;;
+ "g") $0 play `[ "$2" = "" ] && cat - || echo $2`;;
+ "n") $0 next ;;
+ "p") $0 previous ;;
+ "s") $0 search $2 $3 ;;
+ "ss") $0 playlistsearch $2 $3 ;;
+ *) echo $* | $0 ;;
+esac
+
+# Depreciated:
+# "n") $0 g $(dc -e "$($0 cs | grep '^Pos:' | cut -c 6-) 1 + $($0 ls | wc -l) %p");; # awesome, but unnecessary
+# "qry") $0 listall | $0 get | $0 filter $* ;;
+# "n") $0 g $($0 status | $0 get nextsongid) ;;
+# "p") $0 g $(dc -e "$($0 cs | grep '^Pos:' | cut -c 6-) 1 - p");;