summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbindings/python/examples/play.py10
-rw-r--r--bindings/python/gpod.i15
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"