mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-08 07:45:00 +01:00
LV2: Ignore connection optional ports
This commit is contained in:
parent
4b31a1078a
commit
5a1fc0ddc9
1 changed files with 57 additions and 54 deletions
|
|
@ -186,6 +186,7 @@ public:
|
||||||
LilvNode* lv2_ControlPort;
|
LilvNode* lv2_ControlPort;
|
||||||
LilvNode* lv2_InputPort;
|
LilvNode* lv2_InputPort;
|
||||||
LilvNode* lv2_OutputPort;
|
LilvNode* lv2_OutputPort;
|
||||||
|
LilvNode* lv2_connectionOptional;
|
||||||
LilvNode* lv2_designation;
|
LilvNode* lv2_designation;
|
||||||
LilvNode* lv2_enumeration;
|
LilvNode* lv2_enumeration;
|
||||||
LilvNode* lv2_freewheeling;
|
LilvNode* lv2_freewheeling;
|
||||||
|
|
@ -837,7 +838,7 @@ LV2Plugin::init(const void* c_plugin, samplecnt_t rate)
|
||||||
lilv_nodes_free(min_size_v);
|
lilv_nodes_free(min_size_v);
|
||||||
lilv_nodes_free(buffer_types);
|
lilv_nodes_free(buffer_types);
|
||||||
lilv_nodes_free(atom_supports);
|
lilv_nodes_free(atom_supports);
|
||||||
} else {
|
} else if (!lilv_port_has_property(_impl->plugin, port, _world.lv2_connectionOptional)) {
|
||||||
error << string_compose(
|
error << string_compose(
|
||||||
"LV2: \"%1\" port %2 has no known data type",
|
"LV2: \"%1\" port %2 has no known data type",
|
||||||
lilv_node_as_string(_impl->name), i) << endmsg;
|
lilv_node_as_string(_impl->name), i) << endmsg;
|
||||||
|
|
@ -3504,16 +3505,17 @@ LV2World::LV2World()
|
||||||
ext_logarithmic = lilv_new_uri(world, LV2_PORT_PROPS__logarithmic);
|
ext_logarithmic = lilv_new_uri(world, LV2_PORT_PROPS__logarithmic);
|
||||||
ext_notOnGUI = lilv_new_uri(world, LV2_PORT_PROPS__notOnGUI);
|
ext_notOnGUI = lilv_new_uri(world, LV2_PORT_PROPS__notOnGUI);
|
||||||
ext_expensive = lilv_new_uri(world, LV2_PORT_PROPS__expensive);
|
ext_expensive = lilv_new_uri(world, LV2_PORT_PROPS__expensive);
|
||||||
ext_causesArtifacts= lilv_new_uri(world, LV2_PORT_PROPS__causesArtifacts);
|
ext_causesArtifacts = lilv_new_uri(world, LV2_PORT_PROPS__causesArtifacts);
|
||||||
ext_notAutomatic = lilv_new_uri(world, LV2_PORT_PROPS__notAutomatic);
|
ext_notAutomatic = lilv_new_uri(world, LV2_PORT_PROPS__notAutomatic);
|
||||||
ext_rangeSteps = lilv_new_uri(world, LV2_PORT_PROPS__rangeSteps);
|
ext_rangeSteps = lilv_new_uri(world, LV2_PORT_PROPS__rangeSteps);
|
||||||
ext_displayPriority= lilv_new_uri(world, LV2_PORT_PROPS__displayPriority);
|
ext_displayPriority = lilv_new_uri(world, LV2_PORT_PROPS__displayPriority);
|
||||||
groups_group = lilv_new_uri(world, LV2_PORT_GROUPS__group);
|
groups_group = lilv_new_uri(world, LV2_PORT_GROUPS__group);
|
||||||
groups_element = lilv_new_uri(world, LV2_PORT_GROUPS__element);
|
groups_element = lilv_new_uri(world, LV2_PORT_GROUPS__element);
|
||||||
lv2_AudioPort = lilv_new_uri(world, LILV_URI_AUDIO_PORT);
|
lv2_AudioPort = lilv_new_uri(world, LILV_URI_AUDIO_PORT);
|
||||||
lv2_ControlPort = lilv_new_uri(world, LILV_URI_CONTROL_PORT);
|
lv2_ControlPort = lilv_new_uri(world, LILV_URI_CONTROL_PORT);
|
||||||
lv2_InputPort = lilv_new_uri(world, LILV_URI_INPUT_PORT);
|
lv2_InputPort = lilv_new_uri(world, LILV_URI_INPUT_PORT);
|
||||||
lv2_OutputPort = lilv_new_uri(world, LILV_URI_OUTPUT_PORT);
|
lv2_OutputPort = lilv_new_uri(world, LILV_URI_OUTPUT_PORT);
|
||||||
|
lv2_connectionOptional = lilv_new_uri(world, LV2_CORE__connectionOptional);
|
||||||
lv2_inPlaceBroken = lilv_new_uri(world, LV2_CORE__inPlaceBroken);
|
lv2_inPlaceBroken = lilv_new_uri(world, LV2_CORE__inPlaceBroken);
|
||||||
lv2_isSideChain = lilv_new_uri(world, LV2_CORE_PREFIX "isSideChain");
|
lv2_isSideChain = lilv_new_uri(world, LV2_CORE_PREFIX "isSideChain");
|
||||||
lv2_index = lilv_new_uri(world, LV2_CORE__index);
|
lv2_index = lilv_new_uri(world, LV2_CORE__index);
|
||||||
|
|
@ -3616,6 +3618,7 @@ LV2World::~LV2World()
|
||||||
lilv_node_free(lv2_integer);
|
lilv_node_free(lv2_integer);
|
||||||
lilv_node_free(lv2_isSideChain);
|
lilv_node_free(lv2_isSideChain);
|
||||||
lilv_node_free(lv2_inPlaceBroken);
|
lilv_node_free(lv2_inPlaceBroken);
|
||||||
|
lilv_node_free(lv2_connectionOptional);
|
||||||
lilv_node_free(lv2_OutputPort);
|
lilv_node_free(lv2_OutputPort);
|
||||||
lilv_node_free(lv2_InputPort);
|
lilv_node_free(lv2_InputPort);
|
||||||
lilv_node_free(lv2_ControlPort);
|
lilv_node_free(lv2_ControlPort);
|
||||||
|
|
@ -3971,7 +3974,7 @@ LV2PluginInfo::discover (boost::function <void (std::string const&, PluginScanLo
|
||||||
count_ctrl_out++;
|
count_ctrl_out++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (!lilv_port_is_a (p, port, world.lv2_AudioPort)) {
|
else if (!lilv_port_is_a(p, port, world.lv2_AudioPort) && !lilv_port_has_property(p, port, world.lv2_connectionOptional)) {
|
||||||
err = 1;
|
err = 1;
|
||||||
LilvNode* name = lilv_port_get_name(p, port);
|
LilvNode* name = lilv_port_get_name(p, port);
|
||||||
cb (uri, PluginScanLogEntry::Error, string_compose (_("Port %1 ('%2') has no known data type"), i, lilv_node_as_string (name)), false);
|
cb (uri, PluginScanLogEntry::Error, string_compose (_("Port %1 ('%2') has no known data type"), i, lilv_node_as_string (name)), false);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue