diff options
author | David Robillard <d@drobilla.net> | 2011-04-28 21:56:29 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2011-04-28 21:56:29 +0000 |
commit | 809f5ae5999901be62f9d0cc1eb8a2d0f4806780 (patch) | |
tree | 4a2c1a7b344ec0f0a75d6a64ed1177a61822af89 /swig/lilv.i | |
parent | 372ad8bcac948087bbc261933e38868f533c6708 (diff) | |
download | lilv-809f5ae5999901be62f9d0cc1eb8a2d0f4806780.tar.gz lilv-809f5ae5999901be62f9d0cc1eb8a2d0f4806780.tar.bz2 lilv-809f5ae5999901be62f9d0cc1eb8a2d0f4806780.zip |
Rename slv2 to lilv.
API breakage was proving too much of a hassle, and would be even further of a
mess after release and packaging. Best to make a clean break now, and fix
installation to support parallel installs and prevent this kind of problem in
the future.
git-svn-id: http://svn.drobilla.net/lad/trunk/lilv@3217 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'swig/lilv.i')
-rw-r--r-- | swig/lilv.i | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/swig/lilv.i b/swig/lilv.i new file mode 100644 index 0000000..c3943dd --- /dev/null +++ b/swig/lilv.i @@ -0,0 +1,48 @@ +%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.index = 0 + + def __iter__(self): + return self + + def next(self): + self.index += 1 + if self.index < lilv_plugins_size(self.plugins.me): + return Plugin(lilv_plugins_get_at(self.plugins.me, self.index)) + else: + raise StopIteration + + return Iterator(self) +%} +}; + +%extend Value { +%pythoncode %{ + def __str__(self): + return lilv_value_get_turtle_token(self.me) +%} +}; + +%extend World { +%pythoncode %{ + def get_plugin(self, uri_str): + return Plugin(lilv_world_get_plugin_by_uri_string(self.me, uri_str)) +%} +}; + +} /* namespace Lilv */ |