diff options
| author | Josh Rahm <joshuarahm@gmail.com> | 2021-11-04 17:52:47 -0600 |
|---|---|---|
| committer | Josh Rahm <joshuarahm@gmail.com> | 2022-10-09 12:19:45 -0600 |
| commit | 70e0ee6c4c74b7479e75f661782af1c4c409314e (patch) | |
| tree | 05041c2f60929d7b040f9d6d003db6f7d0c6873c | |
| parent | 9b78e3dd3be1e3a8e036cdda7b1e2ab3027000f8 (diff) | |
| download | rde-70e0ee6c4c74b7479e75f661782af1c4c409314e.tar.gz rde-70e0ee6c4c74b7479e75f661782af1c4c409314e.tar.bz2 rde-70e0ee6c4c74b7479e75f661782af1c4c409314e.zip | |
Clean up spotify-control script.
| -rwxr-xr-x | extras/HOME/.local/bin/spotify-control | 50 |
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 |