aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2021-11-04 17:52:47 -0600
committerJosh Rahm <joshuarahm@gmail.com>2022-10-09 12:19:45 -0600
commit70e0ee6c4c74b7479e75f661782af1c4c409314e (patch)
tree05041c2f60929d7b040f9d6d003db6f7d0c6873c
parent9b78e3dd3be1e3a8e036cdda7b1e2ab3027000f8 (diff)
downloadrde-70e0ee6c4c74b7479e75f661782af1c4c409314e.tar.gz
rde-70e0ee6c4c74b7479e75f661782af1c4c409314e.tar.bz2
rde-70e0ee6c4c74b7479e75f661782af1c4c409314e.zip
Clean up spotify-control script.
-rwxr-xr-xextras/HOME/.local/bin/spotify-control50
1 files changed, 43 insertions, 7 deletions
diff --git a/extras/HOME/.local/bin/spotify-control b/extras/HOME/.local/bin/spotify-control
index 751f562..e001eb6 100755
--- a/extras/HOME/.local/bin/spotify-control
+++ b/extras/HOME/.local/bin/spotify-control
@@ -12,27 +12,63 @@ then
exit
fi
+function mpris2_dbus_player_do {
+ dbus-send \
+ --print-reply \
+ --dest=org.mpris.MediaPlayer2.spotify \
+ /org/mpris/MediaPlayer2 \
+ "org.mpris.MediaPlayer2.Player.$1"
+}
+
+function mpris2_dbus_get_player_property {
+ dbus-send \
+ --print-reply \
+ --dest=org.mpris.MediaPlayer2.spotify \
+ /org/mpris/MediaPlayer2 \
+ org.freedesktop.DBus.Properties.Get \
+ string:'org.mpris.MediaPlayer2.Player' "string:$1"
+}
+
case $1 in
"play")
- dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause
+ mpris2_dbus_player_do PlayPause
;;
"next")
- dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next
+ mpris2_dbus_player_do Next
;;
"prev")
- dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Previous
+ mpris2_dbus_player_do Previous
;;
"getTitle")
- dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2.Player' string:'Metadata'|egrep -A 1 "title"|egrep -v "title"|cut -b 44-|cut -d '"' -f 1|egrep -v ^$
+ mpris2_dbus_get_player_property 'Metadata' | \
+ egrep -A 1 "title" | \
+ egrep -v "title" | \
+ cut -b 44- | \
+ cut -d '"' -f 1 | \
+ egrep -v ^$
;;
"getArtist")
- dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2.Player' string:'Metadata'|egrep -A 2 "artist"|egrep -v "artist"|egrep -v "array"|cut -b 27-|cut -d '"' -f 1|egrep -v ^$
+ mpris2_dbus_get_player_property 'Metadata' | \
+ -A 2 "artist" | \
+ egrep -v "artist" | \
+ egrep -v "array" | \
+ cut -b 27- | \
+ cut -d '"' -f 1 | \
+ egrep -v ^$
;;
"getAlbum")
- dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2.Player' string:'Metadata'|egrep -A 2 "album"|egrep -v "album"|egrep -v "array"|cut -b 44-|cut -d '"' -f 1|egrep -v ^$
+ mpris2_dbus_get_player_property 'Metadata' | \
+ egrep -A 2 "album" | \
+ egrep -v "album" | \
+ egrep -v "array" | \
+ cut -b 44- | \
+ cut -d '"' -f 1 | \
+ egrep -v ^$
;;
"getStatus")
- dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2.Player' string:'PlaybackStatus'|grep 'string "[^"]*"'|sed 's/.*"\(.*\)"[^"]*$/\1/'
+ mpris_dbus_get_player_property 'PlaybackStatus' | \
+ grep 'string "[^"]*"' | \
+ sed 's/.*"\(.*\)"[^"]*$/\1/'
;;
*)
echo "Unknown command: " $1