[banshee/gapless-ng: 4/836] [Banshee.PlaybackControllerService] Listen for RequestNextTrack messages, and treat them like EoS.



commit 5cf723b068d83ef527772b6b5772f2a98a076f00
Author: Christopher James Halse Rogers <raof ubuntu com>
Date:   Wed Jul 15 14:51:00 2009 +1000

    [Banshee.PlaybackControllerService] Listen for RequestNextTrack messages, and treat them like EoS.

 .../PlaybackControllerService.cs                   |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)
---
diff --git a/src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs b/src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs
index d870b01..81cf3e2 100644
--- a/src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs
+++ b/src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs
@@ -89,7 +89,8 @@ namespace Banshee.PlaybackController
             
             player_engine = ServiceManager.PlayerEngine;
             player_engine.PlayWhenIdleRequest += OnPlayerEnginePlayWhenIdleRequest;
-            player_engine.ConnectEvent (OnPlayerEvent, 
+            player_engine.ConnectEvent (OnPlayerEvent,
+                PlayerEvent.RequestNexttrack |
                 PlayerEvent.EndOfStream | 
                 PlayerEvent.StartOfStream |
                 PlayerEvent.StateChange |
@@ -164,6 +165,9 @@ namespace Banshee.PlaybackController
                         transition_track_started = true;
                     }
                     break;
+                case PlayerEvent.RequestNexttrack:
+                    RequestTrackHandler ();
+                    break;
             }       
         }
         
@@ -174,9 +178,15 @@ namespace Banshee.PlaybackController
                 error_transition_id = 0;
             }
         }
-        
+
         private bool EosTransition ()
         {
+            player_engine.IncrementLastPlayed ();
+            return true;
+        }
+        
+        private bool RequestTrackHandler ()
+        {
             if (!StopWhenFinished) {
                 if (RepeatMode == PlaybackRepeatMode.RepeatSingle) {
                     QueuePlayTrack ();



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]