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