[banshee/gapless-ng: 17/836] [Banshee.GStreamer] Update CurrentTrack.LastPlayed before firing RequestNextTrack. This is needed to
- From: Christopher James Halse Rogers <chrishr src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [banshee/gapless-ng: 17/836] [Banshee.GStreamer] Update CurrentTrack.LastPlayed before firing RequestNextTrack. This is needed to
- Date: Thu, 25 Feb 2010 22:42:52 +0000 (UTC)
commit cd25709d084e44e8fb9b3bafedd725220c8e2229
Author: Christopher James Halse Rogers <raof ubuntu com>
Date: Mon Jul 20 14:47:27 2009 +1000
[Banshee.GStreamer] Update CurrentTrack.LastPlayed before firing RequestNextTrack.
This is needed to make Shuffle-by-* modes work with gapless, where we need to request the next track
before the current track has finished (and had its playcount, lastplayed, etc updated).
.../Banshee.GStreamer/PlayerEngine.cs | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
---
diff --git a/src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs b/src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs
index 29ef0fd..73f2a0b 100644
--- a/src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs
+++ b/src/Backends/Banshee.GStreamer/Banshee.GStreamer/PlayerEngine.cs
@@ -277,6 +277,17 @@ namespace Banshee.GStreamer
private void OnAboutToFinish (IntPtr player)
{
+ /*
+ * This is needed to make Shuffle-by-* work.
+ * Shuffle-by-* uses the LastPlayed field to determine what track in the grouping to play next.
+ * Therefore, we need to update this before requesting the next track.
+ *
+ * This will be overridden by IncrementLastPlayed () called by
+ * PlaybackControllerService's EndOfStream handler.
+ */
+ CurrentTrack.LastPlayed = DateTime.Now;
+ CurrentTrack.Save ();
+
OnEventChanged (PlayerEvent.RequestNexttrack);
// Gapless playback with Playbin2 requires that the about-to-finish callback does not return until
// the next uri has been set. Block here for a second or until the RequestNextTrack event has
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]