SuilInstance* instantiateUI (const LilvUI* ui, const LilvNode* containerType, const LilvNode* widgetType, const LV2_Feature* const * features) { const LilvNode* uri = lilv_ui_get_uri (ui); const LilvPlugin* plugin = owner.getPlugin(); SuilInstance* instance = suil_instance_new (suil, &owner, lilv_node_as_uri (containerType), lilv_node_as_uri (lilv_plugin_get_uri (plugin)), lilv_node_as_uri (uri), lilv_node_as_uri (widgetType), lilv_uri_to_path (lilv_node_as_uri (lilv_ui_get_bundle_uri (ui))), lilv_uri_to_path (lilv_node_as_uri (lilv_ui_get_binary_uri (ui))), features ); if (instance != nullptr) { // do something here? } return instance; }
const std::string& LV2Plugin::library_path() const { static const std::string empty_string; if (_library_path.empty()) { const LilvNode* n = lilv_plugin_get_library_uri(_lilv_plugin); if (n) { _library_path = lilv_uri_to_path(lilv_node_as_uri(n)); } else { Raul::warn << uri() << " has no library path" << std::endl; return empty_string; } } return _library_path; }