Recently Written · git

dsad

Dmenu interface for Simple Audio Daemon

git clone https://github.com/equwal/dsad

Log | Files | Refs


commit 80abc897764176c824ddc114482ac5d7c6f4c65f
Spenser Truex <truex@equwal.com>
2024-04-24 02:43:17 -0300

Added makefiles and dist

 Makefile          | 29 +++++++++++++++++++++++++++++
 config.mk         |  5 +++++
 dsad              | 37 +++++++++++++++++--------------------
 sad-add-playlist  |  2 ++
 sadcmd => sad-cmd |  0
 sad-menu          |  9 +++++++++
 sad-start         |  6 +++---
 7 files changed, 65 insertions(+), 23 deletions(-)
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..903957b
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,29 @@
+include config.mk
+
+# do NOT quote this
+SAD_SCRIPTS=dsad sad-add sad-add-playlist sad-cmd sad-menu sad-start sad-toggle-play
+
+PROJECTNAME=sad-scripts
+all:
+	@echo Nothing to build: use make install, make uninstall, or make dist.
+
+dist:
+	@echo creating dist tarball
+	@mkdir -p ${PROJECTNAME}-${VERSION}
+	@cp -R Makefile config.mk ${SAD_SCRIPTS} ${PROJECTNAME}-${VERSION}
+	@tar -cf ${PROJECTNAME}-${VERSION}.tar ${PROJECTNAME}-${VERSION}
+	@gzip ${PROJECTNAME}-${VERSION}.tar
+	@rm -rf ${PROJECTNAME}-${VERSION}
+
+install:
+	@chmod 755 ${SAD_SCRIPTS}
+	@echo installing scripts to ${DESTDIR}${PREFIX}/bin
+	@mkdir -p ${DESTDIR}${PREFIX}
+	@cp bm ${DESTDIR}${PREFIX}/bin
+
+uninstall:
+	@echo removing scripts
+	rm -f ${DESTDIR}${PREFIX}/bin/bm
+
+distclean:
+	@rm -r  ${PROJECTNAME}-${VERSION}
diff --git a/config.mk b/config.mk
new file mode 100644
index 0000000..c664fc4
--- /dev/null
+++ b/config.mk
@@ -0,0 +1,5 @@
+VERSION=0.1
+SHELL = /bin/sh
+
+PREFIX=/usr/local
+MANPREFIX=${PREFIX}/share/man
diff --git a/dsad b/dsad
index ffcf3ca..cfefdee 100755
--- a/dsad
+++ b/dsad
@@ -1,14 +1,15 @@
 #!/bin/sh
 # dmenu script for sad
-# requires BSD-style netcat with -N (it is in gentoo and arch packagers, at least)
-#
+# - requires BSD-style netcat with -N (it is in gentoo and arch packagers, at least)
+# - requires sadcmd
 PROMPT="sad? "
 
 # hint: order the following however you want.
 
-CUSTOMCMDS="sad-toggle-play
-sad-add
-sad-start"
+CUSTOMCMDS="sadmenu
+sad-start
+sad-toggle-play"
+
 ZEROCMDS="next
 prev
 stop
@@ -22,7 +23,9 @@ ping
 uptime
 version"
 
-ARGCMDS="add path
+ARGCMDS="sad-add file/dir
+sad-add-playlist playlist.ply
+add path
 volume 0-100
 pause [0|1]
 play [ID]
@@ -30,24 +33,18 @@ remove [ID]
 enable output
 disable output"
 
-sadcmd () {
-  [ -e "$SAD_SOCK" ] \
-      || printf "Socket not found at %s\\n" "$SAD_SOCK" \
-      && exit 1
-  printf "%s %s\\n" "$1" "$2" | nc -NU "$SAD_SOCK"
-}
-
 # Echo, fixed so only the first argument can be flags.
-cmd=$(printf "%s\\n%s\\n%s" "$CUSTOMCMDS" "$ZEROCMDS" "$ARGCMDS" \
-      | dmenu -i -l "$(printf "%s\\n%s\\n%s" "$CUSTOMCMDS" "$ZEROCMDS" "$ARGCMDS" | wc -l -)" -p "$PROMPT" \
+cmd=$(printf "%s\\n%s\\n%s"  "$CUSTOMCMDS" "$ZEROCMDS" "$ARGCMDS" \
+      | dmenu -i -l "$(printf "%s\\n%s\\n%s"  "$CUSTOMCMDS" "$ZEROCMDS" "$ARGCMDS" | wc -l -)" -p "$PROMPT" \
       | cut -f1 -d ' ')
 
-[ -n "$(printf "%s" "$CUSTOMCMDS" | grep "$cmd")" ]  && eval "$cmd"  && exit 0
-[ -n "$(printf "%s" "$ZEROCMDS"   | grep "$cmd")" ] && sadcmd "$cmd" && exit 0
+[ -n "$(printf "%s" "$CUSTOMCMDS" | grep "$cmd")" ] \
+    && eval "$cmd"  && exit 0
+[ -n "$(printf "%s" "$ZEROCMDS"   | grep "$cmd")" ] \
+    && sadcmd "$cmd" && exit 0
 [ -n "$(printf "%s" "$ARGCMDS"    | grep "$cmd")" ] \
-    && sadcmd \
-         "$cmd" \
-         "$(printf "" | dmenu -i -l 0 -p "arg $(printf "%s" "$ARGCMDS" | grep "$cmd" | cut -d ' ' -f 2)? ")" \
+    && sadcmd "$cmd"  \
+              "$(printf "" | dmenu -i -l 0 -p "arg $(printf "%s" "$ARGCMDS" | grep "$cmd" | cut -d ' ' -f 2)? ")" \
     && exit 0
 
 # not an arg
diff --git a/sad-add-playlist b/sad-add-playlist
new file mode 100755
index 0000000..820f346
--- /dev/null
+++ b/sad-add-playlist
@@ -0,0 +1,2 @@
+#!/bin/sh
+sad-add -p "$@"
diff --git a/sadcmd b/sad-cmd
similarity index 100%
rename from sadcmd
rename to sad-cmd
diff --git a/sad-menu b/sad-menu
new file mode 100755
index 0000000..8c46ae3
--- /dev/null
+++ b/sad-menu
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+MUSIC="$HOME"/aud/mus
+
+chdir "$MUSIC"
+
+the_music="$(find . | dmenu -l 15 -p 'pick music: ')"
+
+sad-add "$(pwd)"/"$the_music"
diff --git a/sad-start b/sad-start
index 46db27d..18205cb 100755
--- a/sad-start
+++ b/sad-start
@@ -2,7 +2,7 @@
 SAD_SOCK=${SAD_SOCK:-"$HOME"/.socket}
 [ -e "$SAD_SOCK" ] \
     && echo "socket already exists at $SAD_SOCK" \
-    && echo "sad is probably running" \
-    && echo "exiting" \
-    && exit 1
+    && echo "sad is maybe already running" \
+    && echo "Deleting it and attempting to start" \
+    && rm "$SAD_SOCK"
 sad -f "$SAD_SOCK" &