summaryrefslogtreecommitdiffstats
path: root/bindings/lilv.i
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2011-05-16 19:03:14 +0000
committerDavid Robillard <d@drobilla.net>2011-05-16 19:03:14 +0000
commit615fc67d16c642c2abb5114a1096db798cc6d759 (patch)
treed74723710bc1d74fa33ee78a03891c4ef7902b89 /bindings/lilv.i
parent0beb80fdfc298401b3d55a190984fda49142c330 (diff)
downloadlilv-615fc67d16c642c2abb5114a1096db798cc6d759.tar.gz
lilv-615fc67d16c642c2abb5114a1096db798cc6d759.tar.bz2
lilv-615fc67d16c642c2abb5114a1096db798cc6d759.zip
Actually rename `swig' directory `bindings'...
git-svn-id: http://svn.drobilla.net/lad/trunk/lilv@3268 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'bindings/lilv.i')
-rw-r--r--bindings/lilv.i38
1 files changed, 38 insertions, 0 deletions
diff --git a/bindings/lilv.i b/bindings/lilv.i
new file mode 100644
index 0000000..958f9f0
--- /dev/null
+++ b/bindings/lilv.i
@@ -0,0 +1,38 @@
+%module lilv
+%{
+#include "lilv/lilv.h"
+#include "lilv/lilvmm.hpp"
+%}
+
+%include "lilv/lilv.h"
+%include "lilv/lilvmm.hpp"
+
+namespace Lilv {
+
+%extend Plugins {
+%pythoncode %{
+ def __iter__(self):
+ class Iterator(object):
+ def __init__(self, plugins):
+ self.plugins = plugins
+ self.iter = plugins.begin()
+
+ def next(self):
+ self.iter = self.plugins.next(self.iter)
+ if not self.plugins.is_end(self.iter):
+ return self.plugins.get(self.iter)
+ else:
+ raise StopIteration
+
+ return Iterator(self)
+%}
+};
+
+%extend Node {
+%pythoncode %{
+ def __str__(self):
+ return self.get_turtle_token()
+%}
+};
+
+} /* namespace Lilv */