summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicholas Piper <nicholas@users.sourceforge.net>2006-04-08 18:10:15 +0000
committerNicholas Piper <nicholas@users.sourceforge.net>2006-04-08 18:10:15 +0000
commit8697e6e2b75c521980fc760ca6852de324c45c72 (patch)
treeb2a3c5e713ef580cbb8f55a175dfc8236cd6d1ea
parentf73ea5a7e838a3d0e6047997344d26f50eb1999a (diff)
downloadlibgpod-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-xbindings/python/examples/add_song.py28
-rw-r--r--bindings/python/gpod.i12
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