| @@ -553,7 +553,7 @@ lilv_world_free(LilvWorld* world); | |||||
| with special plugin bundles which are installed to a known location). | with special plugin bundles which are installed to a known location). | ||||
| */ | */ | ||||
| LILV_API void | LILV_API void | ||||
| lilv_world_load_all(LilvWorld* world); | |||||
| lilv_world_load_all(LilvWorld* world, const char* lv2_path); | |||||
| /** | /** | ||||
| Load a specific bundle. | Load a specific bundle. | ||||
| @@ -234,6 +234,13 @@ struct Plugin { | |||||
| LILV_WRAP0(Nodes, plugin, get_extension_data); | LILV_WRAP0(Nodes, plugin, get_extension_data); | ||||
| LILV_WRAP0(UIs, plugin, get_uis); | LILV_WRAP0(UIs, plugin, get_uis); | ||||
| LILV_WRAP1(Nodes, plugin, get_related, Node, type); | LILV_WRAP1(Nodes, plugin, get_related, Node, type); | ||||
| LILV_WRAP0(Node, plugin, get_modgui_resources_directory); | |||||
| LILV_WRAP0(Node, plugin, get_modgui_stylesheet); | |||||
| LILV_WRAP0(Node, plugin, get_modgui_icon_template); | |||||
| LILV_WRAP0(Node, plugin, get_modgui_settings_template); | |||||
| LILV_WRAP0(Node, plugin, get_modgui_template_data); | |||||
| LILV_WRAP0(Node, plugin, get_modgui_screenshot); | |||||
| LILV_WRAP0(Node, plugin, get_modgui_thumbnail); | |||||
| inline Port get_port_by_index(unsigned index) { | inline Port get_port_by_index(unsigned index) { | ||||
| return Port(me, lilv_plugin_get_port_by_index(me, index)); | return Port(me, lilv_plugin_get_port_by_index(me, index)); | ||||
| @@ -341,7 +348,7 @@ struct World { | |||||
| } | } | ||||
| LILV_WRAP2_VOID(world, set_option, const char*, uri, LilvNode*, value); | LILV_WRAP2_VOID(world, set_option, const char*, uri, LilvNode*, value); | ||||
| LILV_WRAP0_VOID(world, load_all); | |||||
| LILV_WRAP1_VOID(world, load_all, const char*, lv2_path); | |||||
| LILV_WRAP1_VOID(world, load_bundle, LilvNode*, bundle_uri); | LILV_WRAP1_VOID(world, load_bundle, LilvNode*, bundle_uri); | ||||
| LILV_WRAP0(const LilvPluginClass*, world, get_plugin_class); | LILV_WRAP0(const LilvPluginClass*, world, get_plugin_class); | ||||
| LILV_WRAP0(const LilvPluginClasses*, world, get_plugin_classes); | LILV_WRAP0(const LilvPluginClasses*, world, get_plugin_classes); | ||||
| @@ -160,54 +160,3 @@ lilv_ui_get_extension_data(const LilvUI* ui) | |||||
| assert(ui->world); | assert(ui->world); | ||||
| return lilv_ui_get_value_internal(ui, ui->world->uris.lv2_extensionData); | return lilv_ui_get_value_internal(ui, ui->world->uris.lv2_extensionData); | ||||
| } | } | ||||
| static LilvNodes* | |||||
| lilv_ui_get_value_internal(const LilvUI* ui, const SordNode* predicate) | |||||
| { | |||||
| assert(ui); | |||||
| return lilv_world_find_nodes_internal(ui->world, ui->uri->node, predicate, NULL); | |||||
| } | |||||
| LILV_API const LilvNodes* | |||||
| lilv_ui_get_supported_features(const LilvUI* ui) | |||||
| { | |||||
| assert(ui); | |||||
| LilvNodes* optional = lilv_ui_get_optional_features(ui); | |||||
| LilvNodes* required = lilv_ui_get_required_features(ui); | |||||
| LilvNodes* result = lilv_nodes_new(); | |||||
| LILV_FOREACH(nodes, i, optional) | |||||
| zix_tree_insert((ZixTree*)result, lilv_node_duplicate(lilv_nodes_get(optional, i)), NULL); | |||||
| LILV_FOREACH(nodes, i, required) | |||||
| zix_tree_insert((ZixTree*)result, lilv_node_duplicate(lilv_nodes_get(required, i)), NULL); | |||||
| lilv_nodes_free(optional); | |||||
| lilv_nodes_free(required); | |||||
| return result; | |||||
| } | |||||
| LILV_API const LilvNodes* | |||||
| lilv_ui_get_required_features(const LilvUI* ui) | |||||
| { | |||||
| assert(ui); | |||||
| assert(ui->world); | |||||
| return lilv_ui_get_value_internal(ui, ui->world->uris.lv2_requiredFeature); | |||||
| } | |||||
| LILV_API const LilvNodes* | |||||
| lilv_ui_get_optional_features(const LilvUI* ui) | |||||
| { | |||||
| assert(ui); | |||||
| assert(ui->world); | |||||
| return lilv_ui_get_value_internal(ui, ui->world->uris.lv2_optionalFeature); | |||||
| } | |||||
| LILV_API const LilvNodes* | |||||
| lilv_ui_get_extension_data(const LilvUI* ui) | |||||
| { | |||||
| assert(ui); | |||||
| assert(ui->world); | |||||
| return lilv_ui_get_value_internal(ui, ui->world->uris.lv2_extensionData); | |||||
| } | |||||