diff options
Diffstat (limited to 'bindings/python/gpod.i')
| -rw-r--r-- | bindings/python/gpod.i | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/bindings/python/gpod.i b/bindings/python/gpod.i new file mode 100644 index 0000000..7bfab55 --- /dev/null +++ b/bindings/python/gpod.i @@ -0,0 +1,40 @@ +/* File : gpod.i */ +%module gpod +%{ +#include "../../src/db-artwork-debug.h" +#include "../../src/db-artwork-parser.h" +#include "../../src/db-image-parser.h" +#include "../../src/db-itunes-parser.h" +#include "../../src/db-parse-context.h" +#include "../../src/itdb.h" +#include "../../src/itdb_private.h" + +PyObject* sw_get_tracks(Itdb_iTunesDB *itdb) { + PyObject *list; + gint i; + GList *l; + list = PyList_New(g_list_length(itdb->tracks)); + for (l = itdb->tracks, 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; + GList *l; + list = PyList_New(g_list_length(itdb->playlists)); + for (l = itdb->playlists, i = 0; l; l = l->next, ++i) { + PyList_SET_ITEM(list, i, SWIG_NewPointerObj((void*)(l->data), SWIGTYPE_p_Itdb_Playlist, 0)); + } + return list; + } +%} + +typedef char gchar; +typedef int gboolean; + +PyObject* sw_get_tracks(Itdb_iTunesDB *itdb); +PyObject* sw_get_playlists(Itdb_iTunesDB *itdb); +%include "../../src/itdb.h" |
