[banshee] Make GetSingle changes available to RandomBy
- From: Gabriel Burt <gburt src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [banshee] Make GetSingle changes available to RandomBy
- Date: Wed, 17 Feb 2010 05:09:11 +0000 (UTC)
commit 74e43d8dbc5a18663db20c5be2d02269804f0547
Author: Gabriel Burt <gabriel burt gmail com>
Date: Tue Feb 16 20:08:03 2010 -0800
Make GetSingle changes available to RandomBy
.../DatabaseTrackModelCache.cs | 9 +++++++--
.../IDatabaseTrackModelCache.cs | 3 ++-
.../Banshee.Collection.Database/RandomBy.cs | 3 +++
.../Banshee.Collection.Database/Shuffler.cs | 4 ++--
4 files changed, 14 insertions(+), 5 deletions(-)
---
diff --git a/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackModelCache.cs b/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackModelCache.cs
index f51126c..e63d3ea 100644
--- a/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackModelCache.cs
+++ b/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackModelCache.cs
@@ -41,9 +41,14 @@ namespace Banshee.Collection.Database
{
}
- public new TrackInfo GetSingle (string random_fragment, params object [] args)
+ public new TrackInfo GetSingle (string conditionOrderFragment, params object [] args)
{
- return base.GetSingle (random_fragment, args);
+ return base.GetSingle (conditionOrderFragment, args);
+ }
+
+ public new TrackInfo GetSingle (string selectFragment, string fromFragment, string conditionOrderFragment, params object [] args)
+ {
+ return base.GetSingle (selectFragment, fromFragment, conditionOrderFragment, args);
}
public new TrackInfo GetValue (long index)
diff --git a/src/Core/Banshee.Services/Banshee.Collection.Database/IDatabaseTrackModelCache.cs b/src/Core/Banshee.Services/Banshee.Collection.Database/IDatabaseTrackModelCache.cs
index abbb98a..1649f67 100644
--- a/src/Core/Banshee.Services/Banshee.Collection.Database/IDatabaseTrackModelCache.cs
+++ b/src/Core/Banshee.Services/Banshee.Collection.Database/IDatabaseTrackModelCache.cs
@@ -45,7 +45,8 @@ namespace Banshee.Collection.Database
long IndexOf (string where_fragment, long offset);
long IndexOf (Hyena.Data.ICacheableItem item);
long IndexOf (object item_entry_id);
- TrackInfo GetSingle (string random_fragment, params object [] args);
+ TrackInfo GetSingle (string selectFragment, string fromFragment, string conditionOrderFragment, params object [] args);
+ TrackInfo GetSingle (string conditionOrderFragment, params object [] args);
TrackInfo GetValue (long index);
long CacheId { get; }
event Action<IDataReader> AggregatesUpdated;
diff --git a/src/Core/Banshee.Services/Banshee.Collection.Database/RandomBy.cs b/src/Core/Banshee.Services/Banshee.Collection.Database/RandomBy.cs
index 8b34b15..9e0889a 100644
--- a/src/Core/Banshee.Services/Banshee.Collection.Database/RandomBy.cs
+++ b/src/Core/Banshee.Services/Banshee.Collection.Database/RandomBy.cs
@@ -127,7 +127,10 @@ namespace Banshee.Collection.Database
}
}
+ // The playback track we choose is dependent on the current PlaybackSource, and what
+ // (if any) query/filter is active there, represented by its DatabaseTrackModel (and its underlying cache).
public abstract TrackInfo GetPlaybackTrack (DateTime after);
+
public abstract DatabaseTrackInfo GetShufflerTrack (DateTime after);
protected DatabaseTrackInfo GetTrack (HyenaSqliteCommand cmd, params object [] args)
diff --git a/src/Core/Banshee.Services/Banshee.Collection.Database/Shuffler.cs b/src/Core/Banshee.Services/Banshee.Collection.Database/Shuffler.cs
index 6ee4ead..8a7399c 100644
--- a/src/Core/Banshee.Services/Banshee.Collection.Database/Shuffler.cs
+++ b/src/Core/Banshee.Services/Banshee.Collection.Database/Shuffler.cs
@@ -154,7 +154,7 @@ namespace Banshee.Collection.Database
}
}
- var random = random_modes.First (r => r.Id == mode);
+ var random = random_modes.FirstOrDefault (r => r.Id == mode);
if (random != null) {
if (!random.IsReady) {
if (!random.Next (random_began_at) && repeat) {
@@ -183,4 +183,4 @@ namespace Banshee.Collection.Database
}
}
}
-}
+}
\ No newline at end of file
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]