diff src/audacious/playback.c @ 3346:71d8d93f1bad trunk

Implemented TrackChange, StatusChange signals, with a stub for CapsChange.
author Ben Tucker <ben.tucker@gmail.com>
date Sun, 12 Aug 2007 16:10:45 -0700
parents 6dbb73b8e28c
children 2a081105513c
line wrap: on
line diff
--- a/src/audacious/playback.c	Sun Aug 12 13:28:09 2007 -0700
+++ b/src/audacious/playback.c	Sun Aug 12 16:10:45 2007 -0700
@@ -108,7 +108,7 @@
     if (playback->error)
         return -2;
     if (!playback->playing || 
-	(playback->eof && !playback->output->buffer_playing()))
+    (playback->eof && !playback->output->buffer_playing()))
         return -1;
     return playback->output->output_time();
 }
@@ -191,10 +191,17 @@
 
     g_return_if_fail(mainwin_playstatus != NULL);
 
-    if (ip_data.paused)
+    if (ip_data.paused) {
         ui_skinned_playstatus_set_status(mainwin_playstatus, STATUS_PAUSE);
-    else
+#ifdef USE_DBUS
+        mpris_emit_status_change(mpris, MPRIS_STATUS_PAUSE);
+#endif
+    } else {
         ui_skinned_playstatus_set_status(mainwin_playstatus, STATUS_PLAY);
+#ifdef USE_DBUS
+        mpris_emit_status_change(mpris, MPRIS_STATUS_PLAY);
+#endif
+    }
 }
 
 void
@@ -240,6 +247,9 @@
         g_free(playback->filename);
         g_free(playback);
         set_current_input_playback(NULL);
+#ifdef USE_DBUS
+        mpris_emit_status_change(mpris, MPRIS_STATUS_STOP);
+#endif
     }
 
     ip_data.buffering = FALSE;
@@ -345,6 +355,9 @@
     set_current_input_playback(playback);
 
     playback->thread = g_thread_create(playback_monitor_thread, playback, TRUE, NULL);
+#ifdef USE_DBUS
+    mpris_emit_status_change(mpris, MPRIS_STATUS_PLAY);
+#endif
 
     return TRUE;
 }