From e4f900efd1e48814a70e4351cc3d878312daef37 Mon Sep 17 00:00:00 2001 From: Conor Curran Date: Thu, 8 Jul 2010 16:12:59 +0100 Subject: event handling now plugged in crudely --- src/mpris-controller.vala | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) (limited to 'src/mpris-controller.vala') diff --git a/src/mpris-controller.vala b/src/mpris-controller.vala index b1e66f3..61c96e7 100644 --- a/src/mpris-controller.vala +++ b/src/mpris-controller.vala @@ -65,16 +65,29 @@ public class MprisController : GLib.Object * TRUE => Playing * FALSE => Paused **/ - public void toggle_playback(bool state) + public void transport_event(int command) { - if(state == true){ - debug("about to play"); - this.mpris_player.Play(); + if(command == 2){ + status st = this.mpris_player.GetStatus(); + bool play_state = st.playback == 1; + debug("toggle_playback - initial play state %i", (int)play_state); + bool new_play_state = !play_state; + debug("toggle_playback - new play state %i", (int)new_play_state); + if(new_play_state == true){ + debug("about to play"); + this.mpris_player.Play(); + } + else{ + debug("about to pause"); + this.mpris_player.Pause(); + } + } + else if(command == 1){ + this.mpris_player.previous(); + } + else if(command == 3){ + this.mpris_player.next(); } - else{ - debug("about to pause"); - this.mpris_player.Pause(); - } } public bool connected() -- cgit v1.2.3