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

Modified Files:
        itdb.h itdb_playlist.c 
Log Message:
        * itdb_playlist.c: simplified API for itdb_spl_update() and
          itdb_splr_eval()



Index: itdb.h
===================================================================
RCS file: /cvsroot/gtkpod/libgpod/src/itdb.h,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- itdb.h      13 Nov 2005 06:04:55 -0000      1.19
+++ itdb.h      19 Nov 2005 07:15:21 -0000      1.20
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-11-13 14:58:18 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.
@@ -48,6 +48,12 @@
 
 G_BEGIN_DECLS
 
+/* G_GNUC_INTERNAL is defined in glib 2.6 */
+#ifndef G_GNUC_INTERNAL
+#define G_GNUC_INTERNAL
+#endif 
+
+
 /* one star is how much (track->rating) */
 #define ITDB_RATING_STEP 20
 
@@ -721,8 +727,8 @@
 void itdb_splr_add (Itdb_Playlist *pl, SPLRule *splr, gint pos);
 SPLRule *itdb_splr_add_new (Itdb_Playlist *pl, gint pos);
 void itdb_spl_copy_rules (Itdb_Playlist *dest, Itdb_Playlist *src);
-gboolean itdb_splr_eval (Itdb_iTunesDB *itdb, SPLRule *splr, Itdb_Track 
*track);
-void itdb_spl_update (Itdb_iTunesDB *itdb, Itdb_Playlist *spl);
+gboolean itdb_splr_eval (SPLRule *splr, Itdb_Track *track);
+void itdb_spl_update (Itdb_Playlist *spl);
 void itdb_spl_update_all (Itdb_iTunesDB *itdb);
 
 /* thumbnails functions */

Index: itdb_playlist.c
===================================================================
RCS file: /cvsroot/gtkpod/libgpod/src/itdb_playlist.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- itdb_playlist.c     15 Oct 2005 16:37:46 -0000      1.12
+++ itdb_playlist.c     19 Nov 2005 07:15:21 -0000      1.13
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-10-16 01:30:04 jcs>
+/* Time-stamp: <2005-11-19 15:43:07 jcs>
 |
 |  Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
 |  Part of the gtkpod project.
@@ -269,7 +269,8 @@
 
 
 /* function to evaluate a rule's truth against a track */
-gboolean itdb_splr_eval (Itdb_iTunesDB *itdb, SPLRule *splr, Itdb_Track *track)
+/* track->itdb must be set. */
+gboolean itdb_splr_eval (SPLRule *splr, Itdb_Track *track)
 {
     SPLFieldType ft;
     SPLActionType at;
@@ -281,8 +282,9 @@
     time_t t;
     guint64 mactime;
 
-    g_return_val_if_fail (splr != NULL, FALSE);
-    g_return_val_if_fail (track != NULL, FALSE);
+    g_return_val_if_fail (splr, FALSE);
+    g_return_val_if_fail (track, FALSE);
+    g_return_val_if_fail (track->itdb, FALSE);
 
     ft = itdb_splr_get_field_type (splr);
     at = itdb_splr_get_action_type (splr);
@@ -359,7 +361,7 @@
        datecomp = track->time_played;
        break;
     case SPLFIELD_PLAYLIST:
-       playcomp = itdb_playlist_by_id (itdb, splr->fromvalue);
+       playcomp = itdb_playlist_by_id (track->itdb, splr->fromvalue);
        break;
     default: /* unknown field type */
        g_return_val_if_fail (FALSE, FALSE);
@@ -573,13 +575,16 @@
 }
 
 
-void itdb_spl_update (Itdb_iTunesDB *itdb, Itdb_Playlist *spl)
+void itdb_spl_update (Itdb_Playlist *spl)
 {
     GList *gl;
+    Itdb_iTunesDB *itdb;
     GList *sel_tracks = NULL;
 
     g_return_if_fail (spl);
-    g_return_if_fail (itdb);
+    g_return_if_fail (spl->itdb);
+
+    itdb = spl->itdb;
 
     /* we only can populate smart playlists */
     if (!spl->is_spl) return;
@@ -614,7 +619,7 @@
            for (gl=spl->splrules.rules; gl; gl=gl->next)
            {
                SPLRule* splr = gl->data;
-               gboolean ruletruth = itdb_splr_eval (itdb, splr, t);
+               gboolean ruletruth = itdb_splr_eval (splr, t);
                if (spl->splrules.match_operator == SPLMATCH_AND)
                {
                    if (!ruletruth)
@@ -786,7 +791,7 @@
     void spl_update (Itdb_Playlist *playlist, Itdb_iTunesDB *itdb)
     {
        g_return_if_fail (playlist);
-       itdb_spl_update (itdb, playlist);
+       itdb_spl_update (playlist);
     }
 
     g_return_if_fail (itdb);



-------------------------------------------------------
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