From 52c617694203c9dbc20189f5bae3b6446df87bd9 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Tue, 19 Mar 2013 04:05:54 +0000 Subject: Add C++ wrappers to lilvmm.hpp (fix compilation with --python). git-svn-id: http://svn.drobilla.net/lad/trunk/lilv@5092 a436a847-0d15-0410-975c-d299462d15a1 --- NEWS | 6 ++++++ lilv/lilvmm.hpp | 26 ++++++++++++++++++++++++++ wscript | 2 +- 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 01c68c8..b9aeec4 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,9 @@ +lilv (0.16.1) unstable; + + * lilvmm.hpp: Add wrappers for UI API + + -- David Robillard Tue, 19 Mar 2013 00:01:12 -0400 + lilv (0.16.0) stable; * Add lilv_world_ask() for easily checking if a statement exists diff --git a/lilv/lilvmm.hpp b/lilv/lilvmm.hpp index 666f466..adb0cb6 100644 --- a/lilv/lilvmm.hpp +++ b/lilv/lilvmm.hpp @@ -49,6 +49,11 @@ uri_to_path(const char* uri) { return lilv_ ## prefix ## _ ## name(me, a1, a2); \ } +#define LILV_WRAP3(RT, prefix, name, T1, a1, T2, a2, T3, a3) \ + inline RT name(T1 a1, T2 a2, T3 a3) { \ + return lilv_ ## prefix ## _ ## name(me, a1, a2, a3); \ + } + #define LILV_WRAP2_VOID(prefix, name, T1, a1, T2, a2) \ inline void name(T1 a1, T2 a2) { lilv_ ## prefix ## _ ## name(me, a1, a2); } @@ -139,6 +144,27 @@ struct Nodes { LILV_WRAP0(Node, nodes, get_first); }; +struct UI { + inline UI(const LilvUI* c_obj) : me(c_obj) {} + LILV_WRAP_CONVERSION(const LilvUI); + + LILV_WRAP0(const LilvNode*, ui, get_uri); + LILV_WRAP0(const LilvNode*, ui, get_bundle_uri); + LILV_WRAP0(const LilvNode*, ui, get_binary_uri); + LILV_WRAP0(const LilvNodes*, ui, get_classes); + /*LILV_WRAP3(bool, ui, is_supported, + LilvUISupportedFunc, supported_func, + const LilvNode*, container_type, + const LilvNode**, ui_type);*/ + LILV_WRAP1(bool, ui, is_a, const LilvNode*, class_uri); + + const LilvUI* me; +}; + +struct UIs { + LILV_WRAP_COLL(UIs, UI, uis); +}; + struct Port { inline Port(const LilvPlugin* p, const LilvPort* c_obj) : parent(p), me(c_obj) diff --git a/wscript b/wscript index 0308700..7e4b8d0 100644 --- a/wscript +++ b/wscript @@ -9,7 +9,7 @@ import waflib.extras.autowaf as autowaf # major increment <=> incompatible changes # minor increment <=> compatible changes (additions) # micro increment <=> no interface changes -LILV_VERSION = '0.16.0' +LILV_VERSION = '0.16.1' LILV_MAJOR_VERSION = '0' # Mandatory waf variables -- cgit v1.2.1