aboutsummaryrefslogtreecommitdiff
path: root/extras/HOME/.local
diff options
context:
space:
mode:
authorJosh Rahm <rahm@google.com>2021-11-08 09:43:39 -0700
committerJosh Rahm <rahm@google.com>2021-11-08 09:43:39 -0700
commit909665a8e8938de4e6f62b2da3e32f6597b3a8a5 (patch)
treefb697ba94b73283ce4dcc962e7ae87df02bf230b /extras/HOME/.local
parent278cf20058ad788676a7abe82a65083f41f84e17 (diff)
parentefef2ad31b0a1ce7ebcc2a635114f5a1d3f82ec8 (diff)
downloadrde-master.tar.gz
rde-master.tar.bz2
rde-master.zip
Merge remote-tracking branch 'josher/master'master
Diffstat (limited to 'extras/HOME/.local')
-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