banshee r3410 - in trunk/banshee: . src/Core/Banshee.Core/Banshee.Collection src/Core/Banshee.Services/Banshee.Collection.Database src/Core/Banshee.Services/Banshee.Library src/Core/Banshee.Services/Banshee.MediaEngine
- From: abock svn gnome org
- To: svn-commits-list gnome org
- Subject: banshee r3410 - in trunk/banshee: . src/Core/Banshee.Core/Banshee.Collection src/Core/Banshee.Services/Banshee.Collection.Database src/Core/Banshee.Services/Banshee.Library src/Core/Banshee.Services/Banshee.MediaEngine
- Date: Tue, 11 Mar 2008 01:44:24 +0000 (GMT)
Author: abock
Date: Tue Mar 11 01:44:24 2008
New Revision: 3410
URL: http://svn.gnome.org/viewvc/banshee?rev=3410&view=rev
Log:
2008-03-10 Aaron Bockover <abock gnome org>
* src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs: Change
AudiblyEqual to TrackEqual since it makes more sense; make the base
comparison compare the track URIs
* src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs:
Override TrackEqual and use database IDs for comparisons since that
is much more efficient; not complete however; renamed DbId to TrackId
* src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs:
* src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs:
* src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:
Changed to use TrackId instead of DbId
Modified:
trunk/banshee/ChangeLog
trunk/banshee/src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs
trunk/banshee/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs
trunk/banshee/src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs
trunk/banshee/src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs
trunk/banshee/src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs
Modified: trunk/banshee/src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs (original)
+++ trunk/banshee/src/Core/Banshee.Core/Banshee.Collection/TrackInfo.cs Tue Mar 11 01:44:24 2008
@@ -84,13 +84,13 @@
AlbumTitle, Duration, Uri == null ? "<unknown>" : Uri.AbsoluteUri);
}
- public virtual bool AudiblyEqual (TrackInfo track)
+ public virtual bool TrackEqual (TrackInfo track)
{
if (track == null) {
return false;
}
- return ArtistAlbumEqual (track) && StringUtil.RelaxedCompare (track.TrackTitle, TrackTitle) == 0;
+ return track.Uri.AbsoluteUri == Uri.AbsoluteUri;
}
public bool ArtistAlbumEqual (TrackInfo track)
Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs (original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackInfo.cs Tue Mar 11 01:44:24 2008
@@ -69,6 +69,26 @@
{
}
+ public override bool TrackEqual (TrackInfo track)
+ {
+ if (!(track is DatabaseTrackInfo)) {
+ return base.TrackEqual (track);
+ }
+
+ DatabaseTrackInfo db_track = (DatabaseTrackInfo)track;
+
+ if (db_track.TrackId == TrackId) {
+ /*if (db_track.Source == Source) {
+ Console.WriteLine ("{0}, {1}", db_track.Source, Source);
+ return this == db_track;
+ }
+
+ */ return true;
+ }
+
+ return false;
+ }
+
public override void Save ()
{
Save (true);
@@ -77,7 +97,7 @@
public void Save (bool notify)
{
DateUpdated = DateTime.Now;
- bool is_new = dbid == 0;
+ bool is_new = TrackId == 0;
Provider.Save (this);
if (notify) {
if (is_new) {
@@ -89,9 +109,9 @@
}
[DatabaseColumn ("TrackID", Constraints = DatabaseColumnConstraints.PrimaryKey)]
- private int dbid;
- public int DbId {
- get { return dbid; }
+ private int track_id;
+ public int TrackId {
+ get { return track_id; }
}
[DatabaseColumn ("SourceID", Index = "CoreTracksSourceIndex")]
Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs (original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.Collection.Database/TrackListDatabaseModel.cs Tue Mar 11 01:44:24 2008
@@ -273,7 +273,7 @@
public override int IndexOf (TrackInfo track)
{
DatabaseTrackInfo db_track = track as DatabaseTrackInfo;
- return (int) (db_track == null ? -1 : cache.IndexOf ((int)db_track.DbId));
+ return (int) (db_track == null ? -1 : cache.IndexOf ((int)db_track.TrackId));
}
public override TrackInfo this[int index] {
Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs (original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.Library/LibraryImportManager.cs Tue Mar 11 01:44:24 2008
@@ -97,7 +97,7 @@
try {
DatabaseTrackInfo track = AddTrackToLibrary (path);
- if (track != null && track.DbId > 0) {
+ if (track != null && track.TrackId > 0) {
IncrementProcessedCount (String.Format ("{0} - {1}",
track.DisplayArtistName, track.DisplayTrackTitle));
}
Modified: trunk/banshee/src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs (original)
+++ trunk/banshee/src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs Tue Mar 11 01:44:24 2008
@@ -362,7 +362,7 @@
public bool IsPlaying (TrackInfo track)
{
return CurrentState != PlayerEngineState.Idle && CurrentState != PlayerEngineState.NotReady &&
- track != null && track.AudiblyEqual (CurrentTrack);
+ track != null && track.TrackEqual (CurrentTrack);
}
private void CheckPending ()
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]