From cc8dafad4f25de518375b9ab7aa404f6929f4bd9 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Mon, 3 Jun 2013 19:34:14 +0200 Subject: [PATCH] lilv-backwards compatible min buffer-size implementation --- libs/ardour/lv2_plugin.cc | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/libs/ardour/lv2_plugin.cc b/libs/ardour/lv2_plugin.cc index 5e433c65b5..f7189be163 100644 --- a/libs/ardour/lv2_plugin.cc +++ b/libs/ardour/lv2_plugin.cc @@ -445,13 +445,12 @@ LV2Plugin::init(const void* c_plugin, framecnt_t rate) flags |= PORT_POSITION; } } -#ifdef HAVE_NEW_LV2 - LilvNode* min_size = lilv_port_get(_impl->plugin, port, _world.rsz_minimumSize); + LilvNodes* min_size_v = lilv_port_get_value(_impl->plugin, port, _world.rsz_minimumSize); + LilvNode* min_size = min_size_v ? lilv_nodes_get_first(min_size_v) : NULL; if (min_size && lilv_node_is_int(min_size)) { minimumSize = lilv_node_as_int(min_size); } - lilv_node_free(min_size); -#endif + lilv_nodes_free(min_size_v); lilv_nodes_free(buffer_types); lilv_nodes_free(atom_supports); } else { @@ -1437,13 +1436,12 @@ LV2Plugin::allocate_atom_event_buffers() if (lilv_port_is_a(p, port, _world.lv2_OutputPort)) { count_atom_out++; } -#ifdef HAVE_NEW_LV2 - LilvNode* min_size = lilv_port_get(_impl->plugin, port, _world.rsz_minimumSize); + LilvNodes* min_size_v = lilv_port_get_value(_impl->plugin, port, _world.rsz_minimumSize); + LilvNode* min_size = min_size_v ? lilv_nodes_get_first(min_size_v) : NULL; if (min_size && lilv_node_is_int(min_size)) { minimumSize = std::max(minimumSize, lilv_node_as_int(min_size)); } - lilv_node_free(min_size); -#endif + lilv_nodes_free(min_size_v); } lilv_nodes_free(buffer_types); lilv_nodes_free(atom_supports);