diff options
Diffstat (limited to 'src/client')
-rw-r--r-- | src/client/NodeModel.cpp | 15 | ||||
-rw-r--r-- | src/client/PluginModel.cpp | 52 | ||||
-rw-r--r-- | src/client/PluginModel.hpp | 16 | ||||
-rw-r--r-- | src/client/PluginUI.cpp | 12 | ||||
-rw-r--r-- | src/client/PluginUI.hpp | 2 |
5 files changed, 51 insertions, 46 deletions
diff --git a/src/client/NodeModel.cpp b/src/client/NodeModel.cpp index f7321472..4c00e6ec 100644 --- a/src/client/NodeModel.cpp +++ b/src/client/NodeModel.cpp @@ -217,15 +217,18 @@ NodeModel::port_label(SharedPtr<PortModel> port) const #ifdef HAVE_LILV if (_plugin && _plugin->type() == PluginModel::LV2) { - LilvWorld c_world = _plugin->lilv_world(); - LilvPlugin c_plugin = _plugin->lilv_plugin(); - LilvValue c_sym = lilv_value_new_string(c_world, port->symbol().c_str()); - LilvPort c_port = lilv_plugin_get_port_by_symbol(c_plugin, c_sym); + LilvWorld* c_world = _plugin->lilv_world(); + const LilvPlugin* c_plugin = _plugin->lilv_plugin(); + LilvValue* c_sym = lilv_value_new_string(c_world, port->symbol().c_str()); + const LilvPort* c_port = lilv_plugin_get_port_by_symbol(c_plugin, c_sym); if (c_port) { - LilvValue c_name = lilv_port_get_name(c_plugin, c_port); + LilvValue* c_name = lilv_port_get_name(c_plugin, c_port); if (c_name && lilv_value_is_string(c_name)) { - return lilv_value_as_string(c_name); + std::string ret(lilv_value_as_string(c_name)); + lilv_value_free(c_name); + return ret; } + lilv_value_free(c_name); } } #endif diff --git a/src/client/PluginModel.cpp b/src/client/PluginModel.cpp index dd22549b..62bed5fb 100644 --- a/src/client/PluginModel.cpp +++ b/src/client/PluginModel.cpp @@ -36,8 +36,8 @@ namespace Ingen { namespace Client { #ifdef HAVE_LILV -LilvWorld PluginModel::_lilv_world = NULL; -LilvPlugins PluginModel::_lilv_plugins = NULL; +LilvWorld* PluginModel::_lilv_world = NULL; +const LilvPlugins* PluginModel::_lilv_plugins = NULL; #endif Sord::World* PluginModel::_rdf_world = NULL; @@ -52,7 +52,7 @@ PluginModel::PluginModel(Shared::LV2URIMap& uris, assert(_rdf_world); add_property("http://www.w3.org/1999/02/22-rdf-syntax-ns#type", this->type_uri()); #ifdef HAVE_LILV - LilvValue plugin_uri = lilv_value_new_uri(_lilv_world, uri.c_str()); + LilvValue* plugin_uri = lilv_value_new_uri(_lilv_world, uri.c_str()); _lilv_plugin = lilv_plugins_get_by_uri(_lilv_plugins, plugin_uri); lilv_value_free(plugin_uri); #endif @@ -100,11 +100,11 @@ PluginModel::get_property(const URI& key) const #ifdef HAVE_LILV if (_lilv_plugin) { boost::optional<Raul::Atom&> ret; - LilvValue lv2_pred = lilv_value_new_uri(_lilv_world, key.str().c_str()); - LilvValues values = lilv_plugin_get_value(_lilv_plugin, lv2_pred); + LilvValue* lv2_pred = lilv_value_new_uri(_lilv_world, key.str().c_str()); + LilvValues* values = lilv_plugin_get_value(_lilv_plugin, lv2_pred); lilv_value_free(lv2_pred); LILV_FOREACH(values, i, values) { - LilvValue val = lilv_values_get(values, i); + const LilvValue* val = lilv_values_get(values, i); if (lilv_value_is_uri(val)) { ret = set_property(key, Atom(Atom::URI, lilv_value_as_uri(val))); break; @@ -173,9 +173,9 @@ PluginModel::port_human_name(uint32_t index) const { #ifdef HAVE_LILV if (_lilv_plugin) { - LilvPort port = lilv_plugin_get_port_by_index(_lilv_plugin, index); - LilvValue name = lilv_port_get_name(_lilv_plugin, port); - string ret = lilv_value_as_string(name); + const LilvPort* port = lilv_plugin_get_port_by_index(_lilv_plugin, index); + LilvValue* name = lilv_port_get_name(_lilv_plugin, port); + const string ret(lilv_value_as_string(name)); lilv_value_free(name); return ret; } @@ -187,8 +187,10 @@ PluginModel::port_human_name(uint32_t index) const bool PluginModel::has_ui() const { - LilvUIs uis = lilv_plugin_get_uis(_lilv_plugin); - return (lilv_values_size(uis) > 0); + LilvUIs* uis = lilv_plugin_get_uis(_lilv_plugin); + const bool ret = (lilv_values_size(uis) > 0); + lilv_uis_free(uis); + return ret; } SharedPtr<PluginUI> @@ -213,16 +215,16 @@ PluginModel::icon_path() const /** RDF world mutex must be held by the caller */ string -PluginModel::get_lv2_icon_path(LilvPlugin plugin) +PluginModel::get_lv2_icon_path(const LilvPlugin* plugin) { string result; - LilvValue svg_icon_pred = lilv_value_new_uri(_lilv_world, + LilvValue* svg_icon_pred = lilv_value_new_uri(_lilv_world, "http://ll-plugins.nongnu.org/lv2/namespace#svgIcon"); - LilvValues paths = lilv_plugin_get_value(plugin, svg_icon_pred); + LilvValues* paths = lilv_plugin_get_value(plugin, svg_icon_pred); if (lilv_values_size(paths) > 0) { - LilvValue value = lilv_values_get_first(paths); + const LilvValue* value = lilv_values_get_first(paths); if (lilv_value_is_uri(value)) result = lilv_uri_to_path(lilv_value_as_string(value)); lilv_values_free(paths); @@ -243,12 +245,12 @@ PluginModel::documentation() const //LilvValue lv2_documentation = lilv_value_new_uri( // _lilv_world, LILV_NAMESPACE_LV2 "documentation"); - LilvValue rdfs_comment = lilv_value_new_uri( + LilvValue* rdfs_comment = lilv_value_new_uri( _lilv_world, "http://www.w3.org/2000/01/rdf-schema#comment"); - LilvValues vals = lilv_plugin_get_value(_lilv_plugin, - rdfs_comment); - LilvValue val = lilv_values_get_first(vals); + LilvValues* vals = lilv_plugin_get_value(_lilv_plugin, + rdfs_comment); + const LilvValue* val = lilv_values_get_first(vals); if (lilv_value_is_string(val)) { doc += lilv_value_as_string(val); } @@ -266,17 +268,17 @@ PluginModel::port_documentation(uint32_t index) const if (!_lilv_plugin) return doc; - LilvPort port = lilv_plugin_get_port_by_index(_lilv_plugin, index); + const LilvPort* port = lilv_plugin_get_port_by_index(_lilv_plugin, index); //LilvValue lv2_documentation = lilv_value_new_uri( // _lilv_world, LILV_NAMESPACE_LV2 "documentation"); - LilvValue rdfs_comment = lilv_value_new_uri( + LilvValue* rdfs_comment = lilv_value_new_uri( _lilv_world, "http://www.w3.org/2000/01/rdf-schema#comment"); - LilvValues vals = lilv_port_get_value(_lilv_plugin, - port, - rdfs_comment); - LilvValue val = lilv_values_get_first(vals); + LilvValues* vals = lilv_port_get_value(_lilv_plugin, + port, + rdfs_comment); + const LilvValue* val = lilv_values_get_first(vals); if (lilv_value_is_string(val)) { doc += lilv_value_as_string(val); } diff --git a/src/client/PluginModel.hpp b/src/client/PluginModel.hpp index e7076ff2..faba8c8b 100644 --- a/src/client/PluginModel.hpp +++ b/src/client/PluginModel.hpp @@ -68,14 +68,14 @@ public: std::string port_human_name(uint32_t index) const; #ifdef HAVE_LILV - static LilvWorld lilv_world() { return _lilv_world; } - LilvPlugin lilv_plugin() const { return _lilv_plugin; } + static LilvWorld* lilv_world() { return _lilv_world; } + const LilvPlugin* lilv_plugin() const { return _lilv_plugin; } - LilvPort lilv_port(uint32_t index) { + const LilvPort* lilv_port(uint32_t index) { return lilv_plugin_get_port_by_index(_lilv_plugin, index); } - static void set_lilv_world(LilvWorld world) { + static void set_lilv_world(LilvWorld* world) { _lilv_world = world; _lilv_plugins = lilv_world_get_all_plugins(_lilv_world); } @@ -86,7 +86,7 @@ public: SharedPtr<NodeModel> node) const; const std::string& icon_path() const; - static std::string get_lv2_icon_path(LilvPlugin plugin); + static std::string get_lv2_icon_path(const LilvPlugin* plugin); #endif std::string documentation() const; @@ -110,10 +110,10 @@ private: Type _type; #ifdef HAVE_LILV - static LilvWorld _lilv_world; - static LilvPlugins _lilv_plugins; + static LilvWorld* _lilv_world; + static const LilvPlugins* _lilv_plugins; - LilvPlugin _lilv_plugin; + const LilvPlugin* _lilv_plugin; mutable std::string _icon_path; #endif diff --git a/src/client/PluginUI.cpp b/src/client/PluginUI.cpp index 437e0f27..d545d670 100644 --- a/src/client/PluginUI.cpp +++ b/src/client/PluginUI.cpp @@ -117,7 +117,7 @@ PluginUI::~PluginUI() SharedPtr<PluginUI> PluginUI::create(Ingen::Shared::World* world, SharedPtr<NodeModel> node, - LilvPlugin plugin) + const LilvPlugin* plugin) { if (!PluginUI::ui_host) { PluginUI::ui_host = suil_host_new(lv2_ui_write, NULL, NULL, NULL); @@ -125,13 +125,13 @@ PluginUI::create(Ingen::Shared::World* world, static const char* gtk_ui_uri = "http://lv2plug.in/ns/extensions/ui#GtkUI"; - LilvValue gtk_ui = lilv_value_new_uri(world->lilv_world(), gtk_ui_uri); + LilvValue* gtk_ui = lilv_value_new_uri(world->lilv_world(), gtk_ui_uri); - LilvUIs uis = lilv_plugin_get_uis(plugin); - LilvUI ui = NULL; - LilvValue ui_type = NULL; + LilvUIs* uis = lilv_plugin_get_uis(plugin); + const LilvUI* ui = NULL; + const LilvValue* ui_type = NULL; LILV_FOREACH(uis, u, uis) { - LilvUI this_ui = lilv_uis_get(uis, u); + const LilvUI* this_ui = lilv_uis_get(uis, u); if (lilv_ui_is_supported(this_ui, suil_ui_supported, gtk_ui, diff --git a/src/client/PluginUI.hpp b/src/client/PluginUI.hpp index fd8d14f4..cedc4fe2 100644 --- a/src/client/PluginUI.hpp +++ b/src/client/PluginUI.hpp @@ -46,7 +46,7 @@ public: static SharedPtr<PluginUI> create(Ingen::Shared::World* world, SharedPtr<NodeModel> node, - LilvPlugin plugin); + const LilvPlugin* plugin); SuilWidget get_widget(); |