banshee r4495 - in trunk/banshee: . src/Dap/Banshee.Dap/Banshee.Dap src/Libraries/Mtp/Mtp



Author: gburt
Date: Mon Sep  8 22:58:08 2008
New Revision: 4495
URL: http://svn.gnome.org/viewvc/banshee?rev=4495&view=rev

Log:
2008-09-08  Gabriel Burt  <gabriel burt gmail com>

	* src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs: Don't add duplicate tracks
	to devices.

	* src/Libraries/Mtp/Mtp/AbstractTrackList.cs: Remove random WriteLine.



Modified:
   trunk/banshee/ChangeLog
   trunk/banshee/src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs
   trunk/banshee/src/Libraries/Mtp/Mtp/AbstractTrackList.cs

Modified: trunk/banshee/src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs
==============================================================================
--- trunk/banshee/src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs	(original)
+++ trunk/banshee/src/Dap/Banshee.Dap/Banshee.Dap/DapSource.cs	Mon Sep  8 22:58:08 2008
@@ -294,10 +294,17 @@
             }
         }
 
+        HyenaSqliteCommand track_on_dap_query = new HyenaSqliteCommand (
+            "SELECT TrackID FROM CoreTracks WHERE PrimarySourceID = ? AND MetadataHash = ? LIMIT 1");
+
         private void AttemptToAddTrackToDevice (DatabaseTrackInfo track, SafeUri fromUri)
         {
+            // Ensure there's enouch space
             if (BytesAvailable - Banshee.IO.File.GetSize (fromUri) >= 0) {
-                AddTrackToDevice (track, fromUri);
+                // Ensure it's not already on the device
+                if (ServiceManager.DbConnection.Query<int> (track_on_dap_query, DbId, track.MetadataHash) == 0) {
+                    AddTrackToDevice (track, fromUri);
+                }
             }
         }
         

Modified: trunk/banshee/src/Libraries/Mtp/Mtp/AbstractTrackList.cs
==============================================================================
--- trunk/banshee/src/Libraries/Mtp/Mtp/AbstractTrackList.cs	(original)
+++ trunk/banshee/src/Libraries/Mtp/Mtp/AbstractTrackList.cs	Mon Sep  8 22:58:08 2008
@@ -75,7 +75,6 @@
         public virtual void Save ()
         {
             Count = (uint) track_ids.Count;
-            Console.WriteLine ("saving {0} {1} with {2} tracks", this.GetType(), this.Name, this.Count);
 
             if (TracksPtr != IntPtr.Zero) {
                 Marshal.FreeHGlobal (TracksPtr);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]