banshee r4690 - in trunk/banshee: . build/pkg-config src/Core/Banshee.CollectionIndexer/Banshee.Collection.Indexer.RemoteHelper



Author: abock
Date: Sat Oct 11 04:29:02 2008
New Revision: 4690
URL: http://svn.gnome.org/viewvc/banshee?rev=4690&view=rev

Log:
2008-10-11  Aaron Bockover  <abock gnome org>

    * src/Core/Banshee.CollectionIndexer/Banshee.Collection.Indexer.RemoteHelper/SimpleIndexerClient.cs:
    Implement virtual hook functions (OnStarted, OnBeginUpdateIndex,
    OnEndUpdateIndex); only call OnShutDownWhileIndexing if indeed we were
    shutdown while indexing

    * build/pkg-config/banshee-1-collection-indexer.pc.in: A separate
    pkg-config file for the standalone and bundleable collection indexer
    helper libary

    * NEWS: Small fixes



Added:
   trunk/banshee/build/pkg-config/banshee-1-collection-indexer.pc.in
Modified:
   trunk/banshee/ChangeLog
   trunk/banshee/NEWS
   trunk/banshee/src/Core/Banshee.CollectionIndexer/Banshee.Collection.Indexer.RemoteHelper/SimpleIndexerClient.cs

Modified: trunk/banshee/NEWS
==============================================================================
--- trunk/banshee/NEWS	(original)
+++ trunk/banshee/NEWS	Sat Oct 11 04:29:02 2008
@@ -1,5 +1,5 @@
 ===============================================================================
-WELCOME TO BANSHEE 1.3.2 - Released September 29, 2008
+WELCOME TO BANSHEE 1.3.2 - Released October 11, 2008
 ===============================================================================
 
   * Banshee is a multimedia management and playback application for GNOME.
@@ -37,16 +37,19 @@
       * New podcast columns: downloaded; description; new
       * Podcasts can now have playlists and smart playlists
       * When finished playing from the play queue, play the song after the song 
-        we left off from (and stop playing if we weren't playing anything before).
+        we left off from (and stop playing if we weren't playing anything 
+		before).
       * Refresh podcasts every hour 
       * Import all white-listed files, even if TagLib# doesn't recognize them
-      * Cache and store images as Cairo.ImageSurfaces, gives performance and memory improvements
+      * Cache and store images as Cairo.ImageSurfaces, gives performance 
+	    and memory improvements
       * Enable autocomplete in editor for artist, album, and album artist
       * Improvements and fixes to the Indexer
 
     Notable bug fixes:
 
-      * Fix bug with non-JPG cover art getting downloaded but never converted/used (BGO #388162)
+      * Fix bug with non-JPG cover art getting downloaded but never 
+	    converted/used (BGO #388162)
       * Remember the user's smart playlist units (days/MB etc) (BGO #545887)
       * Look for PNG and BMP album art in the album's folder (BGO #547841)
       * Avoid showing album art for 'Unknown' artists/albums (BGO #549320)

Added: trunk/banshee/build/pkg-config/banshee-1-collection-indexer.pc.in
==============================================================================
--- (empty file)
+++ trunk/banshee/build/pkg-config/banshee-1-collection-indexer.pc.in	Sat Oct 11 04:29:02 2008
@@ -0,0 +1,12 @@
+prefix= prefix@
+exec_prefix=${prefix}
+libdir= libdir@
+bansheedir=${libdir}/banshee-1
+Libraries=${bansheedir}/Banshee.CollectionIndexer.dll
+
+Name: Banshee Collection Indexer Helper
+Description: A library for applications to bundle to easily consume the Banshee Collection Indexer
+Version: @VERSION@
+Requires: ndesk-dbus-1.0
+Libs: -r:${Libraries}
+

Modified: trunk/banshee/src/Core/Banshee.CollectionIndexer/Banshee.Collection.Indexer.RemoteHelper/SimpleIndexerClient.cs
==============================================================================
--- trunk/banshee/src/Core/Banshee.CollectionIndexer/Banshee.Collection.Indexer.RemoteHelper/SimpleIndexerClient.cs	(original)
+++ trunk/banshee/src/Core/Banshee.CollectionIndexer/Banshee.Collection.Indexer.RemoteHelper/SimpleIndexerClient.cs	Sat Oct 11 04:29:02 2008
@@ -44,6 +44,7 @@
         public void Start ()
         {
             client.Start ();
+            OnStarted ();
         }
         
         public string [] GetAvailableExportFields ()
@@ -85,6 +86,18 @@
             }
         }
         
+        protected virtual void OnStarted ()
+        {
+        }
+        
+        protected virtual void OnBeginUpdateIndex ()
+        {
+        }
+        
+        protected virtual void OnEndUpdateIndex ()
+        {
+        }
+        
         protected abstract void IndexResult (IDictionary<string, object> result);
         protected abstract void OnShutdownWhileIndexing ();
         protected abstract int CollectionCount { get; }
@@ -130,6 +143,8 @@
                     indexer.SetExportFields (parent.export_fields.ToArray ());
                 }
                 
+                parent.OnBeginUpdateIndex ();
+                
                 for (int i = 0, models = indexer.GetModelCounts (); i < models; i++) {
                     for (int j = 0, items = indexer.GetModelResultsCount (i); j < items; j++) {
                         if (Shutdown) {
@@ -150,7 +165,11 @@
                     shutdown_requested = false;
                 }
                 
-                parent.OnShutdownWhileIndexing ();
+                if (shutdown_while_indexing) {
+                    parent.OnShutdownWhileIndexing ();
+                }
+                
+                parent.OnEndUpdateIndex ();
             }
             
             protected override bool HasCollectionChanged {



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