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



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]