deactivate ();
cleanup ();
- drop_references ();
-
slv2_instance_free(_instance);
slv2_value_free(_name);
slv2_value_free(_author);
} else {
warning << string_compose (_("Illegal parameter number used with plugin \"%1\"."
- "This is a bug in either Ardour or the LV2 plugin (%2)"),
- name(), unique_id()) << endmsg;
+ "This is a bug in either %2 or the LV2 plugin (%3)"),
+ name(), PROGRAM_NAME, unique_id()) << endmsg;
}
}
}
bool
-LV2Plugin::load_preset(const string uri)
+LV2Plugin::load_preset(const string& uri)
{
const string query = string(
"PREFIX lv2p: <http://lv2plug.in/ns/dev/presets#>\n"
}
int
-LV2Plugin::set_state(const XMLNode& node, int /*version*/)
+LV2Plugin::set_state(const XMLNode& node, int version)
{
XMLNodeList nodes;
XMLProperty *prop;
return -1;
}
- nodes = node.children ("Port");
-
+ if (version < 3000){
+ nodes = node.children ("port");
+ } else {
+ nodes = node.children ("Port");
+ }
+
for (iter = nodes.begin(); iter != nodes.end(); ++iter){
child = *iter;
}
map<string,uint32_t>::iterator i = _port_indices.find(sym);
+
if (i != _port_indices.end()) {
port_id = i->second;
} else {
: _lv2_world(lv2_world)
, _slv2_plugin(slv2_plugin)
{
+ type = ARDOUR::LV2;
}
LV2PluginInfo::~LV2PluginInfo()
continue;
}
+ info->type = LV2;
+
info->name = string(slv2_value_as_string(name));
slv2_value_free(name);