X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fpluginaclientlad.C;h=15ff05ed0e6ab8b3d542511c1dd45b3c5a2bfc93;hb=fe342c90022bff98669b5cc96817cafe98c4e768;hp=f6228c3b96d354d1f10559512449aad6160ab336;hpb=b75f0c6910f5f1e1094f17874cd404e3f0faee8c;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/pluginaclientlad.C b/cinelerra-5.1/cinelerra/pluginaclientlad.C index f6228c3b..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" @@ -450,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; @@ -479,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; @@ -505,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