Update of /cvsroot/gtkpod/gtkpod/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21887/src

Modified Files:
        display.h display_playlists.c display_private.h display_spl.c 
        file_itunesdb.c 
Log Message:
         * updated smart playlists automatically if 'live updating' is
           set.



Index: display.h
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/display.h,v
retrieving revision 1.104
retrieving revision 1.105
diff -u -d -r1.104 -r1.105
--- display.h   10 Oct 2005 14:15:06 -0000      1.104
+++ display.h   19 Nov 2005 07:29:46 -0000      1.105
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-10-03 23:27:04 jcs>
+/* Time-stamp: <2005-11-19 15:41:47 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -280,6 +280,7 @@
 
 void st_stop_editing (gint inst, gboolean cancel);
 void st_page_selected (GtkNotebook *notebook, guint page);
+void st_redisplay (guint32 inst);
 void st_sort (GtkSortType order);
 void st_remove_entry (TabEntry *entry, guint32 inst);
 gint st_get_instance_from_treeview (GtkTreeView *tv);

Index: display_playlists.c
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/display_playlists.c,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -d -r1.66 -r1.67
--- display_playlists.c 12 Nov 2005 08:54:31 -0000      1.66
+++ display_playlists.c 19 Nov 2005 07:29:46 -0000      1.67
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-11-12 17:31:33 jcs>
+/* Time-stamp: <2005-11-19 16:24:19 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -1324,6 +1324,8 @@
       st_init (-1, 0);
 
       current_playlist = new_playlist;
+      if (new_playlist->is_spl && new_playlist->splpref.liveupdate)
+         itdb_spl_update (new_playlist);
       if (new_playlist->members)
       {
          GTimeVal time;

Index: display_private.h
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/display_private.h,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -d -r1.22 -r1.23
--- display_private.h   3 Oct 2005 14:23:32 -0000       1.22
+++ display_private.h   19 Nov 2005 07:29:46 -0000      1.23
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-10-03 22:10:01 jcs>
+/* Time-stamp: <2005-11-19 15:41:48 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -79,7 +79,6 @@
 void st_remove_track (Track *track, guint32 inst);
 void st_init (ST_CAT_item new_category, guint32 inst);
 void st_create_notebook (gint inst);
-void st_redisplay (guint32 inst);
 void st_cleanup (void);
 void st_set_default_sizes (void);
 void st_update_default_sizes (void);

Index: display_spl.c
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/display_spl.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- display_spl.c       12 Nov 2005 13:28:02 -0000      1.13
+++ display_spl.c       19 Nov 2005 07:29:46 -0000      1.14
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-11-12 22:22:49 jcs>
+/* Time-stamp: <2005-11-19 15:41:45 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users.sourceforge.net>
 |  Part of the gtkpod project.
@@ -762,13 +762,7 @@
 
     itdb_spl_copy_rules (spl_orig, spl_dup);
 
-    itdb_spl_update (itdb, spl_orig);
-
-    if (pm_get_selected_playlist () == spl_orig)
-    {   /* redisplay */
-       pm_unselect_playlist (spl_orig);
-       pm_select_playlist (spl_orig);
-    }
+    itdb_playlist_free (spl_dup);
 
     /* does playlist already exist in itdb? */
     if (!itdb_playlist_exists (itdb, spl_orig))
@@ -776,7 +770,13 @@
        gp_playlist_add (itdb, spl_orig, pos);
     }
 
-    itdb_playlist_free (spl_dup);
+    itdb_spl_update (spl_orig);
+
+    if (pm_get_selected_playlist () == spl_orig)
+    {   /* redisplay */
+       pm_unselect_playlist (spl_orig);
+       pm_select_playlist (spl_orig);
+    }
 
     spl_store_window_size (spl_window);
 

Index: file_itunesdb.c
===================================================================
RCS file: /cvsroot/gtkpod/gtkpod/src/file_itunesdb.c,v
retrieving revision 1.69
retrieving revision 1.70
diff -u -d -r1.69 -r1.70
--- file_itunesdb.c     19 Nov 2005 05:32:10 -0000      1.69
+++ file_itunesdb.c     19 Nov 2005 07:29:46 -0000      1.70
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-11-19 13:46:13 jcs>
+/* Time-stamp: <2005-11-19 16:27:44 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -674,8 +674,8 @@
        eitdb->data_changed = old_eitdb->data_changed;
     }
 
-    /* update all SPLs */
-    itdb_spl_update_all (itdb);
+    /* update all live SPLs */
+    itdb_spl_update_live (itdb);
 
     release_widgets();
 
@@ -1585,7 +1585,18 @@
        eitdb = itdb->userdata;
        g_return_if_fail (eitdb);
        if (eitdb->data_changed || eitdb->itdb_imported)
+       {
+           Playlist *pl;
+           /* update smart playlists before writing */
+           itdb_spl_update_live (itdb);
+           pl = pm_get_selected_playlist ();
+           if (pl && (pl->itdb == itdb) &&
+               pl->is_spl && pl->splpref.liveupdate)
+           {   /* Update display if necessary */
+               st_redisplay (0);
+           }
            success &= gp_write_itdb (itdb);
+       }
     }
 
     if (prefs_get_concal_autosync ())



-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc.  Get Certified Today
Register for a JBoss Training Course.  Free Certification Exam
for All Training Attendees Through End of 2005. For more info visit:
http://ads.osdn.com/?ad_id=7628&alloc_id=16845&op=click
_______________________________________________
gtkpod-cvs2 mailing list
gtkpod-cvs2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2

Reply via email to