X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fpluginaclientlad.C;h=15ff05ed0e6ab8b3d542511c1dd45b3c5a2bfc93;hb=fe342c90022bff98669b5cc96817cafe98c4e768;hp=91c19275f7d47305762d2f4754ec94c3c6ca72cf;hpb=8d1431081df60da0719db2c77e4c56830521c7e8;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/pluginaclientlad.C b/cinelerra-5.1/cinelerra/pluginaclientlad.C index 91c19275..15ff05ed 100644 --- a/cinelerra-5.1/cinelerra/pluginaclientlad.C +++ b/cinelerra-5.1/cinelerra/pluginaclientlad.C @@ -21,8 +21,10 @@ #include "clip.h" #include "bchash.h" +#include "filesystem.h" #include "filexml.h" #include "language.h" +#include "mwindow.h" #include "pluginaclientlad.h" #include "pluginserver.h" #include "samples.h" @@ -69,8 +71,13 @@ int PluginAClientConfig::equivalent(PluginAClientConfig &that) // Need PluginServer to do this. void PluginAClientConfig::copy_from(PluginAClientConfig &that) { - int n = bmin(total_ports, that.total_ports); - for( int i=0; ilad_descriptor->Name); } PluginAClientLAD::~PluginAClientLAD() @@ -400,7 +408,7 @@ int PluginAClientLAD::get_outchannels() const char* PluginAClientLAD::plugin_title() { - return (char*)server->lad_descriptor->Name; + return title; } int PluginAClientLAD::uses_gui() @@ -444,12 +452,11 @@ char* PluginAClientLAD::lad_to_upper(char *string, const char *input) void PluginAClientLAD::save_data(KeyFrame *keyframe) { - FileXML output; - char string[BCTEXTLEN]; if( !config.port_data ) config.initialize(server); - + FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); + char string[BCTEXTLEN]; output.tag.set_title(lad_to_upper(string, plugin_title())); const LADSPA_Descriptor *lad_desc = server->lad_descriptor; @@ -473,14 +480,13 @@ void PluginAClientLAD::save_data(KeyFrame *keyframe) void PluginAClientLAD::read_data(KeyFrame *keyframe) { - FileXML input; - char string[BCTEXTLEN]; - - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); if( !config.port_data ) config.initialize(server); + FileXML input; + input.set_shared_input(keyframe->xbuf); while(! input.read_tag() ) { //printf("PluginAClientLAD::read_data %s\n", input.tag.get_title()); + char string[BCTEXTLEN]; if(! input.tag.title_is(lad_to_upper(string, plugin_title())) ) continue; const LADSPA_Descriptor *lad_desc = server->lad_descriptor; const LADSPA_PortDescriptor *port_desc = lad_desc->PortDescriptors; @@ -499,12 +505,14 @@ void PluginAClientLAD::read_data(KeyFrame *keyframe) void PluginAClientLAD::delete_buffers() { - if(in_buffers) - for(int i = 0; i < total_inbuffers; i++) delete [] in_buffers[i]; - if(out_buffers) - for(int i = 0; i < total_outbuffers; i++) delete [] out_buffers[i]; - in_buffers = 0; - out_buffers = 0; + if( in_buffers ) { + for( int i=0; i