From 3c462c99bda5e8e6b9b756cadf13ece68c765a48 Mon Sep 17 00:00:00 2001 From: Nicholas Piper Date: Sat, 26 Nov 2005 14:23:29 +0000 Subject: Add sw_get_playlist_tracks() and define G_BEGIN_DECLS/G_END_DECLS for swig git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1174 f01d2545-417e-4e96-918e-98f8d0dbbcb6 --- bindings/python/examples/play.py | 10 ++++++++-- bindings/python/gpod.i | 15 +++++++++++++++ 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/bindings/python/examples/play.py b/bindings/python/examples/play.py index 6ad6f60..0d299f8 100755 --- a/bindings/python/examples/play.py +++ b/bindings/python/examples/play.py @@ -8,8 +8,9 @@ ipod_mount = '/mnt/ipod' remove_track = "The Dancer" -#dbname = os.path.join(os.environ['HOME'],".gtkpod/iTunesDB") -dbname = os.path.join(ipod_mount,"iPod_Control/iTunes/iTunesDB") +dbname = os.path.join(os.environ['HOME'],".gtkpod/iTunesDB") +#dbname = os.path.join(os.environ['HOME'],".gtkpod/local_0.itdb") +#dbname = os.path.join(ipod_mount,"iPod_Control/iTunes/iTunesDB") itdb = gpod.itdb_parse_file(dbname, None) if not itdb: @@ -17,6 +18,11 @@ if not itdb: sys.exit(2) itdb.mountpoint = ipod_mount +for playlist in gpod.sw_get_playlists(itdb): + print playlist.name + print gpod.itdb_playlist_tracks_number(playlist) + for track in gpod.sw_get_playlist_tracks(playlist): + print track.title for track in gpod.sw_get_tracks(itdb): lists = [] diff --git a/bindings/python/gpod.i b/bindings/python/gpod.i index 610a288..a516916 100644 --- a/bindings/python/gpod.i +++ b/bindings/python/gpod.i @@ -20,6 +20,17 @@ PyObject* sw_get_tracks(Itdb_iTunesDB *itdb) { return list; } +PyObject* sw_get_playlist_tracks(Itdb_Playlist *pl) { + PyObject *list; + gint i; + GList *l; + list = PyList_New(g_list_length(pl->members)); + for (l = pl->members, i = 0; l; l = l->next, ++i) { + PyList_SET_ITEM(list, i, SWIG_NewPointerObj((void*)(l->data), SWIGTYPE_p_Itdb_Track, 0)); + } + return list; + } + PyObject* sw_get_playlists(Itdb_iTunesDB *itdb) { PyObject *list; gint i; @@ -37,6 +48,10 @@ typedef int gboolean; typedef int gint32; typedef unsigned int guint32; +#define G_BEGIN_DECLS +#define G_END_DECLS + PyObject* sw_get_tracks(Itdb_iTunesDB *itdb); PyObject* sw_get_playlists(Itdb_iTunesDB *itdb); +PyObject* sw_get_playlist_tracks(Itdb_Playlist *pl); %include "../../src/itdb.h" -- cgit