summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog2
-rw-r--r--src/itdb.h3
-rw-r--r--src/itdb_playlist.c24
3 files changed, 24 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 0296bc0..2b9328c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,8 @@
* itdb_playlist.c: simplified API for itdb_spl_update() and
itdb_splr_eval()
+ * itdb_playlist.c: added itdb_spl_update_live() for convenience
+
2005-11-17 Jorg Schuler <jcsjcs at users.sourceforge.net>
* configure.ac: check for version 2.4 of glib -- now we need to
diff --git a/src/itdb.h b/src/itdb.h
index ee5a9af..4b16c08 100644
--- a/src/itdb.h
+++ b/src/itdb.h
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-11-19 15:41:45 jcs>
+/* Time-stamp: <2005-11-19 16:26:13 jcs>
|
| Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
| Part of the gtkpod project.
@@ -730,6 +730,7 @@ void itdb_spl_copy_rules (Itdb_Playlist *dest, Itdb_Playlist *src);
gboolean itdb_splr_eval (SPLRule *splr, Itdb_Track *track);
void itdb_spl_update (Itdb_Playlist *spl);
void itdb_spl_update_all (Itdb_iTunesDB *itdb);
+void itdb_spl_update_live (Itdb_iTunesDB *itdb);
/* thumbnails functions */
unsigned char *itdb_image_get_rgb_data (Itdb_Image *image);
diff --git a/src/itdb_playlist.c b/src/itdb_playlist.c
index 241ff11..b2d7660 100644
--- a/src/itdb_playlist.c
+++ b/src/itdb_playlist.c
@@ -1,4 +1,4 @@
-/* Time-stamp: <2005-11-19 15:43:07 jcs>
+/* Time-stamp: <2005-11-19 16:24:56 jcs>
|
| Copyright (C) 2002-2005 Jorg Schuler <jcsjcs at users sourceforge net>
| Part of the gtkpod project.
@@ -787,8 +787,8 @@ void itdb_spl_update (Itdb_Playlist *spl)
/* update all smart playlists */
void itdb_spl_update_all (Itdb_iTunesDB *itdb)
{
- auto void spl_update (Itdb_Playlist *playlist, Itdb_iTunesDB *itdb);
- void spl_update (Itdb_Playlist *playlist, Itdb_iTunesDB *itdb)
+ auto void spl_update (Itdb_Playlist *playlist, gpointer data);
+ void spl_update (Itdb_Playlist *playlist, gpointer data)
{
g_return_if_fail (playlist);
itdb_spl_update (playlist);
@@ -796,10 +796,26 @@ void itdb_spl_update_all (Itdb_iTunesDB *itdb)
g_return_if_fail (itdb);
- g_list_foreach (itdb->playlists, (GFunc)spl_update, itdb);
+ g_list_foreach (itdb->playlists, (GFunc)spl_update, NULL);
}
+/* update all smart playlists with 'live updating' set*/
+void itdb_spl_update_live (Itdb_iTunesDB *itdb)
+{
+ auto void spl_update (Itdb_Playlist *playlist, gpointer data);
+ void spl_update (Itdb_Playlist *playlist, gpointer data)
+ {
+ g_return_if_fail (playlist);
+ if (playlist->is_spl && playlist->splpref.liveupdate)
+ itdb_spl_update (playlist);
+ }
+
+ g_return_if_fail (itdb);
+
+ g_list_foreach (itdb->playlists, (GFunc)spl_update, NULL);
+}
+
/* end of code based on Samuel Wood's work */
/* ------------------------------------------------------------------- */