X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fpluginlv2config.C;h=f104be00a1312abd29ec5a60c9e567363fc2edba;hb=f3ab8166b4ee39bd518e7ddce28648f74e072673;hp=776f9d67b15b53982b14d593a8dbf965465067f4;hpb=efb3600851fd27b13d3053ffbdb6434535580bfd;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/pluginlv2config.C b/cinelerra-5.1/cinelerra/pluginlv2config.C index 776f9d67..f104be00 100644 --- a/cinelerra-5.1/cinelerra/pluginlv2config.C +++ b/cinelerra-5.1/cinelerra/pluginlv2config.C @@ -23,12 +23,14 @@ #include "arraylist.h" #include "cstrdup.h" #include "language.h" +#include "pluginlv2.h" #include "pluginlv2config.h" #include #include PluginLV2UriTable::PluginLV2UriTable() + : Mutex("PluginLV2UriTable::PluginLV2UriTable") { set_array_delete(); } @@ -40,18 +42,21 @@ PluginLV2UriTable::~PluginLV2UriTable() LV2_URID PluginLV2UriTable::map(const char *uri) { - mLock locker(uri_table_lock); - for( int i=0; i= n ) append(cstrdup(uri)); + unlock(); + return i+1; } const char *PluginLV2UriTable::unmap(LV2_URID urid) { - mLock locker(uri_table_lock); + lock("PluginLV2UriTable::unmap"); int idx = urid - 1; - return idx>=0 && idx=0 && idxlv2_AudioPort) ) port |= PORTS_AUDIO; + if( lilv_port_is_a(lilv, lp, lv2->lv2_ControlPort) ) port |= PORTS_CONTROL; + if( lilv_port_is_a(lilv, lp, lv2->lv2_InputPort) ) port |= PORTS_INPUT; + if( lilv_port_is_a(lilv, lp, lv2->lv2_OutputPort) ) port |= PORTS_OUTPUT; + if( lilv_port_is_a(lilv, lp, lv2->atom_AtomPort) ) port |= PORTS_ATOM; + ports[i] = port; } }