From 32b57dd9cdbb2fc0000a9f72ff766e4030c50b24 Mon Sep 17 00:00:00 2001 From: Good Guy Date: Sat, 26 May 2018 20:38:09 -0600 Subject: [PATCH 1/1] connect lv2 output controls --- cinelerra-5.1/cinelerra/pluginlv2.C | 46 +++++---- cinelerra-5.1/cinelerra/pluginlv2.h | 15 +-- cinelerra-5.1/cinelerra/pluginlv2client.C | 6 +- cinelerra-5.1/cinelerra/pluginlv2config.C | 23 ++++- cinelerra-5.1/cinelerra/pluginlv2config.h | 5 +- cinelerra-5.1/cinelerra/pluginlv2gui.C | 8 +- cinelerra-5.1/cinelerra/pluginlv2ui.C | 111 +++++++++++++--------- cinelerra-5.1/cinelerra/pluginlv2ui.h | 17 ++-- 8 files changed, 133 insertions(+), 98 deletions(-) diff --git a/cinelerra-5.1/cinelerra/pluginlv2.C b/cinelerra-5.1/cinelerra/pluginlv2.C index 698be88e..bbfd76ea 100644 --- a/cinelerra-5.1/cinelerra/pluginlv2.C +++ b/cinelerra-5.1/cinelerra/pluginlv2.C @@ -53,11 +53,11 @@ void PluginLV2::reset_lv2() lilv_instance_free(inst); inst = 0; lilv_uis_free(lilv_uis); lilv_uis = 0; - lilv_node_free(lv2_InputPort); lv2_InputPort = 0; - lilv_node_free(lv2_OutputPort); lv2_OutputPort = 0; + lilv_node_free(lv2_InputPort); lv2_InputPort = 0; + lilv_node_free(lv2_OutputPort); lv2_OutputPort = 0; lilv_node_free(lv2_AudioPort); lv2_AudioPort = 0; lilv_node_free(lv2_ControlPort); lv2_ControlPort = 0; - lilv_node_free(lv2_CVPort); lv2_CVPort = 0; + lilv_node_free(lv2_CVPort); lv2_CVPort = 0; lilv_node_free(lv2_Optional); lv2_Optional = 0; lilv_node_free(atom_AtomPort); atom_AtomPort = 0; @@ -124,7 +124,7 @@ int PluginLV2::init_lv2(PluginLV2ClientConfig &conf, int sample_rate) boundedBlockLength = lilv_new_uri(world, LV2_BUF_SIZE__boundedBlockLength); seq_out = (LV2_Atom_Sequence *) new char[sizeof(LV2_Atom_Sequence) + LV2_SEQ_SIZE]; - conf.init_lv2(lilv); + conf.init_lv2(lilv, this); nb_inputs = nb_outputs = 0; for( int i=0; iunmap(urid); } -void PluginLV2::connect_ports(PluginLV2ClientConfig &conf, int typ) +void PluginLV2::connect_ports(PluginLV2ClientConfig &conf, int ports) { int ich = 0, och = 0; for( int i=0; i