[banshee] Don't increment skip counter when restarting current track (bgo#615219)
- From: Bertrand Lorentz <blorentz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [banshee] Don't increment skip counter when restarting current track (bgo#615219)
- Date: Sat, 5 May 2012 21:34:50 +0000 (UTC)
commit 8b781343709c6799566cf7c218f28ef094392a36
Author: Javon Harper <javon d harper gmail com>
Date: Sun Apr 22 19:24:50 2012 -0400
Don't increment skip counter when restarting current track (bgo#615219)
Signed-off-by: Bertrand Lorentz <bertrand lorentz gmail com>
.../Banshee.MediaEngine/PlayerEngineService.cs | 10 ++++++++++
.../PlaybackControllerService.cs | 11 ++++++-----
.../Banshee.Gui/PlaybackActions.cs | 6 +-----
3 files changed, 17 insertions(+), 10 deletions(-)
---
diff --git a/src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs b/src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs
index a0ed399..793b9cd 100644
--- a/src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs
+++ b/src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs
@@ -499,6 +499,16 @@ namespace Banshee.MediaEngine
}
}
+ public void RestartCurrentTrack ()
+ {
+ var track = CurrentTrack;
+ if (track != null) {
+ // Don't process the track as played through IncrementLastPlayed, just play it again
+ active_engine.Close (false);
+ OpenPlay (track);
+ }
+ }
+
// For use by RadioTrackInfo
// TODO remove this method once RadioTrackInfo playlist downloading/parsing logic moved here?
internal void StartSynthesizeContacting (TrackInfo track)
diff --git a/src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs b/src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs
index 4fe49fb..19a649a 100644
--- a/src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs
+++ b/src/Core/Banshee.Services/Banshee.PlaybackController/PlaybackControllerService.cs
@@ -286,14 +286,15 @@ namespace Banshee.PlaybackController
if (player_engine.Position < delay) {
Previous ();
} else {
- var track = player_engine.CurrentTrack;
- if (track != null) {
- player_engine.Close ();
- player_engine.OpenPlay (track);
- }
+ Restart ();
}
}
+ public void Restart ()
+ {
+ player_engine.RestartCurrentTrack ();
+ }
+
bool IBasicPlaybackController.First ()
{
if (Source.Count > 0) {
diff --git a/src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs b/src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs
index 5c9844b..09d6139 100644
--- a/src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs
+++ b/src/Core/Banshee.ThickClient/Banshee.Gui/PlaybackActions.cs
@@ -242,11 +242,7 @@ namespace Banshee.Gui
private void OnRestartSongAction (object o, EventArgs args)
{
- TrackInfo track = ServiceManager.PlayerEngine.CurrentTrack;
- if (track != null) {
- ServiceManager.PlayerEngine.Close ();
- ServiceManager.PlayerEngine.OpenPlay (track);
- }
+ ServiceManager.PlaybackController.Restart ();
}
private void OnStopWhenFinishedAction (object o, EventArgs args)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]