diff options
author | Nicholas Piper <nicholas@users.sourceforge.net> | 2006-04-08 18:10:15 +0000 |
---|---|---|
committer | Nicholas Piper <nicholas@users.sourceforge.net> | 2006-04-08 18:10:15 +0000 |
commit | 8697e6e2b75c521980fc760ca6852de324c45c72 (patch) | |
tree | b2a3c5e713ef580cbb8f55a175dfc8236cd6d1ea | |
parent | f73ea5a7e838a3d0e6047997344d26f50eb1999a (diff) | |
download | libgpod-8697e6e2b75c521980fc760ca6852de324c45c72.tar.gz libgpod-8697e6e2b75c521980fc760ca6852de324c45c72.tar.xz libgpod-8697e6e2b75c521980fc760ca6852de324c45c72.zip |
Provide typemap for guint8, and use to provide podcast support in add_songs.py example.
git-svn-id: https://gtkpod.svn.sf.net/svnroot/gtkpod/libgpod/trunk@1234 f01d2545-417e-4e96-918e-98f8d0dbbcb6
-rwxr-xr-x | bindings/python/examples/add_song.py | 28 | ||||
-rw-r--r-- | bindings/python/gpod.i | 12 |
2 files changed, 37 insertions, 3 deletions
diff --git a/bindings/python/examples/add_song.py b/bindings/python/examples/add_song.py index 4203284..0553be9 100755 --- a/bindings/python/examples/add_song.py +++ b/bindings/python/examples/add_song.py @@ -35,6 +35,11 @@ parser.add_option("-m", "--mountpoint", dest="mountpoint", parser.add_option("-a", "--add", dest="filetoadd",metavar="FILE", help="add mp3 FILE") +parser.add_option("-p", "--podcast", + dest="ispodcast", + action="store_true", + default=False, + help="add to podcast playlist") (options, args) = parser.parse_args() if not options.filetoadd: @@ -59,11 +64,28 @@ track.title = str(tag.getTitle()) track.filetype = 'mp3' track.tracklen = audiofile.getPlayTime() * 1000 # important to add!, iPod uses ms. +if options.ispodcast: + print track.flag1 + print type(track.flag1) + track.flag1 = 0x02 # unknown + track.flag2 = 0x01 # skip when shuffling + track.flag3 = 0x01 # remember playback position + track.flag4 = 0x01 # Show Title/Album on the 'Now Playing' page + playlists = [gpod.itdb_playlist_mpl(itdb)] +else: + track.flag1 = 0x02 # unknown + track.flag2 = 0x00 # do not skip when shuffling + track.flag3 = 0x00 # do not remember playback position + track.flag4 = 0x00 # Show Title/Album/Artist on the 'New Playing' page + playlists = [itdb_playlist_podcasts(itdb)] + print "Adding %s (Title: %s)" % (options.filetoadd, track.title) -gpod.itdb_track_add(itdb, track, -1) -master = gpod.sw_get_playlists(itdb)[0] -gpod.itdb_playlist_add_track(master, track, -1) +gpod.itdb_track_add(itdb, track, -1) + +for playlist in playlists: + gpod.itdb_playlist_add_track(playlist, track, -1) + if gpod.itdb_cp_track_to_ipod(track, options.filetoadd, None) == 1: print "Copied to %s" % gpod.itdb_filename_on_ipod(track) else: diff --git a/bindings/python/gpod.i b/bindings/python/gpod.i index 11670b8..482e5eb 100644 --- a/bindings/python/gpod.i +++ b/bindings/python/gpod.i @@ -77,8 +77,20 @@ PyObject* sw_get_playlists(Itdb_iTunesDB *itdb) { # them utf8 encoded Strings. typedef char gchar; +%typemap(in) guint8 { + long ival; + ival = PyInt_AsLong($input); + if (( ival > 255 ) || ( ival < 0 )) { + PyErr_SetString(PyExc_ValueError, "Value must be between 0 and 255"); + SWIG_fail; + } else { + $1 = (guint8) ival; + } +} + typedef int gboolean; typedef int gint32; + typedef unsigned int guint32; #define G_BEGIN_DECLS |