Browse Source

Update patch

tags/1.9.7
falkTX 9 years ago
parent
commit
91e8059ffb
1 changed files with 213 additions and 10 deletions
  1. +213
    -10
      source/modules/lilv/custom-patches.diff

+ 213
- 10
source/modules/lilv/custom-patches.diff View File

@@ -1,5 +1,5 @@
diff --git a/source/modules/lilv/lilv-0.21.3/lilv/lilv.h b/source/modules/lilv/lilv-0.21.3/lilv/lilv.h
index e907789..34f4d7b 100644
index e907789..84223c5 100644
--- a/source/modules/lilv/lilv-0.21.3/lilv/lilv.h
+++ b/source/modules/lilv/lilv-0.21.3/lilv/lilv.h
@@ -26,8 +26,9 @@
@@ -14,6 +14,15 @@ index e907789..34f4d7b 100644
#ifdef LILV_SHARED
# ifdef _WIN32
@@ -552,7 +553,7 @@ lilv_world_free(LilvWorld* world);
with special plugin bundles which are installed to a known location).
*/
LILV_API void
-lilv_world_load_all(LilvWorld* world);
+lilv_world_load_all(LilvWorld* world, const char* lv2_path);
/**
Load a specific bundle.
@@ -1199,9 +1200,9 @@ lilv_port_get_scale_points(const LilvPlugin* plugin,
@return A new LilvState which must be freed with lilv_state_free(), or NULL.
*/
@@ -63,12 +72,33 @@ index e907789..34f4d7b 100644
LilvSetPortValueFunc set_value,
void* user_data,
uint32_t flags,
@@ -1786,6 +1788,21 @@ LILV_API const LilvNode*
@@ -1786,6 +1788,42 @@ LILV_API const LilvNode*
lilv_ui_get_binary_uri(const LilvUI* ui);
/**
+ Custom calls
+*/
+LILV_API LilvNode*
+lilv_plugin_get_modgui_resources_directory(const LilvPlugin* plugin);
+
+LILV_API LilvNode*
+lilv_plugin_get_modgui_stylesheet(const LilvPlugin* plugin);
+
+LILV_API LilvNode*
+lilv_plugin_get_modgui_icon_template(const LilvPlugin* plugin);
+
+LILV_API LilvNode*
+lilv_plugin_get_modgui_settings_template(const LilvPlugin* plugin);
+
+LILV_API LilvNode*
+lilv_plugin_get_modgui_template_data(const LilvPlugin* plugin);
+
+LILV_API LilvNode*
+lilv_plugin_get_modgui_screenshot(const LilvPlugin* plugin);
+
+LILV_API LilvNode*
+lilv_plugin_get_modgui_thumbnail(const LilvPlugin* plugin);
+
+LILV_API const LilvNodes*
+lilv_ui_get_supported_features(const LilvUI* ui);
+
@@ -86,7 +116,7 @@ index e907789..34f4d7b 100644
@}
*/
diff --git a/source/modules/lilv/lilv-0.21.3/lilv/lilvmm.hpp b/source/modules/lilv/lilv-0.21.3/lilv/lilvmm.hpp
index b9b3a69..0d82f3f 100644
index b9b3a69..367b8d8 100644
--- a/source/modules/lilv/lilv-0.21.3/lilv/lilvmm.hpp
+++ b/source/modules/lilv/lilv-0.21.3/lilv/lilvmm.hpp
@@ -17,6 +17,8 @@
@@ -201,7 +231,21 @@ index b9b3a69..0d82f3f 100644
const LilvUI* me;
};
@@ -258,16 +272,14 @@ struct Plugins {
@@ -220,6 +234,13 @@ struct Plugin {
LILV_WRAP0(Nodes, plugin, get_extension_data);
LILV_WRAP0(UIs, plugin, get_uis);
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) {
return Port(me, lilv_plugin_get_port_by_index(me, index));
@@ -258,16 +279,14 @@ struct Plugins {
struct Instance {
inline Instance(LilvInstance* instance) : me(instance) {}
@@ -225,7 +269,7 @@ index b9b3a69..0d82f3f 100644
static inline Instance* create(Plugin plugin,
double sample_rate,
@@ -304,22 +316,22 @@ struct Instance {
@@ -304,22 +323,22 @@ struct Instance {
};
struct World {
@@ -255,7 +299,16 @@ index b9b3a69..0d82f3f 100644
return lilv_new_bool(me, val);
}
inline Nodes find_nodes(const LilvNode* subject,
@@ -337,6 +349,8 @@ struct World {
@@ -329,7 +348,7 @@ struct World {
}
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_WRAP0(const LilvPluginClass*, world, get_plugin_class);
LILV_WRAP0(const LilvPluginClasses*, world, get_plugin_classes);
@@ -337,6 +356,8 @@ struct World {
LILV_WRAP1(int, world, load_resource, const LilvNode*, resource);
LilvWorld* me;
@@ -278,10 +331,10 @@ index e2444d3..4d0a8e5 100644
/*
diff --git a/source/modules/lilv/lilv-0.21.3/src/plugin.c b/source/modules/lilv/lilv-0.21.3/src/plugin.c
index bf0843b..5e5a2c8 100644
index bf0843b..c711990 100644
--- a/source/modules/lilv/lilv-0.21.3/src/plugin.c
+++ b/source/modules/lilv/lilv-0.21.3/src/plugin.c
@@ -27,7 +27,7 @@
@@ -27,10 +27,11 @@
#include "lilv_config.h"
#include "lilv_internal.h"
@@ -290,6 +343,142 @@ index bf0843b..5e5a2c8 100644
#define NS_DOAP (const uint8_t*)"http://usefulinc.com/ns/doap#"
#define NS_FOAF (const uint8_t*)"http://xmlns.com/foaf/0.1/"
+#define NS_MOD (const uint8_t*)"http://portalmod.com/ns/modgui#"
/** Ownership of `uri` is taken */
LilvPlugin*
@@ -908,6 +909,131 @@ lilv_plugin_get_author_homepage(const LilvPlugin* plugin)
return NULL;
}
+static const SordNode*
+lilv_plugin_get_modgui(const LilvPlugin* p)
+{
+ lilv_plugin_load_if_necessary(p);
+
+ SordNode* mod_gui = sord_new_uri(
+ p->world->world, NS_MOD "gui");
+
+ SordIter* gui = lilv_world_query_internal(
+ p->world,
+ p->plugin_uri->node,
+ mod_gui,
+ NULL);
+
+ sord_node_free(p->world->world, mod_gui);
+
+ if (sord_iter_end(gui)) {
+ sord_iter_free(gui);
+ return NULL;
+ }
+
+ const SordNode* Gui = sord_iter_get_node(gui, SORD_OBJECT);
+
+ sord_iter_free(gui);
+ return Gui;
+}
+
+LILV_API LilvNode*
+lilv_plugin_get_modgui_resources_directory(const LilvPlugin* plugin)
+{
+ const SordNode* modgui = lilv_plugin_get_modgui(plugin);
+ if (modgui) {
+ SordWorld* sworld = plugin->world->world;
+ SordNode* modgui_res = sord_new_uri(sworld, NS_MOD "resourcesDirectory");
+ LilvNode* ret = lilv_plugin_get_one(plugin, modgui, modgui_res);
+ sord_node_free(sworld, modgui_res);
+ return ret;
+ }
+ return NULL;
+}
+
+LILV_API LilvNode*
+lilv_plugin_get_modgui_stylesheet(const LilvPlugin* plugin)
+{
+ const SordNode* modgui = lilv_plugin_get_modgui(plugin);
+ if (modgui) {
+ SordWorld* sworld = plugin->world->world;
+ SordNode* modgui_style = sord_new_uri(sworld, NS_MOD "stylesheet");
+ LilvNode* ret = lilv_plugin_get_one(plugin, modgui, modgui_style);
+ sord_node_free(sworld, modgui_style);
+ return ret;
+ }
+ return NULL;
+}
+
+LILV_API LilvNode*
+lilv_plugin_get_modgui_icon_template(const LilvPlugin* plugin)
+{
+ const SordNode* modgui = lilv_plugin_get_modgui(plugin);
+ if (modgui) {
+ SordWorld* sworld = plugin->world->world;
+ SordNode* modgui_tmpl = sord_new_uri(sworld, NS_MOD "iconTemplate");
+ LilvNode* ret = lilv_plugin_get_one(plugin, modgui, modgui_tmpl);
+ sord_node_free(sworld, modgui_tmpl);
+ return ret;
+ }
+ return NULL;
+}
+
+LILV_API LilvNode*
+lilv_plugin_get_modgui_settings_template(const LilvPlugin* plugin)
+{
+ const SordNode* modgui = lilv_plugin_get_modgui(plugin);
+ if (modgui) {
+ SordWorld* sworld = plugin->world->world;
+ SordNode* modgui_tmpl = sord_new_uri(sworld, NS_MOD "settingsTemplate");
+ LilvNode* ret = lilv_plugin_get_one(plugin, modgui, modgui_tmpl);
+ sord_node_free(sworld, modgui_tmpl);
+ return ret;
+ }
+ return NULL;
+}
+
+LILV_API LilvNode*
+lilv_plugin_get_modgui_template_data(const LilvPlugin* plugin)
+{
+ const SordNode* modgui = lilv_plugin_get_modgui(plugin);
+ if (modgui) {
+ SordWorld* sworld = plugin->world->world;
+ SordNode* modgui_tmpl = sord_new_uri(sworld, NS_MOD "templateData");
+ LilvNode* ret = lilv_plugin_get_one(plugin, modgui, modgui_tmpl);
+ sord_node_free(sworld, modgui_tmpl);
+ return ret;
+ }
+ return NULL;
+}
+
+LILV_API LilvNode*
+lilv_plugin_get_modgui_screenshot(const LilvPlugin* plugin)
+{
+ const SordNode* modgui = lilv_plugin_get_modgui(plugin);
+ if (modgui) {
+ SordWorld* sworld = plugin->world->world;
+ SordNode* modgui_scr = sord_new_uri(sworld, NS_MOD "screenshot");
+ LilvNode* ret = lilv_plugin_get_one(plugin, modgui, modgui_scr);
+ sord_node_free(sworld, modgui_scr);
+ return ret;
+ }
+ return NULL;
+}
+
+LILV_API LilvNode*
+lilv_plugin_get_modgui_thumbnail(const LilvPlugin* plugin)
+{
+ const SordNode* modgui = lilv_plugin_get_modgui(plugin);
+ if (modgui) {
+ SordWorld* sworld = plugin->world->world;
+ SordNode* modgui_thumb = sord_new_uri(sworld, NS_MOD "thumbnail");
+ LilvNode* ret = lilv_plugin_get_one(plugin, modgui, modgui_thumb);
+ sord_node_free(sworld, modgui_thumb);
+ return ret;
+ }
+ return NULL;
+}
+
LILV_API bool
lilv_plugin_is_replaced(const LilvPlugin* plugin)
{
diff --git a/source/modules/lilv/lilv-0.21.3/src/port.c b/source/modules/lilv/lilv-0.21.3/src/port.c
index 6bf8fc7..0a50891 100644
--- a/source/modules/lilv/lilv-0.21.3/src/port.c
@@ -406,7 +595,7 @@ index 79199e4..119dcee 100644
if (!str) {
return NULL;
diff --git a/source/modules/lilv/lilv-0.21.3/src/ui.c b/source/modules/lilv/lilv-0.21.3/src/ui.c
index 0f4f2f6..a3e17da 100644
index 0f4f2f6..a0dd567 100644
--- a/source/modules/lilv/lilv-0.21.3/src/ui.c
+++ b/source/modules/lilv/lilv-0.21.3/src/ui.c
@@ -109,3 +109,54 @@ lilv_ui_get_binary_uri(const LilvUI* ui)
@@ -489,7 +678,7 @@ index 31c9238..5bcdb7e 100644
ret = symlink(oldpath, newpath);
#endif
diff --git a/source/modules/lilv/lilv-0.21.3/src/world.c b/source/modules/lilv/lilv-0.21.3/src/world.c
index 02dbeec..437d767 100644
index 02dbeec..8b2db95 100644
--- a/source/modules/lilv/lilv-0.21.3/src/world.c
+++ b/source/modules/lilv/lilv-0.21.3/src/world.c
@@ -19,7 +19,7 @@
@@ -501,6 +690,20 @@ index 02dbeec..437d767 100644
#include "lilv_internal.h"
@@ -797,12 +797,8 @@ lilv_world_load_plugin_classes(LilvWorld* world)
}
LILV_API void
-lilv_world_load_all(LilvWorld* world)
+lilv_world_load_all(LilvWorld* world, const char* lv2_path)
{
- const char* lv2_path = getenv("LV2_PATH");
- if (!lv2_path)
- lv2_path = LILV_DEFAULT_LV2_PATH;
-
// Discover bundles and read all manifest files into model
lilv_world_load_path(world, lv2_path);
diff --git a/source/modules/lilv/sratom-0.4.7/sratom/sratom.h b/source/modules/lilv/sratom-0.4.7/sratom/sratom.h
index a86f67e..f0c12b9 100644
--- a/source/modules/lilv/sratom-0.4.7/sratom/sratom.h


Loading…
Cancel
Save