aboutsummaryrefslogtreecommitdiff
path: root/extras
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2021-11-04 17:52:47 -0600
committerJosh Rahm <joshuarahm@gmail.com>2021-11-04 17:52:47 -0600
commitea44b017950cbab49a68959190ab0a859d45e7b1 (patch)
treeec749e0fb84f0079a1500366ca2d56d14ba65e7e /extras
parent6bf7c66bf222d901821a6c51ca5739e17704c953 (diff)
downloadrde-ea44b017950cbab49a68959190ab0a859d45e7b1.tar.gz
rde-ea44b017950cbab49a68959190ab0a859d45e7b1.tar.bz2
rde-ea44b017950cbab49a68959190ab0a859d45e7b1.zip
Clean up spotify-control script.
Diffstat (limited to 'extras')
-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