From: Good Guy Date: Sun, 7 Oct 2018 21:09:06 +0000 (-0600) Subject: dynamic keyframes, textbox rework, andrea ffmpeg.opts, perpetual chkpt undo, lv2... X-Git-Url: https://cinelerra-gg.org/git/?a=commitdiff_plain;h=b2eb290b3f6e5c233393017aa152e67c76243130;p=goodguy%2Fhistory.git dynamic keyframes, textbox rework, andrea ffmpeg.opts, perpetual chkpt undo, lv2 listbox scroll fix, lv2_blacklist update from trebmuh --- diff --git a/cinelerra-5.1/cinelerra/batchrender.C b/cinelerra-5.1/cinelerra/batchrender.C index 4f685c28..e75c7109 100644 --- a/cinelerra-5.1/cinelerra/batchrender.C +++ b/cinelerra-5.1/cinelerra/batchrender.C @@ -404,7 +404,9 @@ int BatchRenderThread::test_edl_files() char *bfr = new char[sz+1]; int64_t len = fread(bfr, 1, sz+1, fp); if( len == sz ) { - FileXML file; file.set_shared_input(bfr, len); + FileXML file; + XMLBuffer data(bfr, len, 0); + file.set_shared_input(&data); EDL *edl = new EDL; edl->create_objects(); edl->load_xml(&file, LOAD_ALL); double pos = edl->equivalent_output(mwindow->edl); diff --git a/cinelerra-5.1/cinelerra/binfolder.C b/cinelerra-5.1/cinelerra/binfolder.C index b5d4b9f8..dfe101cd 100644 --- a/cinelerra-5.1/cinelerra/binfolder.C +++ b/cinelerra-5.1/cinelerra/binfolder.C @@ -522,14 +522,14 @@ int BinFolderFilter::load_xml(FileXML *file) int enabled_type = file->tag.get_property("ENABLED", FOLDER_ENABLED_AND); int op_type = file->tag.get_property("OP", FOLDER_OP_MATCHES); int target_type = file->tag.get_property("TARGET", FOLDER_TARGET_PATTERNS); - char data[0x40000]; - file->read_text_until("/FILTER", data, sizeof(data), 0); + XMLBuffer data; + file->read_text_until("/FILTER", &data, 0); update_enabled(enabled_type); update_target(target_type); update_op(op_type); target->load_xml(file); if( target->type == FOLDER_TARGET_PATTERNS ) - ((BinFolderTargetPatterns *)target)->update(data); + ((BinFolderTargetPatterns *)target)->update(data.cstr()); return 0; } diff --git a/cinelerra-5.1/cinelerra/filexml.C b/cinelerra-5.1/cinelerra/filexml.C index f4743178..8914ff44 100644 --- a/cinelerra-5.1/cinelerra/filexml.C +++ b/cinelerra-5.1/cinelerra/filexml.C @@ -109,6 +109,19 @@ int XMLBuffer::read(char *bp, int len) return len; } +void XMLBuffer::copy_from(XMLBuffer *xbuf) +{ + if( bsz != xbuf->bsz ) { delete [] bfr; bfr = 0; } + if( !bfr ) bfr = new unsigned char[bsz = xbuf->bsz]; + lmt = bfr + bsz; + long ilen = xbuf->otell(), olen = xbuf->itell(); + inp = pos(ilen); + outp = pos(olen); + if( ilen > 0 ) + memmove(bfr, xbuf->bfr, ilen); + destroy = xbuf->destroy; +} + // Precision in base 10 // for float is 6 significant figures @@ -363,11 +376,12 @@ FileXML::FileXML(int coded) output_length = 0; buffer = new XMLBuffer(); set_coding(coded); + shared = 0; } FileXML::~FileXML() { - delete buffer; + if( !shared ) delete buffer; delete [] output; } @@ -440,7 +454,7 @@ char* FileXML::get_data() } char* FileXML::string() { - return (char *)buffer->str(); + return (char *)buffer->cstr(); } long FileXML::length() @@ -494,30 +508,29 @@ int FileXML::skip_tag() return 1; } -int FileXML::read_data_until(const char *tag_end, char *out, int len, int skip) +int FileXML::read_data_until(const char *tag_end, XMLBuffer *xbuf, int skip) { long ipos = buffer->itell(); - int opos = 0, pos = -1; - int ch = buffer->next(); - for( int olen=len-1; ch>=0 && oposnext() ) { + int pos = -1; + for( int ch=buffer->next(); ch>=0; ch=buffer->next() ) { if( pos < 0 ) { // looking for next tag if( ch == left_delm ) { ipos = buffer->itell()-1; pos = 0; } else - out[opos++] = ch; + xbuf->next(ch); continue; } // check for end of match if( !tag_end[pos] && ch == right_delm ) break; // if mismatched, copy prefix to out if( tag_end[pos] != ch ) { - out[opos++] = left_delm; - for( int i=0; inext(left_delm); + for( int i=0; inext(tag_end[i]); pos = -1; + xbuf->next(ch); continue; } ++pos; @@ -525,14 +538,14 @@ int FileXML::read_data_until(const char *tag_end, char *out, int len, int skip) // if end tag is reached, pos is left on the < of the end tag if( !skip && pos >= 0 && !tag_end[pos] ) buffer->iseek(ipos); - return opos; + return xbuf->otell(); } -int FileXML::read_text_until(const char *tag_end, char *out, int len, int skip) +int FileXML::read_text_until(const char *tag_end, XMLBuffer *xbuf, int skip) { - char data[len+1]; - int opos = read_data_until(tag_end, data, len, skip); - decode(out, data, opos); + int len = read_data_until(tag_end, xbuf, skip); + char *cp = xbuf->cstr(); + decode(cp, cp, len); return 0; } @@ -615,30 +628,31 @@ int FileXML::get_coding() return coded; } -int FileXML::set_shared_input(char *shared_string, long avail, int coded) +int FileXML::set_shared_input(XMLBuffer *xbuf) { strcpy(this->filename, ""); delete buffer; - buffer = new XMLBuffer(shared_string, avail, 0); + buffer = xbuf; + xbuf->iseek(0); set_coding(coded); - return 0; + shared = 1; + return 0; } -int FileXML::set_shared_output(char *shared_string, long avail, int coded) +int FileXML::set_shared_output(XMLBuffer *xbuf) { strcpy(this->filename, ""); delete buffer; - buffer = new XMLBuffer(avail, shared_string, 0); + buffer = xbuf; + xbuf->oseek(0); set_coding(coded); - return 0; + shared = 1; + return 0; } - // ================================ XML tag - - int XMLTag::title_is(const char *tp) { return !strcasecmp(title, tp) ? 1 : 0; @@ -751,7 +765,8 @@ long XMLBuffer::encoded_length(const char *sp, int n) char *XMLBuffer::copy_data(char *bp, const char *sp, int n) { int len = n < 0 ? strlen(sp) : n; - memmove(bp,sp,len); + if( bp != sp ) + memmove(bp,sp,len); bp[len] = 0; return bp; } diff --git a/cinelerra-5.1/cinelerra/filexml.h b/cinelerra-5.1/cinelerra/filexml.h index af45e308..70950384 100644 --- a/cinelerra-5.1/cinelerra/filexml.h +++ b/cinelerra-5.1/cinelerra/filexml.h @@ -27,6 +27,7 @@ #include #include "arraylist.h" +#include "keyframe.inc" #include "filexml.inc" #include "sizes.h" @@ -39,6 +40,7 @@ class XMLBuffer int destroy; int demand(long len); + friend class KeyFrame; public: XMLBuffer(long buf_size=0x1000, long max_size=LONG_MAX, int del=1); XMLBuffer(long buf_size, char *buf, int del=0); // writing @@ -49,10 +51,11 @@ public: long itell() { return outp - bfr; } void oseek(long pos) { inp = bfr + pos; } void iseek(long pos) { outp = bfr + pos; } - unsigned char *pos(long ofs=0) { return bfr+ofs; } - unsigned char *str() { if( inp < lmt ) *inp = 0; return bfr; } + unsigned char *pos(long ofs=0) { return bfr+ofs; } + char *cstr() { if( demand(otell()+1) ) *inp = 0; return (char*)bfr; } int read(char *bp, int n); int write(const char *bp, int n); + void copy_from(XMLBuffer *xbfr); int cur() { return outp>=inp ? -1 : *outp; } int next() { return outp>=inp ? -1 : *outp++; } @@ -129,9 +132,9 @@ public: int append_data(const char *text); int append_data(const char *text, long len); - char* read_text(); - int read_data_until(const char *tag_end, char *out, int len, int skip=0); - int read_text_until(const char *tag_end, char *out, int len, int skip=0); + char *read_text(); + int read_data_until(const char *tag_end, XMLBuffer *xbfr, int skip=0); + int read_text_until(const char *tag_end, XMLBuffer *xbfr, int skip=0); int read_tag(); int skip_tag(); int write_to_file(const char *filename); @@ -142,17 +145,18 @@ public: char *(*encode)(char *bp, const char *sp, int n); long (*coded_length)(const char *sp, int n); - int set_shared_input(char *shared_string, long avail, int coded=1); - int set_shared_output(char *shared_string, long avail, int coded=1); void set_coding(int coding); int get_coding(); + int set_shared_input(XMLBuffer *xbfr); + int set_shared_output(XMLBuffer *xbfr); + int rewind(); char *get_data(); char *string(); long length(); XMLBuffer *buffer; - int coded; + int coded, shared; XMLTag tag; long output_length; diff --git a/cinelerra-5.1/cinelerra/keyframe.C b/cinelerra-5.1/cinelerra/keyframe.C index cdeebd64..fd7eaf84 100644 --- a/cinelerra-5.1/cinelerra/keyframe.C +++ b/cinelerra-5.1/cinelerra/keyframe.C @@ -34,17 +34,18 @@ KeyFrame::KeyFrame() : Auto() { - data[0] = 0; + xbuf = new XMLBuffer(); } KeyFrame::KeyFrame(EDL *edl, KeyFrames *autos) : Auto(edl, (Autos*)autos) { - data[0] = 0; + xbuf = new XMLBuffer(); } KeyFrame::~KeyFrame() { + delete xbuf; } void KeyFrame::load(FileXML *file) @@ -53,15 +54,12 @@ void KeyFrame::load(FileXML *file) // Shouldn't be necessary // position = file->tag.get_property((char*)"POSITION", position); //printf("KeyFrame::load 1\n"); - - int len = file->read_data_until((char*)"/KEYFRAME", data, MESSAGESIZE-1, 1); - data[len] = 0; -//printf("KeyFrame::load 2 data=\n%s\nend of data\n", data); + xbuf->iseek(0); xbuf->oseek(0); + file->read_data_until((char*)"/KEYFRAME", xbuf, 1); } void KeyFrame::copy(int64_t start, int64_t end, FileXML *file, int default_auto) { -//printf("KeyFrame::copy 1 %d\n%s\n", position - start, data); file->tag.set_title((char*)"KEYFRAME"); if(default_auto) file->tag.set_property((char*)"POSITION", 0); @@ -73,10 +71,8 @@ void KeyFrame::copy(int64_t start, int64_t end, FileXML *file, int default_auto) file->append_tag(); // Can't put newlines in because these would be reimported and resaved along // with new newlines. -// file->append_newline(); - + char *data = (char*)xbuf->pos(0); file->append_data(data, strlen(data)); -// file->append_newline(); file->tag.set_title((char*)"/KEYFRAME"); file->append_tag(); @@ -89,156 +85,102 @@ void KeyFrame::copy_from(Auto *that) copy_from((KeyFrame*)that); } -void KeyFrame::copy_from(KeyFrame *that) +void KeyFrame::copy_data(KeyFrame *src) { - Auto::copy_from(that); - KeyFrame *keyframe = (KeyFrame*)that; - strcpy(data, keyframe->data); - position = keyframe->position; + xbuf->copy_from(src->xbuf); } -void KeyFrame::copy_data(KeyFrame *src) +void KeyFrame::copy_from(KeyFrame *that) { - strcpy(data, src->data); + Auto::copy_from(that); + copy_data(that); + position = that->position; } int KeyFrame::identical(KeyFrame *src) { - return !strcasecmp(src->data, data); + return !strcasecmp(xbuf->cstr(), src->xbuf->cstr()); } void KeyFrame::get_contents(BC_Hash *ptr, char **text, char **extra) { FileXML input; - input.set_shared_input(data, strlen(data)); - int result = 0; - char *this_text = 0; - char *this_extra = 0; - while(!result) - { - result = input.read_tag(); - if(!result) - { - for(int i = 0; i < input.tag.properties.size(); i++) - { - const char *key = input.tag.get_property_text(i); - const char *value = input.tag.get_property(key); - ptr->update(key, value); - } + input.set_shared_input(xbuf); + char *this_text = 0, *this_extra = 0; + if( !input.read_tag() ) { + for( int i=0; iupdate(key, value); + } // Read any text after tag - this_text = input.read_text(); - (*text) = cstrdup(this_text); + this_text = input.read_text(); + (*text) = cstrdup(this_text); // Read remaining data - this_extra = input.get_data(); - (*extra) = cstrdup(this_extra); - break; - } + this_extra = input.get_data(); + (*extra) = cstrdup(this_extra); } } void KeyFrame::update_parameter(BC_Hash *params, const char *text, const char *extra) { - FileXML output; - FileXML input; - input.set_shared_input(get_data(), strlen(get_data())); - int result = 0; BC_Hash this_params; - char *this_text = 0; - char *this_extra = 0; - int got_it = 0; - -// printf("KeyFrame::update_parameter %d %p %p %p \n", -// __LINE__, -// params, -// text, -// extra); - - + char *this_text = 0, *this_extra = 0; get_contents(&this_params, &this_text, &this_extra); - -// printf("KeyFrame::update_parameter %d params=%p\n", __LINE__, params); -// if(params) params->dump(); -// printf("KeyFrame::update_parameter %d\n", __LINE__); -// this_params.dump(); - -// Get first tag - while(!result) - { - result = input.read_tag(); - if(!result) - { -// Replicate first tag - output.tag.set_title(input.tag.get_title()); + FileXML input, output; + input.set_shared_input(xbuf); + if( !input.read_tag() ) { +// Replicate tag + output.tag.set_title(input.tag.get_title()); // Get each parameter from this keyframe - for(int i = 0; i < this_params.size(); i++) - { - const char *key = this_params.get_key(i); - const char *value = this_params.get_value(i); - + for( int i=0; isize(); j++) - { - if(!strcmp(params->get_key(j), key)) - { - got_it = 1; - value = params->get_value(j); - break; - } + if( params ) { + for( int j=0; jsize(); ++j ) { + if( !strcmp(params->get_key(j), key) ) { + value = params->get_value(j); + break; } } - -// Set parameter in output. - output.tag.set_property(key, value); } + output.tag.set_property(key, value); + } + // Get each parameter from params argument - if(params) - { - for(int i = 0; i < params->size(); i++) - { - const char *key = params->get_key(i); -//printf("KeyFrame::update_parameter %d %s\n", __LINE__, key); - - got_it = 0; - for(int j = 0; j < this_params.size(); j++) - { - if(!strcmp(this_params.get_key(j), key)) - { - got_it = 1; - break; - } + if( params ) { + for( int i=0; isize(); ++i ) { + const char *key = params->get_key(i); + int got_it = 0; + for( int j=0; jget_value(i)); -//printf("KeyFrame::update_parameter %d %s\n", __LINE__, key); - } + if( !got_it ) { + output.tag.set_property(key, params->get_value(i)); } } + } -// Append parameters to output - output.append_tag(); + output.append_tag(); // Write anonymous text & duplicate the rest - output.append_text(text ? text : this_text); -// Append remaining previous data - output.append_data(extra ? extra : this_extra); + output.append_text(text ? text : this_text); + output.append_data(extra ? extra : this_extra); + output.terminate_string(); // Move output to input - output.terminate_string(); - strcpy(this->data, output.string()); - break; - } + xbuf->oseek(0); + xbuf->write(output.string(), output.length()); } delete [] this_text; @@ -294,19 +236,21 @@ int KeyFrame::operator==(KeyFrame &that) return identical(&that); } -char* KeyFrame::get_data() +char *KeyFrame::get_data(int64_t sz) { - return data; + if( sz >= 0 ) xbuf->demand(sz); + return xbuf->cstr(); } void KeyFrame::set_data(char *data) { - strcpy(this->data, data); + xbuf->oseek(0); + xbuf->write(data, strlen(data)); } void KeyFrame::dump(FILE *fp) { fprintf(fp," position: %jd\n", position); - fprintf(fp," data: %s\n", data); + fprintf(fp," data: %s\n", xbuf->cstr()); } diff --git a/cinelerra-5.1/cinelerra/keyframe.h b/cinelerra-5.1/cinelerra/keyframe.h index 29cdb3c5..0d2f4804 100644 --- a/cinelerra-5.1/cinelerra/keyframe.h +++ b/cinelerra-5.1/cinelerra/keyframe.h @@ -54,13 +54,10 @@ public: int identical(KeyFrame *src); // Generate pointers to parameters which are different than *src. // User must free nonzero return arguments. - void get_diff(KeyFrame *src, - BC_Hash **params, - char **text, - char **extra); - void set_data(char *data); - char* get_data(); + void get_diff(KeyFrame *src, BC_Hash **params, char **text, char **extra); + void set_data(char *data); + char* get_data(int64_t sz=-1); // Get parameters in a hash table, // the anonymous text in a newly allocated string. // extra text in a newly allocated string @@ -68,8 +65,7 @@ public: // Update a single parameter or the anonymous text depending on which argument is nonzero void update_parameter(BC_Hash *params, const char *text, const char *extra); -private: - char data[MESSAGESIZE]; + XMLBuffer *xbuf; }; #endif diff --git a/cinelerra-5.1/cinelerra/localsession.C b/cinelerra-5.1/cinelerra/localsession.C index bb95fafa..0ce537e2 100644 --- a/cinelerra-5.1/cinelerra/localsession.C +++ b/cinelerra-5.1/cinelerra/localsession.C @@ -329,8 +329,10 @@ void LocalSession::load_xml(FileXML *file, unsigned long load_flags) while( !file->read_tag() ) { if( file->tag.title_is("/LOCALSESSION") ) break; if( file->tag.title_is("CLIP_NOTES") ) { - file->read_text_until("/CLIP_NOTES", - clip_notes, sizeof(clip_notes)-1, 1); + XMLBuffer notes; + file->read_text_until("/CLIP_NOTES", ¬es, 1); + memset(clip_notes, 0, sizeof(clip_notes)); + strncpy(clip_notes, notes.cstr(), sizeof(clip_notes)-1); } } } diff --git a/cinelerra-5.1/cinelerra/maskauto.C b/cinelerra-5.1/cinelerra/maskauto.C index a4b64a84..1b1f9600 100644 --- a/cinelerra-5.1/cinelerra/maskauto.C +++ b/cinelerra-5.1/cinelerra/maskauto.C @@ -123,12 +123,11 @@ void SubMask::load(FileXML *file) else if(file->tag.title_is("POINT")) { - char string[BCTEXTLEN]; - string[0] = 0; - file->read_text_until("/POINT", string, BCTEXTLEN); + XMLBuffer data; + file->read_text_until("/POINT", &data); MaskPoint *point = new MaskPoint; - char *ptr = string; + char *ptr = data.cstr(); //printf("MaskAuto::load 1 %s\n", ptr); point->x = atof(ptr); diff --git a/cinelerra-5.1/cinelerra/mwindow.C b/cinelerra-5.1/cinelerra/mwindow.C index 71ff5f31..8a33473c 100644 --- a/cinelerra-5.1/cinelerra/mwindow.C +++ b/cinelerra-5.1/cinelerra/mwindow.C @@ -3639,6 +3639,8 @@ void MWindow::load_backup() void MWindow::save_undo_data() { + undo->update_undo_before(); + undo->update_undo_after(_("perpetual session"), LOAD_ALL); char perpetual_path[BCTEXTLEN]; snprintf(perpetual_path, sizeof(perpetual_path), "%s/%s", File::get_config_path(), PERPETUAL_FILE); diff --git a/cinelerra-5.1/cinelerra/pluginaclientlad.C b/cinelerra-5.1/cinelerra/pluginaclientlad.C index f1cbb45a..15ff05ed 100644 --- a/cinelerra-5.1/cinelerra/pluginaclientlad.C +++ b/cinelerra-5.1/cinelerra/pluginaclientlad.C @@ -452,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; @@ -481,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; diff --git a/cinelerra-5.1/cinelerra/pluginclient.C b/cinelerra-5.1/cinelerra/pluginclient.C index 33aba8f3..0a690b2e 100644 --- a/cinelerra-5.1/cinelerra/pluginclient.C +++ b/cinelerra-5.1/cinelerra/pluginclient.C @@ -246,6 +246,7 @@ void PluginClient::hide_gui() //printf("PluginClient::hide_gui %d thread->window=%p\n", __LINE__, thread->window); thread->window->unlock_window(); //printf("PluginClient::delete_thread %d\n", __LINE__); + thread->join(); } } @@ -547,39 +548,33 @@ void PluginClient::load_defaults_xml() //printf("PluginClient::load_defaults_xml %d %s\n", __LINE__, path); KeyFrame temp_keyframe; - FILE *fd = fopen(path, "r"); - if(fd) - { - char *data = temp_keyframe.get_data(); - int data_size = fread(data, 1, MESSAGESIZE-1, fd); + FILE *fp = fopen(path, "r"); + if( fp ) { + struct stat st; int fd = fileno(fp); + int64_t sz = !fstat(fd, &st) ? st.st_size : BCTEXTLEN; + char *data = temp_keyframe.get_data(sz+1); + int data_size = fread(data, 1, sz, fp); if( data_size < 0 ) data_size = 0; - if( data_size > 0 ) - { + if( data_size > 0 ) { // Get window extents int state = 0; - for(int i = 0; i < data_size - 8; i++) - { - if(data[i] == '<') break; - if(isdigit(data[i])) - { - if(state == 0) - { - window_x = atoi(data + i); - state++; - } - else - { - window_y = atoi(data + i); - break; - } - while(i < data_size && isdigit(data[i])) i++; + for( int i=0; i<(data_size-8) && data[i]!='<'; ++i ) { + if( !isdigit(data[i]) ) continue; + if( !state ) { + window_x = atoi(data + i); + state = 1; } + else { + window_y = atoi(data + i); + break; + } + while( iget_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title(to_upper(string, plugin_title())); const AVClass *filt_class = config.filter_class(); if( filt_class && filt_class->option ) { @@ -739,7 +739,7 @@ void PluginFClient::read_data(KeyFrame *keyframe) { FileXML input; char string[BCTEXTLEN]; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while( !input.read_tag() ) { to_upper(string, plugin_title()); diff --git a/cinelerra-5.1/cinelerra/pluginlv2client.C b/cinelerra-5.1/cinelerra/pluginlv2client.C index 20c8ed36..289eed4e 100644 --- a/cinelerra-5.1/cinelerra/pluginlv2client.C +++ b/cinelerra-5.1/cinelerra/pluginlv2client.C @@ -229,7 +229,7 @@ char* PluginLV2Client::to_string(char *string, const char *input) void PluginLV2Client::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); char name[BCTEXTLEN]; to_string(name, plugin_title()); output.tag.set_title(name); for( int i=0; iget_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); char name[BCTEXTLEN]; to_string(name, plugin_title()); while( !input.read_tag() ) { diff --git a/cinelerra-5.1/cinelerra/pluginlv2gui.C b/cinelerra-5.1/cinelerra/pluginlv2gui.C index fd9a6f51..9ae3ba39 100644 --- a/cinelerra-5.1/cinelerra/pluginlv2gui.C +++ b/cinelerra-5.1/cinelerra/pluginlv2gui.C @@ -153,7 +153,8 @@ void PluginLV2Client_OptPanel::update() const char *cols[] = { "option", "value", }; const int col1_w = 150; int wids[] = { col1_w, get_w()-col1_w }; - BC_ListBox::update(&items[0], &cols[0], &wids[0], sizeof(items)/sizeof(items[0])); + BC_ListBox::update(&items[0], &cols[0], &wids[0], sizeof(items)/sizeof(items[0]), + get_xposition(), get_yposition(), get_highlighted_item()); } PluginLV2ClientPot::PluginLV2ClientPot(PluginLV2ClientWindow *gui, int x, int y) diff --git a/cinelerra-5.1/cinelerra/presets.C b/cinelerra-5.1/cinelerra/presets.C index 3a6e18e5..237bedd6 100644 --- a/cinelerra-5.1/cinelerra/presets.C +++ b/cinelerra-5.1/cinelerra/presets.C @@ -328,10 +328,9 @@ void PresetsDBPlugin::load(FileXML *file, int is_factory) sprintf(string, "Unknown"); const char *keyframe_title = file->tag.get_property("TITLE", string); PresetsDBKeyframe *keyframe = new PresetsDBKeyframe(keyframe_title, is_factory); - - char data[MESSAGESIZE]; - file->read_text_until("/KEYFRAME", data, MESSAGESIZE); - keyframe->set_data(data); + XMLBuffer data; + file->read_text_until("/KEYFRAME", &data); + keyframe->set_data(data.cstr()); keyframes.append(keyframe); } diff --git a/cinelerra-5.1/cinelerra/track.C b/cinelerra-5.1/cinelerra/track.C index 84e875d7..bac9abd6 100644 --- a/cinelerra-5.1/cinelerra/track.C +++ b/cinelerra-5.1/cinelerra/track.C @@ -352,7 +352,10 @@ int Track::load(FileXML *file, int track_offset, uint32_t load_flags) else if(file->tag.title_is("TITLE")) { - file->read_text_until("/TITLE", title, BCTEXTLEN); + XMLBuffer data; + file->read_text_until("/TITLE", &data); + memset(title, 0, sizeof(title)); + strncpy(title, data.cstr(), sizeof(title)-1); } else if(load_flags && automation->load(file) diff --git a/cinelerra-5.1/ffmpeg/plugin.opts b/cinelerra-5.1/ffmpeg/plugin.opts index 002c0136..e8863091 100644 --- a/cinelerra-5.1/ffmpeg/plugin.opts +++ b/cinelerra-5.1/ffmpeg/plugin.opts @@ -1,22 +1,22 @@ abench -#abitscope -#abuffer +#abitscope rate=25:size=1024x256 +#abuffer abuffer=sample_rate=48000:sample_fmt=s16p:channel_layout=stereo #abuffersink acompressor #acrossfade acrusher adelay delays=1 -#adrawgraph +#adrawgraph signalstats,drawgraph=lavfi.signalstats.YAVG:min=0:max=255 aecho aemphasis aeval exprs=(sin(2*PI*t*440)+sin(2*PI*t*350))/2*mod(floor(2*t),2):channel_layout=1c -#aevalsrc +#aevalsrc 0 afade -#afftfilt +#afftfilt 1-clip((b/nb)*b,0,1) #afifo -#aformat +aformat sample_fmts=u8|s16:channel_layouts=stereo agate -#ahistogram +#ahistogram dmode=single:r=25:s=hd720:scale=log:ascale=log:slide=replace #ainterleave #alimiter allpass @@ -26,17 +26,17 @@ aloop #alphaextract #alphamerge #amerge -#ametadata +#ametadata mode=print:file=ametadata.txt #amix #amovie -#anequalizer -#anoisesrc +#anequalizer c0 f=200 w=100 g=-10 t=1|c1 f=200 w=100 g=-10 t=1 +anoisesrc d=60:c=pink:r=48000:a=0.5 #anull #anullsink #anullsrc -#apad +#apad pad_len=1024 aperms -#aphasemeter +#aphasemeter r=25:s=800x400:rc=2:gc=7:bc=1 aphaser #apulsator arealtime @@ -45,8 +45,8 @@ aresample sample_rate=48000 #aselect #asendcmd #asetnsamples -#asetpts -#asetrate +#asetpts PTS-STARTPTS +asetrate r=48000 #asettb #ashowinfo #asidedata @@ -60,7 +60,7 @@ atrim start=1:end=240:start_pts=1:end_pts=2:duration=1:start_sample=1:end_sample avgblur bandpass bandreject -bass +bass channels=0x1 bbox bench biquad @@ -68,11 +68,11 @@ blackdetect blackframe #blend boxblur -#buffer +#buffer size=320x240:pixfmt=6:time_base=1/24:pixel_aspect=1/1 #buffersink bwdif -#cellauto -#channelmap +#cellauto p=@:s=100x400:full=0:rule=18 +#channelmap 1|2|0|5|3|4:5.1 #channelsplit chorus in_gain=0.400000:out_gain=0.400000:delays=1|1:decays=1|1:speeds=1|1:depths=1|1 chromakey @@ -82,21 +82,21 @@ colorbalance colorchannelmixer colorkey colorlevels -colormatrix src=bt601:dst=smpte240m -#colorspace +colormatrix src=bt601:dst=bt709 +#colorspace bt709 compand compensationdelay #concat -#convolution +#convolution 0 -1 0 -1 5 -1 0 -1 0:0 -1 0 -1 5 -1 0 -1 0:0 -1 0 -1 5 -1 0 -1 0:0 -1 0 -1 5 -1 0 -1 0 #copy cover_rect crop cropdetect crystalizer -#curves +curves datascope dcshift -#dctdnoiz +dctdnoiz 4.5 deband #decimate deflate @@ -126,14 +126,15 @@ field #fieldmatch fieldorder #fifo +fillborders #find_rect -#firequalizer +#firequalizer delay=0.1:fixed=on:zero_phase=on flanger -#format -#fps +format pix_fmts=yuv420p|yuv444p|yuv410p +#fps 30 #framepack framerate -#framestep +framestep step=30 fspp gblur #geq @@ -162,7 +163,7 @@ interlace #join kerndeint lenscorrection -#life +#life ratio=2/3:s=200x200 loudnorm lowpass lut @@ -174,28 +175,28 @@ mandelbrot #maskedclamp #maskedmerge mcdeint -#mergeplanes +#mergeplanes 0x03010200:yuva444p mestimate -#metadata +#metadata mode=print:file=metadata.txt #midequalizer #minterpolate #movie mpdecimate -#mptestsrc +mptestsrc t=dc_luma negate nlmeans r=15:p=7:s=2 #nnedi -#noformat +#noformat pix_fmts=yuv420p noise #null #nullsink #nullsrc -#overlay +#overlay x=main_w-overlay_w-10:y=main_h-overlay_h-10 owdenoise #pad #palettegen #paletteuse -#pan +#pan 1c|c0=0.9*c0+0.1*c1 perms perspective phase @@ -204,10 +205,10 @@ pp pp7 #premultiply prewitt -#psnr +#psnr PSNR=10*log10(MAX^2/MSE) #pullup -#qp -#random +#qp 2+2*sin(PI*qp) +#random seed=-1 readeia608 readvitc realtime @@ -217,37 +218,37 @@ removegrain repeatfields #replaygain #reverse -#rgbtestsrc +rgbtestsrc rotate sab -#scale +scale 200:100 #scale2ref #select -#selectivecolor +#selectivecolor greens=.5 0 -.33 0:blues=0 .27 #sendcmd separatefields -#setdar -#setfield -#setpts -#setsar +#setdar dar=16/9 +#setfield mode=auto +#setpts PTS-STARTPTS +#setsar sar=10/11 #settb #showcqt #showfreqs showinfo -#showpalette -#showspectrum +showpalette s=30 +#showspectrum s=1280x480:scale=log #showspectrumpic -#showvolume +#showvolume r=30 #showwaves #showwavespic shuffleframes shuffleplanes #sidechaincompress #sidechaingate -#sidedata +#sidedata mode=delete signalstats #signature -#silencedetect +#silencedetect n=0.001 silenceremove sine smartblur @@ -265,19 +266,19 @@ stereowiden super2xsai swaprect swapuv -#tblend +tblend all_mode=grainextract #telecine -#testsrc -#testsrc2 +testsrc duration=5.3:size=qcif:rate=10 +testsrc2 duration=5.3:size=qcif:rate=10 #threshold -#thumbnail -#tile +#thumbnail n=50 +tile layout=3x2:nb_frames=5:padding=7:margin=2 tinterlace transpose treble tremolo -#trim -#unsharp +#trim 5:15 +unsharp luma_msize_x=5:luma_msize_y=5:luma_amount=2.5 uspp vaguedenoiser vectorscope @@ -292,7 +293,7 @@ waveform weave xbr yadif -#yuvtestsrc +yuvtestsrc zoompan ; new in 3.4.1 #acopy @@ -317,9 +318,9 @@ tlut2 #tonemap #vmafmotion ; new in 4.0 -acontrast +#acontrast Contrast=33 #afir -#aiir +aiir #convolve #deconvolve drmeter diff --git a/cinelerra-5.1/guicast/bctextbox.C b/cinelerra-5.1/guicast/bctextbox.C index 8de77f4f..e2af4cbe 100644 --- a/cinelerra-5.1/guicast/bctextbox.C +++ b/cinelerra-5.1/guicast/bctextbox.C @@ -51,9 +51,9 @@ BC_TextBox::BC_TextBox(int x, int y, int w, int rows, is_utf8 = 1; skip_cursor = 0; reset_parameters(rows, has_border, font, size); - if( size > 0 ) + if( size >= 0 ) tstrcpy(text); - else // text referenced directly + else // reference shared directly this->text = text; } @@ -63,12 +63,9 @@ BC_TextBox::BC_TextBox(int x, int y, int w, int rows, { is_utf8 = 1; skip_cursor = 0; - wsize = size > 0 ? size : wcslen(wtext); - if( size <= 0 ) size = 2*wsize; reset_parameters(rows, has_border, font, size); - this->wtext = new wchar_t[wsize+1]; + wdemand(wcslen(wtext)); wcsncpy(this->wtext, wtext, wsize); - this->wtext[wsize] = 0; } BC_TextBox::BC_TextBox(int x, int y, int w, int rows, @@ -136,7 +133,7 @@ BC_TextBox::~BC_TextBox() delete suggestions; delete menu; delete [] wtext; - if( size > 0 ) + if( size >= 0 ) delete [] text; } @@ -149,9 +146,11 @@ int BC_TextBox::reset_parameters(int rows, int has_border, int font, int size) this->rows = rows; this->has_border = has_border; this->font = font; +// size > 0: fixed buffer, size == 0: dynamic buffer +// size < 0: fixed shared buffer via set_text this->size = size; this->tsize = size >= 0 ? size : -size; - this->text = size > 0 ? new char[size+1] : 0; + this->text = size > 0 ? new char[this->tsize+1] : 0; if( this->text ) this->text[0] = 0; text_start = 0; text_end = 0; @@ -187,14 +186,12 @@ int BC_TextBox::reset_parameters(int rows, int has_border, int font, int size) int BC_TextBox::tstrlen() { - if( !tsize ) return strlen(text); - return strnlen(text, tsize); + return !text ? 0 : strnlen(text, tsize); } int BC_TextBox::tstrcmp(const char *cp) { const char *tp = get_text(); - if( !tsize ) return strcmp(tp, cp); return strncmp(tp, cp, tsize); } @@ -202,12 +199,10 @@ char *BC_TextBox::tstrcpy(const char *cp) { dirty = 1; if( cp ) { - if( !tsize ) - return strcpy(text, cp); + if( !size ) tdemand(strlen(cp)); strncpy(text, cp, tsize); - text[tsize-1] = 0; } - else + else if( text ) text[0] = 0; return text; } @@ -215,9 +210,8 @@ char *BC_TextBox::tstrcpy(const char *cp) char *BC_TextBox::tstrcat(const char *cp) { dirty = 1; - if( !tsize ) return strcat(text, cp); + if( !size ) tdemand(tstrlen() + strlen(cp)); char *result = strncat(text, cp, tsize); - text[tsize-1] = 0; return result; } @@ -226,13 +220,10 @@ int BC_TextBox::wtext_update() if( dirty ) { const char *src_enc = is_utf8 ? "UTF8" : BC_Resources::encoding; const char *dst_enc = BC_Resources::wide_encoding; - int nsize = tsize > 0 ? tsize : strlen(text) + BCTEXTLEN; - if( nsize > wsize || !wtext ) { - wchar_t *ntext = new wchar_t[nsize+1]; - memcpy(ntext, wtext, wsize*sizeof(wtext[0])); - delete [] wtext; wtext = ntext; wsize = nsize; - } - wlen = BC_Resources::encode(src_enc, dst_enc, text, strlen(text), + int tlen = tstrlen(); + int nsize = tsize > 0 ? tsize : tlen + BCTEXTLEN; + wdemand(nsize); + wlen = BC_Resources::encode(src_enc, dst_enc, text, tlen, (char*)wtext, wsize*sizeof(wchar_t)) / sizeof(wchar_t); dirty = 0; } @@ -472,9 +463,9 @@ int BC_TextBox::update(const char *text) int BC_TextBox::update(const wchar_t *wtext) { int wtext_len = wcslen(wtext); - if( wtext_len >= wsize ) wtext_len = wsize; - wcsncpy(this->wtext, wtext, wtext_len); - wlen = wtext_len; + wdemand(wtext_len); + wcsncpy(this->wtext, wtext, wsize); + this->wlen = wtext_len; if(highlight_letter1 > wtext_len) highlight_letter1 = wtext_len; if(highlight_letter2 > wtext_len) highlight_letter2 = wtext_len; if(ibeam_letter > wtext_len) ibeam_letter = wtext_len; @@ -558,13 +549,14 @@ const wchar_t* BC_TextBox::get_wtext() void BC_TextBox::set_text(char *text, int isz) { - if( size > 0 || isz < 0 ) return; - this->text = text; - tsize = isz; - size = -isz; - dirty = 1; - wtext_update(); - draw(1); + if( size < 0 && isz > 0 ) { + this->text = text; + tsize = isz; + size = -isz; + dirty = 1; + wtext_update(); + draw(1); + } } int BC_TextBox::get_text_rows() @@ -652,7 +644,7 @@ void BC_TextBox::draw_cursor() void BC_TextBox::draw(int flush) { - int i, j, k; + int i, k; int row_begin, row_end; int highlight_x1, highlight_x2; int need_ibeam = 1; @@ -669,11 +661,11 @@ void BC_TextBox::draw(int flush) // Draw text with selection set_font(font); - for(i=0, j=0, k=text_y; i < wtext_len && k < get_h(); k += text_height) { + for(i=0, k=text_y; i < wtext_len && k < get_h(); k += text_height) { // Draw row of text row_begin = i; wchar_t *wtext_row = &wtext[i]; - for(j=0; j top_margin-text_height && k < get_h()-bottom_margin) { @@ -1741,10 +1733,34 @@ void BC_TextBox::delete_selection(int letter1, int letter2, int wtext_len) do_separators(1); } +int BC_TextBox::wdemand(int len) +{ + if( wtext && wsize >= len ) return 0; + int nsize = len + wlen/2 + BCTEXTLEN; + wchar_t *ntext = new wchar_t[nsize+1]; + ntext[nsize] = 0; + memcpy(ntext, wtext, wsize*sizeof(wtext[0])); + delete [] wtext; wtext = ntext; wsize = nsize; + return 1; +} + +int BC_TextBox::tdemand(int len) +{ + if( text && tsize >= len ) return 0; + int tlen = !text ? 0 : strlen(text); + int nsize = len + tlen/2 + BCTEXTLEN; + char *ntext = new char[nsize+1]; + ntext[nsize] = 0; + memcpy(ntext, text, tsize*sizeof(text[0])); + delete [] text; text = ntext; tsize = nsize; + return 1; +} + void BC_TextBox::insert_text(const wchar_t *wcp, int len) { if( len < 0 ) len = wcslen(wcp); int wtext_len = wtext_update(); + wdemand(wtext_len + len + 1); if( unicode_active < 0 && highlight_letter1 < highlight_letter2 ) { delete_selection(highlight_letter1, highlight_letter2, wtext_len); highlight_letter2 = ibeam_letter = highlight_letter1; @@ -1752,15 +1768,11 @@ void BC_TextBox::insert_text(const wchar_t *wcp, int len) } int i, j; - for(i=wtext_len-1, j=wtext_len+len-1; i>=ibeam_letter; i--, j--) { - if( j >= wsize ) continue; - wtext[j] = wtext[i]; - } + for( i=wtext_len, j=wtext_len+len; --i>=ibeam_letter; ) + if( --j < wsize ) wtext[j] = wtext[i]; + for( i=ibeam_letter,j=0; j= wsize ) break; - wtext[i] = wcp[j]; - } if( (wlen+=len) > wsize ) wlen = wsize; if( (ibeam_letter+=len) > wsize ) ibeam_letter = wsize; wtext[wlen] = 0; // wtext allocated wsize+1 diff --git a/cinelerra-5.1/guicast/bctextbox.h b/cinelerra-5.1/guicast/bctextbox.h index 425768bf..ffc5c0e4 100644 --- a/cinelerra-5.1/guicast/bctextbox.h +++ b/cinelerra-5.1/guicast/bctextbox.h @@ -52,10 +52,13 @@ class BC_TextBox : public BC_SubWindow else ch = -1; return ch; } - +// may be local fixed/dynamic, or shared fixed ref via set_text char *text; +// always local dynamic wchar_t *wtext; public: +// size > 0: fixed buffer, size == 0: dynamic buffer +// size < 0: fixed shared buffer via set_text BC_TextBox(int x, int y, int w, int rows, int size, char *text, int has_border=1, int font=MEDIUMFONT); BC_TextBox(int x, int y, int w, int rows, int size, wchar_t *wtext, @@ -109,6 +112,8 @@ public: const char* get_text(); const wchar_t* get_wtext(); void set_text(char *text, int isz); + int wdemand(int len); + int tdemand(int len); int get_text_rows(); // Set top left of text view void set_text_row(int row); diff --git a/cinelerra-5.1/lv2_blacklist.txt b/cinelerra-5.1/lv2_blacklist.txt index 4f5d9cc3..795f8b3c 100644 --- a/cinelerra-5.1/lv2_blacklist.txt +++ b/cinelerra-5.1/lv2_blacklist.txt @@ -1,6 +1,9 @@ # last updated 2018/06/13 gg/pys http:*midi* http:*MIDI* + +http://bjones.it/psi-plugins/sidechain_gate +http://dsheeler.org/plugins/tremelo http://lsp-plug.in/plugins/lv2/comp_delay_x2_stereo http://lsp-plug.in/plugins/lv2/graph_equalizer_x16_lr http://lsp-plug.in/plugins/lv2/graph_equalizer_x16_ms @@ -28,6 +31,21 @@ http://plugin.org.uk/swh-plugins/buttlow_iir http://plugin.org.uk/swh-plugins/bwxover_iir http://plugin.org.uk/swh-plugins/highpass_iir http://plugin.org.uk/swh-plugins/lowpass_iir +# +# Rakarrack takes special handling to get these lv2 plugins to work; +# the library needs to be linked using -Bsymbolic-functions ; +# and there are places where there exist uninitialized data objects. +# +http://rakarrack.sourceforge.net/effects.html#DistBand +http://rakarrack.sourceforge.net/effects.html#Reverbtron +http://rakarrack.sourceforge.net/effects.html#Sequence +http://rakarrack.sourceforge.net/effects.html#StereoHarm_no_mid +http://rakarrack.sourceforge.net/effects.html#StompBox +http://rakarrack.sourceforge.net/effects.html#StompBox_fuzz +http://rakarrack.sourceforge.net/effects.html#Vocoder +http://rakarrack.sourceforge.net/effects.html#dere +http://rakarrack.sourceforge.net/effects.html#dist +http://rakarrack.sourceforge.net/effects.html#har_no_mid http://yoshimi.sourceforge.net/lv2_plugin http://yoshimi.sourceforge.net/lv2_plugin_multi urn:juced:DrumSynth diff --git a/cinelerra-5.1/plugins/1080to480/1080to480.C b/cinelerra-5.1/plugins/1080to480/1080to480.C index 1f83f499..6b522295 100644 --- a/cinelerra-5.1/plugins/1080to480/1080to480.C +++ b/cinelerra-5.1/plugins/1080to480/1080to480.C @@ -253,7 +253,7 @@ int _1080to480Main::process_realtime(VFrame *input, VFrame *output) void _1080to480Main::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("1080TO480"); output.tag.set_property("FIRST_FIELD", config.first_field); output.append_tag(); @@ -266,7 +266,7 @@ void _1080to480Main::save_data(KeyFrame *keyframe) void _1080to480Main::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/1080to540/1080to540.C b/cinelerra-5.1/plugins/1080to540/1080to540.C index 64bbbb53..ecf9a0f8 100644 --- a/cinelerra-5.1/plugins/1080to540/1080to540.C +++ b/cinelerra-5.1/plugins/1080to540/1080to540.C @@ -259,7 +259,7 @@ int _1080to540Main::process_realtime(VFrame *input, VFrame *output) void _1080to540Main::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("1080TO540"); output.tag.set_property("FIRST_FIELD", config.first_field); output.append_tag(); @@ -272,7 +272,7 @@ void _1080to540Main::save_data(KeyFrame *keyframe) void _1080to540Main::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/720to480/720to480.C b/cinelerra-5.1/plugins/720to480/720to480.C index fda3e1d0..c1af6c27 100644 --- a/cinelerra-5.1/plugins/720to480/720to480.C +++ b/cinelerra-5.1/plugins/720to480/720to480.C @@ -361,7 +361,7 @@ int _720to480Main::process_loop(VFrame *output) void _720to480Main::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("720TO480"); output.tag.set_property("FIRST_FIELD", config.first_field); output.tag.set_property("DIRECTION", config.direction); @@ -375,7 +375,7 @@ void _720to480Main::save_data(KeyFrame *keyframe) void _720to480Main::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/C41/c41.C b/cinelerra-5.1/plugins/C41/c41.C index f4f372b1..b8a6cb57 100644 --- a/cinelerra-5.1/plugins/C41/c41.C +++ b/cinelerra-5.1/plugins/C41/c41.C @@ -461,7 +461,7 @@ void C41Effect::render_gui(void* data) void C41Effect::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("C41"); output.tag.set_property("ACTIVE", config.active); @@ -490,7 +490,7 @@ void C41Effect::save_data(KeyFrame *keyframe) void C41Effect::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/aging/aging.C b/cinelerra-5.1/plugins/aging/aging.C index d16f5384..67a8023f 100644 --- a/cinelerra-5.1/plugins/aging/aging.C +++ b/cinelerra-5.1/plugins/aging/aging.C @@ -114,7 +114,7 @@ void AgingMain::save_data(KeyFrame *keyframe) { FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); // Store data output.tag.set_title("AGING"); output.tag.set_property("AREA_SCALE", config.area_scale); @@ -136,7 +136,7 @@ void AgingMain::save_data(KeyFrame *keyframe) void AgingMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; diff --git a/cinelerra-5.1/plugins/audioscope/audioscope.C b/cinelerra-5.1/plugins/audioscope/audioscope.C index 3726237b..83ecc734 100644 --- a/cinelerra-5.1/plugins/audioscope/audioscope.C +++ b/cinelerra-5.1/plugins/audioscope/audioscope.C @@ -1106,7 +1106,7 @@ LOAD_CONFIGURATION_MACRO(AudioScope, AudioScopeConfig) void AudioScope::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; while(!result) @@ -1135,7 +1135,7 @@ void AudioScope::read_data(KeyFrame *keyframe) void AudioScope::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); //printf("AudioScope::save_data %d %d %d\n", __LINE__, config.w, config.h); output.tag.set_title("AUDIOSCOPE"); diff --git a/cinelerra-5.1/plugins/bandslide/bandslide.C b/cinelerra-5.1/plugins/bandslide/bandslide.C index e808f5ed..e122251a 100644 --- a/cinelerra-5.1/plugins/bandslide/bandslide.C +++ b/cinelerra-5.1/plugins/bandslide/bandslide.C @@ -191,7 +191,7 @@ NEW_WINDOW_MACRO(BandSlideMain, BandSlideWindow); void BandSlideMain::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("BANDSLIDE"); output.tag.set_property("BANDS", bands); output.tag.set_property("DIRECTION", direction); @@ -206,7 +206,7 @@ void BandSlideMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/bandwipe/bandwipe.C b/cinelerra-5.1/plugins/bandwipe/bandwipe.C index e707b487..bda24a90 100644 --- a/cinelerra-5.1/plugins/bandwipe/bandwipe.C +++ b/cinelerra-5.1/plugins/bandwipe/bandwipe.C @@ -188,7 +188,7 @@ NEW_WINDOW_MACRO(BandWipeMain, BandWipeWindow); void BandWipeMain::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("BANDWIPE"); output.tag.set_property("BANDS", bands); output.tag.set_property("DIRECTION", direction); @@ -203,7 +203,7 @@ void BandWipeMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/bluebanana/bluebanana.C b/cinelerra-5.1/plugins/bluebanana/bluebanana.C index fab60bbf..43fe2576 100644 --- a/cinelerra-5.1/plugins/bluebanana/bluebanana.C +++ b/cinelerra-5.1/plugins/bluebanana/bluebanana.C @@ -126,7 +126,7 @@ void BluebananaMain::save_data(KeyFrame *keyframe){ FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("BLUEBANANA"); output.tag.set_property("ACTIVE", config.active); @@ -216,7 +216,7 @@ void BluebananaMain::save_nonauto(){ int result = 0; input.read_from_string(default_keyframe->get_data()); - output.set_shared_output(default_keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(default_keyframe->xbuf); while(!result){ result = input.read_tag(); @@ -249,7 +249,7 @@ void BluebananaMain::load_nonauto(){ if(default_keyframe){ FileXML input; int result = 0; - input.set_shared_input(default_keyframe->get_data(), strlen(default_keyframe->get_data())); + input.set_shared_input(default_keyframe->xbuf); while(!result){ result = input.read_tag(); @@ -266,7 +266,7 @@ void BluebananaMain::read_data(KeyFrame *keyframe){ FileXML input; int result = 0; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!result){ result = input.read_tag(); diff --git a/cinelerra-5.1/plugins/blur/blur.C b/cinelerra-5.1/plugins/blur/blur.C index 739e8295..bb9e6dbc 100644 --- a/cinelerra-5.1/plugins/blur/blur.C +++ b/cinelerra-5.1/plugins/blur/blur.C @@ -309,7 +309,7 @@ void BlurMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("BLUR"); output.tag.set_property("VERTICAL", config.vertical); output.tag.set_property("HORIZONTAL", config.horizontal); @@ -330,7 +330,7 @@ void BlurMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; diff --git a/cinelerra-5.1/plugins/brightness/brightness.C b/cinelerra-5.1/plugins/brightness/brightness.C index 31fc23d6..19bcae30 100644 --- a/cinelerra-5.1/plugins/brightness/brightness.C +++ b/cinelerra-5.1/plugins/brightness/brightness.C @@ -256,7 +256,7 @@ void BrightnessMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("BRIGHTNESS"); output.tag.set_property("BRIGHTNESS", config.brightness); output.tag.set_property("CONTRAST", config.contrast); @@ -272,7 +272,7 @@ void BrightnessMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; diff --git a/cinelerra-5.1/plugins/chromakey/chromakey.C b/cinelerra-5.1/plugins/chromakey/chromakey.C index ef546b29..525a43a7 100644 --- a/cinelerra-5.1/plugins/chromakey/chromakey.C +++ b/cinelerra-5.1/plugins/chromakey/chromakey.C @@ -607,7 +607,7 @@ LOAD_CONFIGURATION_MACRO(ChromaKey, ChromaKeyConfig) void ChromaKey::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("CHROMAKEY"); output.tag.set_property("RED", config.red); output.tag.set_property("GREEN", config.green); @@ -626,7 +626,7 @@ void ChromaKey::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/chromakeyhsv/chromakey.C b/cinelerra-5.1/plugins/chromakeyhsv/chromakey.C index 154e2848..4b47cc70 100644 --- a/cinelerra-5.1/plugins/chromakeyhsv/chromakey.C +++ b/cinelerra-5.1/plugins/chromakeyhsv/chromakey.C @@ -935,7 +935,7 @@ LOAD_CONFIGURATION_MACRO(ChromaKeyHSV, ChromaKeyConfig) void ChromaKeyHSV::save_data(KeyFrame * keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("CHROMAKEY_HSV"); output.tag.set_property("RED", config.red); output.tag.set_property("GREEN", config.green); @@ -962,7 +962,7 @@ void ChromaKeyHSV::read_data(KeyFrame * keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while( !input.read_tag() ) { if( input.tag.title_is("CHROMAKEY_HSV") ) { diff --git a/cinelerra-5.1/plugins/color3way/color3way.C b/cinelerra-5.1/plugins/color3way/color3way.C index ba1f0094..7727594d 100644 --- a/cinelerra-5.1/plugins/color3way/color3way.C +++ b/cinelerra-5.1/plugins/color3way/color3way.C @@ -498,7 +498,7 @@ void Color3WayMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("COLOR3WAY"); for(int i = 0; i < SECTIONS; i++) { @@ -535,7 +535,7 @@ void Color3WayMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; diff --git a/cinelerra-5.1/plugins/colorbalance/colorbalance.C b/cinelerra-5.1/plugins/colorbalance/colorbalance.C index c180a720..7b8f0cff 100644 --- a/cinelerra-5.1/plugins/colorbalance/colorbalance.C +++ b/cinelerra-5.1/plugins/colorbalance/colorbalance.C @@ -533,7 +533,7 @@ void ColorBalanceMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("COLORBALANCE"); output.tag.set_property("CYAN", config.cyan); output.tag.set_property("MAGENTA", config.magenta); @@ -551,7 +551,7 @@ void ColorBalanceMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; diff --git a/cinelerra-5.1/plugins/compressor/compressor.C b/cinelerra-5.1/plugins/compressor/compressor.C index f25a59ec..25eea16e 100644 --- a/cinelerra-5.1/plugins/compressor/compressor.C +++ b/cinelerra-5.1/plugins/compressor/compressor.C @@ -123,7 +123,7 @@ int CompressorEffect::is_multichannel() { return 1; } void CompressorEffect::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; config.levels.remove_all(); @@ -157,7 +157,7 @@ void CompressorEffect::read_data(KeyFrame *keyframe) void CompressorEffect::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("COMPRESSOR"); output.tag.set_property("TRIGGER", config.trigger); diff --git a/cinelerra-5.1/plugins/crikey/crikey.C b/cinelerra-5.1/plugins/crikey/crikey.C index 3ec93f7b..2f22fed9 100644 --- a/cinelerra-5.1/plugins/crikey/crikey.C +++ b/cinelerra-5.1/plugins/crikey/crikey.C @@ -274,7 +274,7 @@ void CriKey::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("CRIKEY"); output.tag.set_property("THRESHOLD", config.threshold); @@ -306,7 +306,7 @@ void CriKey::save_data(KeyFrame *keyframe) void CriKey::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); config.points.remove_all_objects(); int result = 0; diff --git a/cinelerra-5.1/plugins/decimate/decimate.C b/cinelerra-5.1/plugins/decimate/decimate.C index 75b0d1e5..5f72ea0c 100644 --- a/cinelerra-5.1/plugins/decimate/decimate.C +++ b/cinelerra-5.1/plugins/decimate/decimate.C @@ -761,7 +761,7 @@ void Decimate::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("DECIMATE"); output.tag.set_property("INPUT_RATE", config.input_rate); // output.tag.set_property("AVERAGED_FRAMES", config.averaged_frames); @@ -777,7 +777,7 @@ void Decimate::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/deinterlace-cv/deinterlace-cv.C b/cinelerra-5.1/plugins/deinterlace-cv/deinterlace-cv.C index 50a8ad33..4429d86b 100644 --- a/cinelerra-5.1/plugins/deinterlace-cv/deinterlace-cv.C +++ b/cinelerra-5.1/plugins/deinterlace-cv/deinterlace-cv.C @@ -602,7 +602,7 @@ LOAD_CONFIGURATION_MACRO(DeInterlaceMain, DeInterlaceConfig) void DeInterlaceMain::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("DEINTERLACE"); output.tag.set_property("MODE", config.mode); output.tag.set_property("DOMINANCE", config.dominance); @@ -616,8 +616,8 @@ void DeInterlaceMain::save_data(KeyFrame *keyframe) void DeInterlaceMain::read_data(KeyFrame *keyframe) { - FileXML input; char *data = keyframe->get_data(); - input.set_shared_input(data, strlen(data)); + FileXML input; + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/deinterlace/deinterlace.C b/cinelerra-5.1/plugins/deinterlace/deinterlace.C index 27a5c595..7ebf6330 100644 --- a/cinelerra-5.1/plugins/deinterlace/deinterlace.C +++ b/cinelerra-5.1/plugins/deinterlace/deinterlace.C @@ -539,7 +539,7 @@ LOAD_CONFIGURATION_MACRO(DeInterlaceMain, DeInterlaceConfig) void DeInterlaceMain::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("DEINTERLACE"); output.tag.set_property("MODE", config.mode); // output.tag.set_property("ADAPTIVE", config.adaptive); @@ -554,7 +554,7 @@ void DeInterlaceMain::save_data(KeyFrame *keyframe) void DeInterlaceMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/delayaudio/delayaudio.C b/cinelerra-5.1/plugins/delayaudio/delayaudio.C index e67b8840..561b29e1 100644 --- a/cinelerra-5.1/plugins/delayaudio/delayaudio.C +++ b/cinelerra-5.1/plugins/delayaudio/delayaudio.C @@ -87,7 +87,7 @@ int DelayAudio::load_configuration() void DelayAudio::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; while(!result) @@ -108,7 +108,7 @@ void DelayAudio::read_data(KeyFrame *keyframe) void DelayAudio::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("DELAYAUDIO"); output.tag.set_property("LENGTH", (double)config.length); diff --git a/cinelerra-5.1/plugins/delayvideo/delayvideo.C b/cinelerra-5.1/plugins/delayvideo/delayvideo.C index 8047666e..2ec90f04 100644 --- a/cinelerra-5.1/plugins/delayvideo/delayvideo.C +++ b/cinelerra-5.1/plugins/delayvideo/delayvideo.C @@ -255,7 +255,7 @@ NEW_WINDOW_MACRO(DelayVideo, DelayVideoWindow) void DelayVideo::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("DELAYVIDEO"); output.tag.set_property("LENGTH", (double)config.length); @@ -269,7 +269,7 @@ void DelayVideo::save_data(KeyFrame *keyframe) void DelayVideo::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; while(!result) diff --git a/cinelerra-5.1/plugins/denoise/denoise.C b/cinelerra-5.1/plugins/denoise/denoise.C index 238f9ad0..57e0be59 100644 --- a/cinelerra-5.1/plugins/denoise/denoise.C +++ b/cinelerra-5.1/plugins/denoise/denoise.C @@ -134,7 +134,7 @@ int DenoiseEffect::is_realtime() { return 1; } void DenoiseEffect::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; while(!result) @@ -154,7 +154,7 @@ void DenoiseEffect::read_data(KeyFrame *keyframe) void DenoiseEffect::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("DENOISE"); output.tag.set_property("LEVEL", config.level); diff --git a/cinelerra-5.1/plugins/denoisefft/denoisefft.C b/cinelerra-5.1/plugins/denoisefft/denoisefft.C index c9603689..21ce0c19 100644 --- a/cinelerra-5.1/plugins/denoisefft/denoisefft.C +++ b/cinelerra-5.1/plugins/denoisefft/denoisefft.C @@ -317,7 +317,7 @@ const char* DenoiseFFTEffect::plugin_title() { return N_("DenoiseFFT"); } void DenoiseFFTEffect::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; while(!result) @@ -338,7 +338,7 @@ void DenoiseFFTEffect::read_data(KeyFrame *keyframe) void DenoiseFFTEffect::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("DENOISEFFT"); output.tag.set_property("SAMPLES", config.samples); diff --git a/cinelerra-5.1/plugins/denoisemjpeg/denoisemjpeg.C b/cinelerra-5.1/plugins/denoisemjpeg/denoisemjpeg.C index 1fd3381a..22a5a335 100644 --- a/cinelerra-5.1/plugins/denoisemjpeg/denoisemjpeg.C +++ b/cinelerra-5.1/plugins/denoisemjpeg/denoisemjpeg.C @@ -470,7 +470,7 @@ void DenoiseMJPEG::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("DENOISE_VIDEO2"); output.tag.set_property("RADIUS", config.radius); output.tag.set_property("THRESHOLD", config.threshold); @@ -492,7 +492,7 @@ void DenoiseMJPEG::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/denoiseseltempavg/seltempavg.C b/cinelerra-5.1/plugins/denoiseseltempavg/seltempavg.C index 743e7423..6bff65ac 100644 --- a/cinelerra-5.1/plugins/denoiseseltempavg/seltempavg.C +++ b/cinelerra-5.1/plugins/denoiseseltempavg/seltempavg.C @@ -793,7 +793,7 @@ void SelTempAvgMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("SELECTIVE_TEMPORAL_AVERAGE"); output.tag.set_property("FRAMES", config.frames); output.tag.set_property("METHOD", config.method); @@ -827,7 +827,7 @@ void SelTempAvgMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { @@ -863,7 +863,7 @@ int SelTempAvgMain::nextkeyframeisoffsetrestart(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/denoisevideo/denoisevideo.C b/cinelerra-5.1/plugins/denoisevideo/denoisevideo.C index 12563624..fa0bce49 100644 --- a/cinelerra-5.1/plugins/denoisevideo/denoisevideo.C +++ b/cinelerra-5.1/plugins/denoisevideo/denoisevideo.C @@ -441,7 +441,7 @@ void DenoiseVideo::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("DENOISE_VIDEO"); output.tag.set_property("FRAMES", config.frames); output.tag.set_property("THRESHOLD", config.threshold); @@ -461,7 +461,7 @@ void DenoiseVideo::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/descratch/descratch.C b/cinelerra-5.1/plugins/descratch/descratch.C index ba6ea71b..f22023e5 100644 --- a/cinelerra-5.1/plugins/descratch/descratch.C +++ b/cinelerra-5.1/plugins/descratch/descratch.C @@ -123,7 +123,7 @@ void DeScratchMain::save_data(KeyFrame *keyframe) { FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); // Store data output.tag.set_title("DESCRATCH"); output.tag.set_property("THRESHOLD", config.threshold); @@ -152,7 +152,7 @@ void DeScratchMain::save_data(KeyFrame *keyframe) void DeScratchMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; diff --git a/cinelerra-5.1/plugins/despike/despike.C b/cinelerra-5.1/plugins/despike/despike.C index ad636f12..83adbb23 100644 --- a/cinelerra-5.1/plugins/despike/despike.C +++ b/cinelerra-5.1/plugins/despike/despike.C @@ -94,7 +94,7 @@ void Despike::save_data(KeyFrame *keyframe) FileXML output; // cause xml file to store data directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("DESPIKE"); output.tag.set_property("LEVEL", config.level); @@ -110,7 +110,7 @@ void Despike::read_data(KeyFrame *keyframe) { FileXML input; // cause xml file to read directly from text - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; result = input.read_tag(); diff --git a/cinelerra-5.1/plugins/diffkey/diffkey.C b/cinelerra-5.1/plugins/diffkey/diffkey.C index ff8502f0..e863f593 100644 --- a/cinelerra-5.1/plugins/diffkey/diffkey.C +++ b/cinelerra-5.1/plugins/diffkey/diffkey.C @@ -335,7 +335,7 @@ int DiffKey::is_multichannel() { return 1; } void DiffKey::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("DIFFKEY"); output.tag.set_property("THRESHOLD", config.threshold); output.tag.set_property("SLOPE", config.slope); @@ -351,7 +351,7 @@ void DiffKey::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/downsample/downsample.C b/cinelerra-5.1/plugins/downsample/downsample.C index a63bc5a7..4ce97317 100644 --- a/cinelerra-5.1/plugins/downsample/downsample.C +++ b/cinelerra-5.1/plugins/downsample/downsample.C @@ -441,7 +441,7 @@ void DownSampleMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("DOWNSAMPLE"); output.tag.set_property("HORIZONTAL", config.horizontal); @@ -462,7 +462,7 @@ void DownSampleMain::save_data(KeyFrame *keyframe) void DownSampleMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; while(!result) { diff --git a/cinelerra-5.1/plugins/echo/echo.C b/cinelerra-5.1/plugins/echo/echo.C index 99ae7959..ca23bbcf 100644 --- a/cinelerra-5.1/plugins/echo/echo.C +++ b/cinelerra-5.1/plugins/echo/echo.C @@ -304,7 +304,7 @@ void Echo::read_data(KeyFrame *keyframe) { int result; FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!(result = input.read_tag()) ) { if( !input.tag.title_is("ECHO")) continue; @@ -318,7 +318,7 @@ void Echo::read_data(KeyFrame *keyframe) void Echo::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("ECHO"); output.tag.set_property("LEVEL", config.level); diff --git a/cinelerra-5.1/plugins/echocancel/echocancel.C b/cinelerra-5.1/plugins/echocancel/echocancel.C index f1ff269e..379fbe4b 100644 --- a/cinelerra-5.1/plugins/echocancel/echocancel.C +++ b/cinelerra-5.1/plugins/echocancel/echocancel.C @@ -1188,7 +1188,7 @@ void EchoCancel::read_data(KeyFrame *keyframe) { int result; FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!(result = input.read_tag()) ) { if( !input.tag.title_is("ECHOCANCEL")) continue; @@ -1211,7 +1211,7 @@ void EchoCancel::read_data(KeyFrame *keyframe) void EchoCancel::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("ECHOCANCEL"); output.tag.set_property("LEVEL", config.level); diff --git a/cinelerra-5.1/plugins/edge/edge.C b/cinelerra-5.1/plugins/edge/edge.C index 24c95dd4..14311130 100644 --- a/cinelerra-5.1/plugins/edge/edge.C +++ b/cinelerra-5.1/plugins/edge/edge.C @@ -82,7 +82,7 @@ void Edge::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("EDGE"); output.tag.set_property("AMOUNT", config.amount); @@ -97,7 +97,7 @@ void Edge::save_data(KeyFrame *keyframe) void Edge::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; while( !(result=input.read_tag()) ) { diff --git a/cinelerra-5.1/plugins/fieldframe/fieldframe.C b/cinelerra-5.1/plugins/fieldframe/fieldframe.C index 253e2a3c..9d0dbb27 100644 --- a/cinelerra-5.1/plugins/fieldframe/fieldframe.C +++ b/cinelerra-5.1/plugins/fieldframe/fieldframe.C @@ -356,7 +356,7 @@ void FieldFrame::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("FIELD_FRAME"); output.tag.set_property("DOMINANCE", config.field_dominance); output.tag.set_property("FIRST_FRAME", config.first_frame); @@ -371,7 +371,7 @@ void FieldFrame::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/findobj/findobj.C b/cinelerra-5.1/plugins/findobj/findobj.C index 6815fd1a..ea1d6018 100644 --- a/cinelerra-5.1/plugins/findobj/findobj.C +++ b/cinelerra-5.1/plugins/findobj/findobj.C @@ -218,7 +218,7 @@ void FindObjMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("FINDOBJ"); output.tag.set_property("ALGORITHM", config.algorithm); output.tag.set_property("USE_FLANN", config.use_flann); @@ -265,7 +265,7 @@ void FindObjMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; diff --git a/cinelerra-5.1/plugins/flip/flip.C b/cinelerra-5.1/plugins/flip/flip.C index 5d866620..30317b26 100644 --- a/cinelerra-5.1/plugins/flip/flip.C +++ b/cinelerra-5.1/plugins/flip/flip.C @@ -225,7 +225,7 @@ void FlipMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("FLIP"); output.append_tag(); if(config.flip_vertical) @@ -254,7 +254,7 @@ void FlipMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; config.flip_vertical = config.flip_horizontal = 0; diff --git a/cinelerra-5.1/plugins/flowobj/flowobj.C b/cinelerra-5.1/plugins/flowobj/flowobj.C index 1f991e6c..6b500981 100644 --- a/cinelerra-5.1/plugins/flowobj/flowobj.C +++ b/cinelerra-5.1/plugins/flowobj/flowobj.C @@ -103,7 +103,7 @@ void FlowObj::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("FLOWOBJ"); output.tag.set_property("DRAW_VECTORS", config.draw_vectors); output.tag.set_property("DO_STABILIZATION", config.do_stabilization); @@ -121,7 +121,7 @@ void FlowObj::save_data(KeyFrame *keyframe) void FlowObj::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; while( !(result = input.read_tag()) ) { diff --git a/cinelerra-5.1/plugins/framefield/framefield.C b/cinelerra-5.1/plugins/framefield/framefield.C index b29d3f03..314ab2b2 100644 --- a/cinelerra-5.1/plugins/framefield/framefield.C +++ b/cinelerra-5.1/plugins/framefield/framefield.C @@ -581,7 +581,7 @@ void FrameField::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("FRAME_FIELD"); output.tag.set_property("DOMINANCE", config.field_dominance); output.append_tag(); @@ -595,7 +595,7 @@ void FrameField::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/freeverb/freeverb.C b/cinelerra-5.1/plugins/freeverb/freeverb.C index 64db3048..7527f487 100644 --- a/cinelerra-5.1/plugins/freeverb/freeverb.C +++ b/cinelerra-5.1/plugins/freeverb/freeverb.C @@ -465,7 +465,7 @@ int FreeverbEffect::is_multichannel() { return 1; } void FreeverbEffect::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; while(!result) @@ -491,7 +491,7 @@ void FreeverbEffect::read_data(KeyFrame *keyframe) void FreeverbEffect::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("FREEVERB"); output.tag.set_property("GAIN", config.gain); diff --git a/cinelerra-5.1/plugins/freezeframe/freezeframe.C b/cinelerra-5.1/plugins/freezeframe/freezeframe.C index b873b22f..56f46d1f 100644 --- a/cinelerra-5.1/plugins/freezeframe/freezeframe.C +++ b/cinelerra-5.1/plugins/freezeframe/freezeframe.C @@ -189,7 +189,7 @@ void FreezeFrameMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("FREEZEFRAME"); output.append_tag(); if(config.enabled) @@ -217,7 +217,7 @@ void FreezeFrameMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; config.enabled = 0; diff --git a/cinelerra-5.1/plugins/gaborobj/gaborobj.C b/cinelerra-5.1/plugins/gaborobj/gaborobj.C index f734f7d5..c895583d 100644 --- a/cinelerra-5.1/plugins/gaborobj/gaborobj.C +++ b/cinelerra-5.1/plugins/gaborobj/gaborobj.C @@ -89,7 +89,7 @@ void GaborObj::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("GABOROBJ"); output.append_tag(); output.append_newline(); @@ -102,7 +102,7 @@ void GaborObj::save_data(KeyFrame *keyframe) void GaborObj::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; while( !(result = input.read_tag()) ) { diff --git a/cinelerra-5.1/plugins/gain/gain.C b/cinelerra-5.1/plugins/gain/gain.C index 111c7f80..b9b9947f 100644 --- a/cinelerra-5.1/plugins/gain/gain.C +++ b/cinelerra-5.1/plugins/gain/gain.C @@ -113,7 +113,7 @@ void Gain::save_data(KeyFrame *keyframe) FileXML output; // cause xml file to store data directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("GAIN"); output.tag.set_property("LEVEL", config.level); @@ -128,7 +128,7 @@ void Gain::read_data(KeyFrame *keyframe) { FileXML input; // cause xml file to read directly from text - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; result = input.read_tag(); diff --git a/cinelerra-5.1/plugins/gamma/gamma.C b/cinelerra-5.1/plugins/gamma/gamma.C index 32312105..a81c5e85 100644 --- a/cinelerra-5.1/plugins/gamma/gamma.C +++ b/cinelerra-5.1/plugins/gamma/gamma.C @@ -526,7 +526,7 @@ void GammaMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("GAMMA"); output.tag.set_property("MAX", config.max); output.tag.set_property("GAMMA", config.gamma); @@ -543,7 +543,7 @@ void GammaMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; diff --git a/cinelerra-5.1/plugins/gradient/gradient.C b/cinelerra-5.1/plugins/gradient/gradient.C index 1c4a9566..a7f611b4 100644 --- a/cinelerra-5.1/plugins/gradient/gradient.C +++ b/cinelerra-5.1/plugins/gradient/gradient.C @@ -779,7 +779,7 @@ void GradientMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("GRADIENT"); output.tag.set_property("ANGLE", config.angle); @@ -808,7 +808,7 @@ void GradientMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; diff --git a/cinelerra-5.1/plugins/graphic/graphic.C b/cinelerra-5.1/plugins/graphic/graphic.C index e64d9c69..ad2eae77 100644 --- a/cinelerra-5.1/plugins/graphic/graphic.C +++ b/cinelerra-5.1/plugins/graphic/graphic.C @@ -1063,7 +1063,7 @@ void GraphicEQ::read_data(KeyFrame *keyframe) FileXML input; int result = 0; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); config.points.remove_all_objects(); while(!result) @@ -1101,7 +1101,7 @@ void GraphicEQ::read_data(KeyFrame *keyframe) void GraphicEQ::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("GRAPHICEQ"); output.tag.set_property("WINDOW_SIZE", config.window_size); diff --git a/cinelerra-5.1/plugins/greycstoration/greycstorationplugin.C b/cinelerra-5.1/plugins/greycstoration/greycstorationplugin.C index c2029ca3..1cd317d6 100644 --- a/cinelerra-5.1/plugins/greycstoration/greycstorationplugin.C +++ b/cinelerra-5.1/plugins/greycstoration/greycstorationplugin.C @@ -191,7 +191,7 @@ void GreyCStorationMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("GREYCSTORATION"); output.tag.set_property("AMPLITUDE", config.amplitude); @@ -209,7 +209,7 @@ void GreyCStorationMain::save_data(KeyFrame *keyframe) void GreyCStorationMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while( !input.read_tag() ) { if(input.tag.title_is("GREYCSTORATION")) { diff --git a/cinelerra-5.1/plugins/histeq/histeq.C b/cinelerra-5.1/plugins/histeq/histeq.C index d24b2018..cbe092f9 100644 --- a/cinelerra-5.1/plugins/histeq/histeq.C +++ b/cinelerra-5.1/plugins/histeq/histeq.C @@ -315,7 +315,7 @@ void HistEqMain::update_gui() void HistEqMain::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("HISTEQ"); output.tag.set_property("W", w); output.tag.set_property("H", h); @@ -333,7 +333,7 @@ void HistEqMain::save_data(KeyFrame *keyframe) void HistEqMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; while( !(result=input.read_tag()) ) { if( input.tag.title_is("HISTEQ") ) { diff --git a/cinelerra-5.1/plugins/histogram/histogram.C b/cinelerra-5.1/plugins/histogram/histogram.C index 33c7b21d..33091111 100644 --- a/cinelerra-5.1/plugins/histogram/histogram.C +++ b/cinelerra-5.1/plugins/histogram/histogram.C @@ -178,7 +178,7 @@ void HistogramMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("HISTOGRAM"); char string[BCTEXTLEN]; @@ -218,7 +218,7 @@ void HistogramMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; diff --git a/cinelerra-5.1/plugins/histogram_bezier/bistogram.C b/cinelerra-5.1/plugins/histogram_bezier/bistogram.C index 584a5e6f..1f786f95 100644 --- a/cinelerra-5.1/plugins/histogram_bezier/bistogram.C +++ b/cinelerra-5.1/plugins/histogram_bezier/bistogram.C @@ -127,7 +127,7 @@ void HistogramMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("HISTOGRAM"); char string[BCTEXTLEN]; @@ -196,7 +196,7 @@ void HistogramMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; int current_input_mode = 0; diff --git a/cinelerra-5.1/plugins/histogram_bezier/bistogramwindow.C b/cinelerra-5.1/plugins/histogram_bezier/bistogramwindow.C index b1329e57..eb2b0ffa 100644 --- a/cinelerra-5.1/plugins/histogram_bezier/bistogramwindow.C +++ b/cinelerra-5.1/plugins/histogram_bezier/bistogramwindow.C @@ -431,8 +431,8 @@ int HistogramCanvas::button_press_event() dragID = 1; break; } - if (plugin->config.smoothMode == HISTOGRAM_LINEAR) - break; +// if (plugin->config.smoothMode == HISTOGRAM_LINEAR) +// break; int xright = (int)((current->x + current->xoffset_right - HIST_MIN_INPUT) * gui->canvas_w / FLOAT_RANGE); diff --git a/cinelerra-5.1/plugins/huesaturation/huesaturation.C b/cinelerra-5.1/plugins/huesaturation/huesaturation.C index 5800928e..727f54f2 100644 --- a/cinelerra-5.1/plugins/huesaturation/huesaturation.C +++ b/cinelerra-5.1/plugins/huesaturation/huesaturation.C @@ -578,7 +578,7 @@ LOAD_CONFIGURATION_MACRO(HueEffect, HueConfig) void HueEffect::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("HUESATURATION"); output.tag.set_property("HUE", config.hue); output.tag.set_property("SATURATION", config.saturation); @@ -592,7 +592,7 @@ void HueEffect::save_data(KeyFrame *keyframe) void HueEffect::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { if(input.tag.title_is("HUESATURATION")) diff --git a/cinelerra-5.1/plugins/interpolate/interpolate.C b/cinelerra-5.1/plugins/interpolate/interpolate.C index e7133ab1..9294d8fd 100644 --- a/cinelerra-5.1/plugins/interpolate/interpolate.C +++ b/cinelerra-5.1/plugins/interpolate/interpolate.C @@ -198,7 +198,7 @@ void InterpolatePixelsMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("INTERPOLATEPIXELS"); output.tag.set_property("X", config.x); output.tag.set_property("Y", config.y); @@ -213,7 +213,7 @@ void InterpolatePixelsMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; diff --git a/cinelerra-5.1/plugins/interpolatevideo/interpolatevideo.C b/cinelerra-5.1/plugins/interpolatevideo/interpolatevideo.C index 892298b8..169bf6e8 100644 --- a/cinelerra-5.1/plugins/interpolatevideo/interpolatevideo.C +++ b/cinelerra-5.1/plugins/interpolatevideo/interpolatevideo.C @@ -949,7 +949,7 @@ void InterpolateVideo::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("INTERPOLATEVIDEO"); output.tag.set_property("INPUT_RATE", config.input_rate); output.tag.set_property("USE_KEYFRAMES", config.use_keyframes); @@ -968,7 +968,7 @@ void InterpolateVideo::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/invertvideo/invert.C b/cinelerra-5.1/plugins/invertvideo/invert.C index 66fd88bb..7dc94c01 100644 --- a/cinelerra-5.1/plugins/invertvideo/invert.C +++ b/cinelerra-5.1/plugins/invertvideo/invert.C @@ -225,7 +225,7 @@ void InvertVideoEffect::update_gui() void InvertVideoEffect::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("INVERTVIDEO"); output.tag.set_property("R", config.r); output.tag.set_property("G", config.g); @@ -241,7 +241,7 @@ void InvertVideoEffect::save_data(KeyFrame *keyframe) void InvertVideoEffect::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { if(input.tag.title_is("INVERTVIDEO")) diff --git a/cinelerra-5.1/plugins/irissquare/irissquare.C b/cinelerra-5.1/plugins/irissquare/irissquare.C index 0408a394..6d3d85b3 100644 --- a/cinelerra-5.1/plugins/irissquare/irissquare.C +++ b/cinelerra-5.1/plugins/irissquare/irissquare.C @@ -152,7 +152,7 @@ NEW_WINDOW_MACRO(IrisSquareMain, IrisSquareWindow) void IrisSquareMain::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("IRISSQUARE"); output.tag.set_property("DIRECTION", direction); output.append_tag(); @@ -166,7 +166,7 @@ void IrisSquareMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/ivtc/ivtc.C b/cinelerra-5.1/plugins/ivtc/ivtc.C index fc74ad0e..6e40455a 100644 --- a/cinelerra-5.1/plugins/ivtc/ivtc.C +++ b/cinelerra-5.1/plugins/ivtc/ivtc.C @@ -98,7 +98,7 @@ void IVTCMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("IVTC"); output.tag.set_property("FRAME_OFFSET", config.frame_offset); output.tag.set_property("FIRST_FIELD", config.first_field); @@ -116,7 +116,7 @@ void IVTCMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; //float new_threshold; diff --git a/cinelerra-5.1/plugins/lens/lens.C b/cinelerra-5.1/plugins/lens/lens.C index 9248b96f..7649377b 100644 --- a/cinelerra-5.1/plugins/lens/lens.C +++ b/cinelerra-5.1/plugins/lens/lens.C @@ -655,7 +655,7 @@ void LensMain::save_data(KeyFrame *keyframe) // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("LENS"); for( int i = 0; i < FOV_CHANNELS; ++i ) { sprintf(string, "FOCAL_LENGTH%d", i); @@ -683,7 +683,7 @@ void LensMain::read_data(KeyFrame *keyframe) char string[BCTEXTLEN]; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; diff --git a/cinelerra-5.1/plugins/level/leveleffect.C b/cinelerra-5.1/plugins/level/leveleffect.C index 8f70e467..d8c00d03 100644 --- a/cinelerra-5.1/plugins/level/leveleffect.C +++ b/cinelerra-5.1/plugins/level/leveleffect.C @@ -200,7 +200,7 @@ int SoundLevelEffect::is_realtime() { return 1; } void SoundLevelEffect::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; while(!result) @@ -220,7 +220,7 @@ void SoundLevelEffect::read_data(KeyFrame *keyframe) void SoundLevelEffect::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("SOUNDLEVEL"); output.tag.set_property("DURATION", config.duration); diff --git a/cinelerra-5.1/plugins/linearblur/linearblur.C b/cinelerra-5.1/plugins/linearblur/linearblur.C index 5f646b3e..af6cb826 100644 --- a/cinelerra-5.1/plugins/linearblur/linearblur.C +++ b/cinelerra-5.1/plugins/linearblur/linearblur.C @@ -559,7 +559,7 @@ void LinearBlurMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("LINEARBLUR"); output.tag.set_property("RADIUS", config.radius); @@ -580,7 +580,7 @@ void LinearBlurMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; diff --git a/cinelerra-5.1/plugins/livevideo/livevideo.C b/cinelerra-5.1/plugins/livevideo/livevideo.C index 59b4015b..92187364 100644 --- a/cinelerra-5.1/plugins/livevideo/livevideo.C +++ b/cinelerra-5.1/plugins/livevideo/livevideo.C @@ -588,7 +588,7 @@ LOAD_CONFIGURATION_MACRO(LiveVideo, LiveVideoConfig) void LiveVideo::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("LIVEVIDEO"); output.tag.set_property("CHANNEL", config.channel); output.append_tag(); @@ -602,7 +602,7 @@ void LiveVideo::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; diff --git a/cinelerra-5.1/plugins/loopaudio/loopaudio.C b/cinelerra-5.1/plugins/loopaudio/loopaudio.C index 8a21ad6f..8bae8b51 100644 --- a/cinelerra-5.1/plugins/loopaudio/loopaudio.C +++ b/cinelerra-5.1/plugins/loopaudio/loopaudio.C @@ -304,7 +304,7 @@ void LoopAudio::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("LOOPAUDIO"); output.tag.set_property("SAMPLES", config.samples); output.append_tag(); @@ -318,7 +318,7 @@ void LoopAudio::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/loopvideo/loopvideo.C b/cinelerra-5.1/plugins/loopvideo/loopvideo.C index f25299a2..17983efa 100644 --- a/cinelerra-5.1/plugins/loopvideo/loopvideo.C +++ b/cinelerra-5.1/plugins/loopvideo/loopvideo.C @@ -254,7 +254,7 @@ void LoopVideo::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("LOOPVIDEO"); output.tag.set_property("FRAMES", config.frames); output.append_tag(); @@ -268,7 +268,7 @@ void LoopVideo::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/motion-cv/motion-cv.C b/cinelerra-5.1/plugins/motion-cv/motion-cv.C index e8249bb0..780a0fef 100644 --- a/cinelerra-5.1/plugins/motion-cv/motion-cv.C +++ b/cinelerra-5.1/plugins/motion-cv/motion-cv.C @@ -260,7 +260,7 @@ void MotionCVMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("MOTIONCV"); output.tag.set_property("BLOCK_COUNT", config.block_count); @@ -298,7 +298,7 @@ void MotionCVMain::save_data(KeyFrame *keyframe) void MotionCVMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; while( !(result = input.read_tag()) ) { diff --git a/cinelerra-5.1/plugins/motion-hv/motion-hv.C b/cinelerra-5.1/plugins/motion-hv/motion-hv.C index c6f008cd..bb663c7d 100644 --- a/cinelerra-5.1/plugins/motion-hv/motion-hv.C +++ b/cinelerra-5.1/plugins/motion-hv/motion-hv.C @@ -332,7 +332,7 @@ void MotionHVMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("MOTIONHV"); output.tag.set_property("BLOCK_COUNT", config.block_count); @@ -372,7 +372,7 @@ void MotionHVMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; diff --git a/cinelerra-5.1/plugins/motion/motion.C b/cinelerra-5.1/plugins/motion/motion.C index 8b437b86..b8da2dca 100644 --- a/cinelerra-5.1/plugins/motion/motion.C +++ b/cinelerra-5.1/plugins/motion/motion.C @@ -280,7 +280,7 @@ void MotionMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("MOTION"); output.tag.set_property("BLOCK_COUNT", config.block_count); @@ -319,7 +319,7 @@ void MotionMain::save_data(KeyFrame *keyframe) void MotionMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; while( !(result = input.read_tag()) ) { diff --git a/cinelerra-5.1/plugins/motion2point/motion.C b/cinelerra-5.1/plugins/motion2point/motion.C index 8bcd81d6..d3197795 100644 --- a/cinelerra-5.1/plugins/motion2point/motion.C +++ b/cinelerra-5.1/plugins/motion2point/motion.C @@ -318,7 +318,7 @@ void MotionMain2::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("MOTION2"); char string[BCTEXTLEN]; @@ -367,7 +367,7 @@ void MotionMain2::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; diff --git a/cinelerra-5.1/plugins/motion51/motion51.C b/cinelerra-5.1/plugins/motion51/motion51.C index f29ea0bb..b61e2244 100644 --- a/cinelerra-5.1/plugins/motion51/motion51.C +++ b/cinelerra-5.1/plugins/motion51/motion51.C @@ -147,7 +147,7 @@ void Motion51Main::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("MOTION51"); output.tag.set_property("HORIZ_LIMIT", config.horiz_limit); output.tag.set_property("VERT_LIMIT", config.vert_limit); @@ -172,7 +172,7 @@ void Motion51Main::save_data(KeyFrame *keyframe) void Motion51Main::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; while( !(result = input.read_tag()) ) { diff --git a/cinelerra-5.1/plugins/motionblur/motionblur.C b/cinelerra-5.1/plugins/motionblur/motionblur.C index 8777413a..aac86d25 100644 --- a/cinelerra-5.1/plugins/motionblur/motionblur.C +++ b/cinelerra-5.1/plugins/motionblur/motionblur.C @@ -482,7 +482,7 @@ void MotionBlurMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("MOTIONBLUR"); output.tag.set_property("RADIUS", config.radius); @@ -498,7 +498,7 @@ void MotionBlurMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; diff --git a/cinelerra-5.1/plugins/moveobj/moveobj.C b/cinelerra-5.1/plugins/moveobj/moveobj.C index 77a80a3b..a3c9a896 100644 --- a/cinelerra-5.1/plugins/moveobj/moveobj.C +++ b/cinelerra-5.1/plugins/moveobj/moveobj.C @@ -101,7 +101,7 @@ void MoveObj::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("MOVEOBJ"); output.tag.set_property("DRAW_VECTORS", config.draw_vectors); output.tag.set_property("DO_STABILIZATION", config.do_stabilization); @@ -119,7 +119,7 @@ void MoveObj::save_data(KeyFrame *keyframe) void MoveObj::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; while( !(result = input.read_tag()) ) { diff --git a/cinelerra-5.1/plugins/oilpainting/oil.C b/cinelerra-5.1/plugins/oilpainting/oil.C index e1014185..9dbe1e24 100644 --- a/cinelerra-5.1/plugins/oilpainting/oil.C +++ b/cinelerra-5.1/plugins/oilpainting/oil.C @@ -336,7 +336,7 @@ void OilEffect::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("OIL_PAINTING"); output.tag.set_property("RADIUS", config.radius); output.tag.set_property("USE_INTENSITY", config.use_intensity); @@ -351,7 +351,7 @@ void OilEffect::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/overlay/overlay.C b/cinelerra-5.1/plugins/overlay/overlay.C index e9909e85..8f8cdea5 100644 --- a/cinelerra-5.1/plugins/overlay/overlay.C +++ b/cinelerra-5.1/plugins/overlay/overlay.C @@ -657,7 +657,7 @@ void Overlay::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("OVERLAY"); output.tag.set_property("MODE", config.mode); output.tag.set_property("DIRECTION", config.direction); @@ -672,7 +672,7 @@ void Overlay::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/overlayaudio/overlayaudio.C b/cinelerra-5.1/plugins/overlayaudio/overlayaudio.C index b5d54457..ca9d31ec 100644 --- a/cinelerra-5.1/plugins/overlayaudio/overlayaudio.C +++ b/cinelerra-5.1/plugins/overlayaudio/overlayaudio.C @@ -337,7 +337,7 @@ int OverlayAudio::is_multichannel() { return 1; } void OverlayAudio::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; while(!result) @@ -358,7 +358,7 @@ void OverlayAudio::read_data(KeyFrame *keyframe) void OverlayAudio::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("OVERLAY"); output.tag.set_property("OUTPUT", config.output_track); diff --git a/cinelerra-5.1/plugins/parametric/parametric.C b/cinelerra-5.1/plugins/parametric/parametric.C index a19ff7ff..f1e42e5c 100644 --- a/cinelerra-5.1/plugins/parametric/parametric.C +++ b/cinelerra-5.1/plugins/parametric/parametric.C @@ -822,7 +822,7 @@ int ParametricEQ::is_realtime() { return 1; } void ParametricEQ::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; while(!result) @@ -852,7 +852,7 @@ void ParametricEQ::read_data(KeyFrame *keyframe) void ParametricEQ::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("PARAMETRICEQ"); output.tag.set_property("WETNESS", config.wetness); diff --git a/cinelerra-5.1/plugins/perspective/perspective.C b/cinelerra-5.1/plugins/perspective/perspective.C index 5c31ea87..fc391597 100644 --- a/cinelerra-5.1/plugins/perspective/perspective.C +++ b/cinelerra-5.1/plugins/perspective/perspective.C @@ -689,7 +689,7 @@ void PerspectiveMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("PERSPECTIVE"); output.tag.set_property("X1", config.x1); @@ -719,7 +719,7 @@ void PerspectiveMain::save_data(KeyFrame *keyframe) void PerspectiveMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; while(!(result = input.read_tag()) ) { diff --git a/cinelerra-5.1/plugins/photoscale/photoscale.C b/cinelerra-5.1/plugins/photoscale/photoscale.C index 5c3f3c79..59b3ff02 100644 --- a/cinelerra-5.1/plugins/photoscale/photoscale.C +++ b/cinelerra-5.1/plugins/photoscale/photoscale.C @@ -439,7 +439,7 @@ void PhotoScaleMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("PHOTOSCALE"); output.tag.set_property("WIDTH", config.width); output.tag.set_property("HEIGHT", config.height); @@ -455,7 +455,7 @@ void PhotoScaleMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; diff --git a/cinelerra-5.1/plugins/piano/piano.C b/cinelerra-5.1/plugins/piano/piano.C index 92090d32..d996be05 100644 --- a/cinelerra-5.1/plugins/piano/piano.C +++ b/cinelerra-5.1/plugins/piano/piano.C @@ -76,7 +76,7 @@ void Piano::read_data(KeyFrame *keyframe) { FileXML input; // cause htal file to read directly from text - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); //printf("Piano::read_data %s\n", keyframe->get_data()); int result = 0, current_osc = 0, total_oscillators = 0; @@ -113,7 +113,7 @@ void Piano::save_data(KeyFrame *keyframe) { FileXML output; // cause htal file to store data directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("SYNTH"); output.tag.set_property("WETNESS", config.wetness); diff --git a/cinelerra-5.1/plugins/pitch/pitch.C b/cinelerra-5.1/plugins/pitch/pitch.C index c0de9c39..673c33c1 100644 --- a/cinelerra-5.1/plugins/pitch/pitch.C +++ b/cinelerra-5.1/plugins/pitch/pitch.C @@ -68,7 +68,7 @@ int PitchEffect::is_realtime() { return 1; } void PitchEffect::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; while(!result) @@ -89,7 +89,7 @@ void PitchEffect::read_data(KeyFrame *keyframe) void PitchEffect::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("PITCH"); output.tag.set_property("SCALE", config.scale); diff --git a/cinelerra-5.1/plugins/polar/polar.C b/cinelerra-5.1/plugins/polar/polar.C index 3c8ba7a6..08933b59 100644 --- a/cinelerra-5.1/plugins/polar/polar.C +++ b/cinelerra-5.1/plugins/polar/polar.C @@ -311,7 +311,7 @@ void PolarEffect::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("POLAR"); output.tag.set_property("DEPTH", config.depth); output.tag.set_property("ANGLE", config.angle); @@ -326,7 +326,7 @@ void PolarEffect::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/puzzleobj/puzzleobj.C b/cinelerra-5.1/plugins/puzzleobj/puzzleobj.C index 6861becb..e1369925 100644 --- a/cinelerra-5.1/plugins/puzzleobj/puzzleobj.C +++ b/cinelerra-5.1/plugins/puzzleobj/puzzleobj.C @@ -77,7 +77,7 @@ void PuzzleObj::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("PUZZLEOBJ"); output.tag.set_property("PIXELS", config.pixels); output.tag.set_property("ITERATIONS", config.iterations); @@ -92,7 +92,7 @@ void PuzzleObj::save_data(KeyFrame *keyframe) void PuzzleObj::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; while( !(result = input.read_tag()) ) { diff --git a/cinelerra-5.1/plugins/radialblur/radialblur.C b/cinelerra-5.1/plugins/radialblur/radialblur.C index 28f532e3..1847a200 100644 --- a/cinelerra-5.1/plugins/radialblur/radialblur.C +++ b/cinelerra-5.1/plugins/radialblur/radialblur.C @@ -450,7 +450,7 @@ void RadialBlurMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("RADIALBLUR"); output.tag.set_property("X", config.x); @@ -472,7 +472,7 @@ void RadialBlurMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; diff --git a/cinelerra-5.1/plugins/reframert/reframert.C b/cinelerra-5.1/plugins/reframert/reframert.C index afacecc9..b39fa630 100644 --- a/cinelerra-5.1/plugins/reframert/reframert.C +++ b/cinelerra-5.1/plugins/reframert/reframert.C @@ -480,7 +480,7 @@ void ReframeRT::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("REFRAMERT"); // for backwards compatability, we call num scale output.tag.set_property("SCALE", config.num); @@ -498,7 +498,7 @@ void ReframeRT::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/removegaps/removegaps.C b/cinelerra-5.1/plugins/removegaps/removegaps.C index 0a87acca..660af956 100644 --- a/cinelerra-5.1/plugins/removegaps/removegaps.C +++ b/cinelerra-5.1/plugins/removegaps/removegaps.C @@ -288,7 +288,7 @@ void RemoveGaps::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("REMOVEGAPS"); output.tag.set_property("DURATION", config.duration); output.tag.set_property("THRESHOLD", config.threshold); @@ -303,7 +303,7 @@ void RemoveGaps::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/reroute/reroute.C b/cinelerra-5.1/plugins/reroute/reroute.C index f236f23e..7527523e 100644 --- a/cinelerra-5.1/plugins/reroute/reroute.C +++ b/cinelerra-5.1/plugins/reroute/reroute.C @@ -492,7 +492,7 @@ void Reroute::save_data(KeyFrame *keyframe) FileXML output; // write configuration data as XML text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("REROUTE"); output.tag.set_property("OPERATION", config.operation); output.tag.set_property("OUTPUT_TRACK", config.output_track); @@ -505,7 +505,7 @@ void Reroute::save_data(KeyFrame *keyframe) void Reroute::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/resamplert/resamplert.C b/cinelerra-5.1/plugins/resamplert/resamplert.C index 9408afaa..af6c4ab6 100644 --- a/cinelerra-5.1/plugins/resamplert/resamplert.C +++ b/cinelerra-5.1/plugins/resamplert/resamplert.C @@ -291,7 +291,7 @@ void ResampleRT::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("RESAMPLERT"); output.tag.set_property("SCALE", config.num); output.tag.set_property("DENOM", config.denom); @@ -306,7 +306,7 @@ void ResampleRT::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/reverb/reverb.C b/cinelerra-5.1/plugins/reverb/reverb.C index f1aaadea..b5bddf2a 100644 --- a/cinelerra-5.1/plugins/reverb/reverb.C +++ b/cinelerra-5.1/plugins/reverb/reverb.C @@ -297,7 +297,7 @@ void Reverb::save_data(KeyFrame *keyframe) //printf("Reverb::save_data 1\n"); // cause xml file to store data directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); //printf("Reverb::save_data 1\n"); output.tag.set_title("REVERB"); @@ -323,7 +323,7 @@ void Reverb::read_data(KeyFrame *keyframe) { FileXML input; // cause xml file to read directly from text - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; result = input.read_tag(); diff --git a/cinelerra-5.1/plugins/reverseaudio/reverseaudio.C b/cinelerra-5.1/plugins/reverseaudio/reverseaudio.C index ac735cdd..687c950c 100644 --- a/cinelerra-5.1/plugins/reverseaudio/reverseaudio.C +++ b/cinelerra-5.1/plugins/reverseaudio/reverseaudio.C @@ -310,7 +310,7 @@ void ReverseAudio::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("REVERSEAUDIO"); output.tag.set_property("ENABLED", config.enabled); output.append_tag(); @@ -324,7 +324,7 @@ void ReverseAudio::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/reversevideo/reversevideo.C b/cinelerra-5.1/plugins/reversevideo/reversevideo.C index eaa5b54e..cf8f1e1d 100644 --- a/cinelerra-5.1/plugins/reversevideo/reversevideo.C +++ b/cinelerra-5.1/plugins/reversevideo/reversevideo.C @@ -283,7 +283,7 @@ void ReverseVideo::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("REVERSEVIDEO"); output.tag.set_property("ENABLED", config.enabled); output.append_tag(); @@ -297,7 +297,7 @@ void ReverseVideo::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/rgb601/rgb601.C b/cinelerra-5.1/plugins/rgb601/rgb601.C index 988f6ec8..e9ec7e39 100644 --- a/cinelerra-5.1/plugins/rgb601/rgb601.C +++ b/cinelerra-5.1/plugins/rgb601/rgb601.C @@ -87,7 +87,7 @@ void RGB601Main::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("RGB601"); output.tag.set_property("DIRECTION", config.direction); output.append_tag(); @@ -101,7 +101,7 @@ void RGB601Main::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; diff --git a/cinelerra-5.1/plugins/rgbshift/rgbshift.C b/cinelerra-5.1/plugins/rgbshift/rgbshift.C index 1f3d7399..d558687b 100644 --- a/cinelerra-5.1/plugins/rgbshift/rgbshift.C +++ b/cinelerra-5.1/plugins/rgbshift/rgbshift.C @@ -235,7 +235,7 @@ void RGBShiftEffect::update_gui() void RGBShiftEffect::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("RGBSHIFT"); output.tag.set_property("R_DX", config.r_dx); output.tag.set_property("R_DY", config.r_dy); @@ -253,7 +253,7 @@ void RGBShiftEffect::save_data(KeyFrame *keyframe) void RGBShiftEffect::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { if(input.tag.title_is("RGBSHIFT")) diff --git a/cinelerra-5.1/plugins/rotate/rotate.C b/cinelerra-5.1/plugins/rotate/rotate.C index 4c51276f..db30ad6e 100644 --- a/cinelerra-5.1/plugins/rotate/rotate.C +++ b/cinelerra-5.1/plugins/rotate/rotate.C @@ -635,7 +635,7 @@ void RotateEffect::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("ROTATE"); output.tag.set_property("ANGLE", (float)config.angle); output.tag.set_property("PIVOT_X", (float)config.pivot_x); @@ -654,7 +654,7 @@ void RotateEffect::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; diff --git a/cinelerra-5.1/plugins/rumbler/rumbler.C b/cinelerra-5.1/plugins/rumbler/rumbler.C index 08e3e2a0..20d0dc57 100644 --- a/cinelerra-5.1/plugins/rumbler/rumbler.C +++ b/cinelerra-5.1/plugins/rumbler/rumbler.C @@ -314,7 +314,7 @@ void Rumbler::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("RUMBLER"); output.tag.set_property("TIME_RUMBLE", config.time_rumble); output.tag.set_property("TIME_RATE", config.time_rate); @@ -332,7 +332,7 @@ void Rumbler::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while( !input.read_tag() ) { if( input.tag.title_is("RUMBLER") ) { diff --git a/cinelerra-5.1/plugins/scale/scale.C b/cinelerra-5.1/plugins/scale/scale.C index 2530dfdc..cb15aff0 100644 --- a/cinelerra-5.1/plugins/scale/scale.C +++ b/cinelerra-5.1/plugins/scale/scale.C @@ -117,7 +117,7 @@ void ScaleMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); // Store data output.tag.set_title("SCALE"); @@ -139,7 +139,7 @@ void ScaleMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; config.constrain = 0; diff --git a/cinelerra-5.1/plugins/scaleratio/scaleratio.C b/cinelerra-5.1/plugins/scaleratio/scaleratio.C index e1ea68cc..40856cce 100644 --- a/cinelerra-5.1/plugins/scaleratio/scaleratio.C +++ b/cinelerra-5.1/plugins/scaleratio/scaleratio.C @@ -105,7 +105,7 @@ void ScaleRatioMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); // Store data output.tag.set_title("SCALERATIO"); @@ -136,7 +136,7 @@ void ScaleRatioMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; diff --git a/cinelerra-5.1/plugins/shapewipe/shapewipe.C b/cinelerra-5.1/plugins/shapewipe/shapewipe.C index 1f80e288..9a38a916 100644 --- a/cinelerra-5.1/plugins/shapewipe/shapewipe.C +++ b/cinelerra-5.1/plugins/shapewipe/shapewipe.C @@ -355,7 +355,7 @@ NEW_WINDOW_MACRO(ShapeWipeMain, ShapeWipeWindow); void ShapeWipeMain::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("SHAPEWIPE"); output.tag.set_property("DIRECTION", direction); output.tag.set_property("ANTIALIAS", antialias); @@ -372,7 +372,7 @@ void ShapeWipeMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/sharpen/sharpen.C b/cinelerra-5.1/plugins/sharpen/sharpen.C index 4223c10a..9cbd1c7e 100644 --- a/cinelerra-5.1/plugins/sharpen/sharpen.C +++ b/cinelerra-5.1/plugins/sharpen/sharpen.C @@ -204,7 +204,7 @@ void SharpenMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("SHARPNESS"); output.tag.set_property("VALUE", config.sharpness); output.tag.set_property("INTERLACE", config.interlace); @@ -221,7 +221,7 @@ void SharpenMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; diff --git a/cinelerra-5.1/plugins/shiftinterlace/shiftinterlace.C b/cinelerra-5.1/plugins/shiftinterlace/shiftinterlace.C index 90722d6f..e4cf3c4a 100644 --- a/cinelerra-5.1/plugins/shiftinterlace/shiftinterlace.C +++ b/cinelerra-5.1/plugins/shiftinterlace/shiftinterlace.C @@ -277,7 +277,7 @@ void ShiftInterlaceMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("SHIFTINTERLACE"); output.tag.set_property("ODD_OFFSET", config.odd_offset); output.tag.set_property("EVEN_OFFSET", config.even_offset); @@ -293,7 +293,7 @@ void ShiftInterlaceMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; diff --git a/cinelerra-5.1/plugins/slide/slide.C b/cinelerra-5.1/plugins/slide/slide.C index 6b893f68..99a2df83 100644 --- a/cinelerra-5.1/plugins/slide/slide.C +++ b/cinelerra-5.1/plugins/slide/slide.C @@ -218,7 +218,7 @@ NEW_WINDOW_MACRO(SlideMain, SlideWindow) void SlideMain::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("SLIDE"); output.tag.set_property("MOTION_DIRECTION", motion_direction); output.tag.set_property("DIRECTION", direction); @@ -233,7 +233,7 @@ void SlideMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/spectrogram/spectrogram.C b/cinelerra-5.1/plugins/spectrogram/spectrogram.C index fc851128..7b81bbeb 100644 --- a/cinelerra-5.1/plugins/spectrogram/spectrogram.C +++ b/cinelerra-5.1/plugins/spectrogram/spectrogram.C @@ -1207,7 +1207,7 @@ LOAD_CONFIGURATION_MACRO(Spectrogram, SpectrogramConfig) void Spectrogram::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; while(!result) @@ -1237,7 +1237,7 @@ void Spectrogram::read_data(KeyFrame *keyframe) void Spectrogram::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("SPECTROGRAM"); output.tag.set_property("LEVEL", (double)config.level); diff --git a/cinelerra-5.1/plugins/spherecam/spherecam.C b/cinelerra-5.1/plugins/spherecam/spherecam.C index 8b1f6951..692c1a84 100644 --- a/cinelerra-5.1/plugins/spherecam/spherecam.C +++ b/cinelerra-5.1/plugins/spherecam/spherecam.C @@ -484,7 +484,7 @@ void SphereCamMain::save_data(KeyFrame *keyframe) char string[BCTEXTLEN]; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("SPHERECAM"); for( int i = 0; i < EYES; i++ ) { @@ -520,7 +520,7 @@ void SphereCamMain::read_data(KeyFrame *keyframe) char string[BCTEXTLEN]; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; diff --git a/cinelerra-5.1/plugins/stylizeobj/stylizeobj.C b/cinelerra-5.1/plugins/stylizeobj/stylizeobj.C index 2d8b515c..420cdacf 100644 --- a/cinelerra-5.1/plugins/stylizeobj/stylizeobj.C +++ b/cinelerra-5.1/plugins/stylizeobj/stylizeobj.C @@ -76,7 +76,7 @@ void StylizeObj::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("STYLIZEOBJ"); output.tag.set_property("MODE", config.mode); output.tag.set_property("SMOOTHING", config.smoothing); @@ -93,7 +93,7 @@ void StylizeObj::save_data(KeyFrame *keyframe) void StylizeObj::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; while( !(result = input.read_tag()) ) { diff --git a/cinelerra-5.1/plugins/svg/svg.C b/cinelerra-5.1/plugins/svg/svg.C index 9b6007f5..6f8e5fd6 100644 --- a/cinelerra-5.1/plugins/svg/svg.C +++ b/cinelerra-5.1/plugins/svg/svg.C @@ -113,7 +113,7 @@ void SvgMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("SVG"); output.tag.set_property("OUT_X", config.out_x); @@ -134,8 +134,7 @@ void SvgMain::read_data(KeyFrame *keyframe) { FileXML input; - const char *data = keyframe->get_data(); - input.set_shared_input((char*)data, strlen(data)); + input.set_shared_input(keyframe->xbuf); int result = 0; while( !(result = input.read_tag()) ) { diff --git a/cinelerra-5.1/plugins/swapchannels/swapchannels.C b/cinelerra-5.1/plugins/swapchannels/swapchannels.C index d8a6543b..cf169d26 100644 --- a/cinelerra-5.1/plugins/swapchannels/swapchannels.C +++ b/cinelerra-5.1/plugins/swapchannels/swapchannels.C @@ -220,7 +220,7 @@ void SwapMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("SWAPCHANNELS"); output.tag.set_property("RED", config.red); output.tag.set_property("GREEN", config.green); @@ -238,7 +238,7 @@ void SwapMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; diff --git a/cinelerra-5.1/plugins/swapframes/swapframes.C b/cinelerra-5.1/plugins/swapframes/swapframes.C index d4270c46..60a8a98c 100644 --- a/cinelerra-5.1/plugins/swapframes/swapframes.C +++ b/cinelerra-5.1/plugins/swapframes/swapframes.C @@ -238,7 +238,7 @@ void SwapFrames::update_gui() void SwapFrames::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("SWAPFRAMES"); output.tag.set_property("ON", config.on); output.tag.set_property("SWAP_EVEN", config.swap_even); @@ -252,7 +252,7 @@ void SwapFrames::save_data(KeyFrame *keyframe) void SwapFrames::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { if(input.tag.title_is("SWAPFRAMES")) diff --git a/cinelerra-5.1/plugins/synthesizer/synthesizer.C b/cinelerra-5.1/plugins/synthesizer/synthesizer.C index d9fe51e2..194da4c7 100644 --- a/cinelerra-5.1/plugins/synthesizer/synthesizer.C +++ b/cinelerra-5.1/plugins/synthesizer/synthesizer.C @@ -82,7 +82,7 @@ void Synth::read_data(KeyFrame *keyframe) FileXML input; char string[BCTEXTLEN]; // cause htal file to read directly from text - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); //printf("Synth::read_data %s\n", keyframe->get_data()); int result = 0, current_osc = 0; @@ -136,7 +136,7 @@ void Synth::save_data(KeyFrame *keyframe) char string[BCTEXTLEN]; // cause htal file to store data directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("SYNTH"); output.tag.set_property("WETNESS", config.wetness); diff --git a/cinelerra-5.1/plugins/threshold/threshold.C b/cinelerra-5.1/plugins/threshold/threshold.C index 402ba598..ad685198 100644 --- a/cinelerra-5.1/plugins/threshold/threshold.C +++ b/cinelerra-5.1/plugins/threshold/threshold.C @@ -169,7 +169,7 @@ int ThresholdMain::process_buffer(VFrame *frame, void ThresholdMain::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("THRESHOLD"); output.tag.set_property("MIN", config.min); output.tag.set_property("MAX", config.max); @@ -187,8 +187,7 @@ void ThresholdMain::save_data(KeyFrame *keyframe) void ThresholdMain::read_data(KeyFrame *keyframe) { FileXML input; - const char *data = keyframe->get_data(); - input.set_shared_input((char *)data, strlen(data)); + input.set_shared_input(keyframe->xbuf); int result = 0; while(!result) { diff --git a/cinelerra-5.1/plugins/timeavg/timeavg.C b/cinelerra-5.1/plugins/timeavg/timeavg.C index 2061c81c..d32db7ef 100644 --- a/cinelerra-5.1/plugins/timeavg/timeavg.C +++ b/cinelerra-5.1/plugins/timeavg/timeavg.C @@ -1026,7 +1026,7 @@ void TimeAvgMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("TIME_AVERAGE"); output.tag.set_property("FRAMES", config.frames); output.tag.set_property("MODE", config.mode); @@ -1045,7 +1045,7 @@ void TimeAvgMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/timefront/timefront.C b/cinelerra-5.1/plugins/timefront/timefront.C index 2227f7ad..47a70059 100644 --- a/cinelerra-5.1/plugins/timefront/timefront.C +++ b/cinelerra-5.1/plugins/timefront/timefront.C @@ -1094,7 +1094,7 @@ void TimeFrontMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("TIMEFRONT"); output.tag.set_property("ANGLE", config.angle); @@ -1119,7 +1119,7 @@ void TimeFrontMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; diff --git a/cinelerra-5.1/plugins/timestretchrt/timestretchrt.C b/cinelerra-5.1/plugins/timestretchrt/timestretchrt.C index 84a86578..1761782b 100644 --- a/cinelerra-5.1/plugins/timestretchrt/timestretchrt.C +++ b/cinelerra-5.1/plugins/timestretchrt/timestretchrt.C @@ -323,7 +323,7 @@ void TimeStretchRT::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("TIMESTRETCHRT"); output.tag.set_property("NUM", config.num); output.tag.set_property("DENOM", config.denom); @@ -339,7 +339,7 @@ void TimeStretchRT::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/titler/titler.C b/cinelerra-5.1/plugins/titler/titler.C index 5086fea0..d0f4f681 100644 --- a/cinelerra-5.1/plugins/titler/titler.C +++ b/cinelerra-5.1/plugins/titler/titler.C @@ -102,7 +102,7 @@ TitleConfig::TitleConfig() vjustification = JUSTIFY_MID; fade_in = 0.0; fade_out = 0.0; pixels_per_second = 100.0; - wtext[0] = 0; wlen = 0; + wtext = 0; wsize = 0; wlen = 0; title_x = title_y = 0.0; title_w = title_h = 0; window_w = 860; @@ -120,6 +120,7 @@ TitleConfig::TitleConfig() TitleConfig::~TitleConfig() { + delete [] wtext; } int TitleConfig::equivalent(TitleConfig &that) @@ -178,7 +179,7 @@ void TitleConfig::copy_from(TitleConfig &that) fade_in = that.fade_in; fade_out = that.fade_out; pixels_per_second = that.pixels_per_second; - wlen = that.wlen; + demand(wlen = that.wlen); memcpy(wtext, that.wtext, that.wlen * sizeof(wchar_t)); title_x = that.title_x; title_y = that.title_y; title_w = that.title_w; title_h = that.title_h; @@ -216,7 +217,7 @@ void TitleConfig::interpolate(TitleConfig &prev, TitleConfig &next, fade_in = prev.fade_in; fade_out = prev.fade_out; pixels_per_second = prev.pixels_per_second; - wlen = prev.wlen; + demand(wlen = prev.wlen); memcpy(wtext, prev.wtext, prev.wlen * sizeof(wchar_t)); wtext[wlen] = 0; this->title_x = prev.title_x == next.title_x ? prev.title_x : @@ -239,10 +240,21 @@ void TitleConfig::interpolate(TitleConfig &prev, TitleConfig &next, loop_playback = prev.loop_playback; } +int TitleConfig::demand(long sz) +{ + if( wtext && wsize >= sz ) return 0; + delete [] wtext; + wsize = sz + wlen/2 + 0x1000; + wtext = new wchar_t[wsize+1]; + wtext[wsize] = 0; + return 1; +} + void TitleConfig::to_wtext(const char *from_enc, const char *text, int tlen) { + demand(tlen); wlen = BC_Resources::encode(from_enc, BC_Resources::wide_encoding, - (char*)text,tlen, (char *)wtext,sizeof(wtext)) / sizeof(wchar_t); + (char*)text,tlen, (char *)wtext,sizeof(*wtext)*wsize) / sizeof(wchar_t); while( wlen > 0 && !wtext[wlen-1] ) --wlen; } @@ -2503,7 +2515,7 @@ void TitleMain::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("TITLE"); output.tag.set_property("FONT", config.font); output.tag.set_property("ENCODING", config.encoding); @@ -2539,19 +2551,12 @@ void TitleMain::save_data(KeyFrame *keyframe) output.tag.set_property("LOOP_PLAYBACK", config.loop_playback); output.append_tag(); output.append_newline(); - char text[2*sizeof(config.wtext)]; + long tsz = 2*config.wsize + 0x1000; + char text[tsz]; int text_len = BC_Resources::encode( BC_Resources::wide_encoding, DEFAULT_ENCODING, (char*)config.wtext, config.wlen*sizeof(wchar_t), - text, sizeof(text)); - int len = output.length(), avail = MESSAGESIZE-16 - len; - if( text_len >= avail ) { // back off last utf8 char - text_len = avail; - while( text_len > 0 && (text[text_len-1] & 0xc0) == 0x80 ) - text[--text_len] = 0; - if( text_len > 0 ) - text[--text_len] = 0; - } + text, tsz); output.append_text(text, text_len); output.tag.set_title("/TITLE"); output.append_tag(); @@ -2565,7 +2570,7 @@ void TitleMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; @@ -2620,22 +2625,22 @@ void TitleMain::read_data(KeyFrame *keyframe) void TitleMain::insert_text(const wchar_t *wtxt, int pos) { int len = wcslen(wtxt); - wchar_t *wtext = config.wtext; - int wsize = sizeof(config.wtext)-1; int wlen = config.wlen; if( pos < 0 ) pos = 0; if( pos > wlen ) pos = wlen; - - for( int i=wlen-1, j=wlen+len-1; i>=pos; --i,--j ) { - if( j >= wsize ) continue; + config.demand(wlen + len); + int wsize1 = config.wsize-1; + wchar_t *wtext = config.wtext; + for( int i=wlen, j=wlen+len; --i>=pos; ) { + if( --j >= wsize1 ) continue; wtext[j] = wtext[i]; } for( int i=pos, j=0; j= wsize ) break; + if( i >= wsize1 ) break; wtext[i] = wtxt[j]; } - if( (wlen+=len) > wsize ) wlen = wsize; + if( (wlen+=len) > wsize1 ) wlen = wsize1; wtext[wlen] = 0; config.wlen = wlen; } diff --git a/cinelerra-5.1/plugins/titler/titler.h b/cinelerra-5.1/plugins/titler/titler.h index 0f887d01..cf4a2037 100644 --- a/cinelerra-5.1/plugins/titler/titler.h +++ b/cinelerra-5.1/plugins/titler/titler.h @@ -161,8 +161,8 @@ public: double fade_in, fade_out; float pixels_per_second; // Speed of motion // Text to display - wchar_t wtext[3*BCTEXTLEN]; - int wlen; + wchar_t *wtext; + long wsize, wlen; // Position in frame relative to top left float title_x, title_y; int title_w, title_h; @@ -178,6 +178,7 @@ public: char background_path[BCTEXTLEN]; void convert_text(); + int demand(long sz); // Time Code Format int timecode_format; diff --git a/cinelerra-5.1/plugins/titler/titlerwindow.C b/cinelerra-5.1/plugins/titler/titlerwindow.C index 17510118..bddb7993 100644 --- a/cinelerra-5.1/plugins/titler/titlerwindow.C +++ b/cinelerra-5.1/plugins/titler/titlerwindow.C @@ -105,7 +105,6 @@ TitleWindow::TitleWindow(TitleMain *client) text_title = 0; text = 0; text_chars = 0; - text_bfrsz = 0; justify_title = 0; left = 0; center = 0; right = 0; top = 0; mid = 0; bottom = 0; @@ -399,8 +398,6 @@ void TitleWindow::create_objects() x += text_title->get_w() + 20; int wid = BC_Title::calculate_w(this,"0")*10; add_tool(text_chars = new TitleTextChars(x,y,wid)); - x += text_chars->get_w() + 20; - add_tool(text_bfrsz = new TitleTextBfrSz(x,y,wid)); y += text_title->get_h() + margin; x = margin; @@ -569,9 +566,6 @@ void TitleWindow::update_justification() void TitleWindow::update_stats() { text_chars->update(client->config.wlen); - int len = MESSAGESIZE - BCTEXTLEN - strlen(text->get_text()) - 1; - if( len < 0 ) len = 0; - text_bfrsz->update(len); } void TitleWindow::update() @@ -591,7 +585,7 @@ void TitleWindow::update() fade_out->update((float)client->config.fade_out); font->update(client->config.font); check_style(client->config.font,0); - text->update(&client->config.wtext[0]); + text->update(client->config.wtext ? &client->config.wtext[0] : L""); speed->update(client->config.pixels_per_second); outline->update((int64_t)client->config.outline_size); #ifdef USE_STROKER @@ -952,7 +946,7 @@ TitleText::TitleText(TitleMain *client, TitleWindow *window, int x, int y, int w, int h) : BC_ScrollTextBox(window, x, y, w, BC_TextBox::pixels_to_rows(window, MEDIUMFONT, h), - client->config.wtext, 8192) + client->config.wtext, 0) { this->client = client; this->window = window; @@ -972,22 +966,11 @@ int TitleText::button_press_event() int TitleText::handle_event() { window->fonts_popup->deactivate(); - int text_len = strlen(get_text()); - int avail = MESSAGESIZE - BCTEXTLEN; - if( text_len >= avail ) { // back off last utf8 char - char text[2*sizeof(client->config.wtext)]; - strcpy(text, get_text()); - text_len = avail; - while( text_len > 0 && (text[text_len-1] & 0xc0) == 0x80 ) - text[--text_len] = 0; - if( text_len > 0 ) - text[--text_len] = 0; - update(text); - } - int len = sizeof(client->config.wtext) / sizeof(wchar_t); - wcsncpy(client->config.wtext, get_wtext(), len); - client->config.wtext[len-1] = 0; - client->config.wlen = wcslen(client->config.wtext); + const wchar_t *wtext = get_wtext(); + long wlen = wcslen(wtext); + client->config.demand(wlen); + wcsncpy(client->config.wtext, wtext, client->config.wsize); + client->config.wlen = wlen; window->update_stats(); window->send_configure_change(); return 1; @@ -1006,20 +989,6 @@ int TitleTextChars::update(int n) return BC_Title::update(text, 0); } -TitleTextBfrSz::TitleTextBfrSz(int x, int y, int w) - : BC_Title(x, y, "", MEDIUMFONT, -1, 0, w) -{ -} -TitleTextBfrSz::~TitleTextBfrSz() -{ -} -int TitleTextBfrSz::update(int n) -{ - char text[BCSTRLEN]; - sprintf(text, _("bfrsz: %d "),n); - return BC_Title::update(text, 0); -} - TitleDropShadow::TitleDropShadow(TitleMain *client, TitleWindow *window, int x, int y) : BC_TumbleTextBox(window, client->config.dropshadow, diff --git a/cinelerra-5.1/plugins/titler/titlerwindow.h b/cinelerra-5.1/plugins/titler/titlerwindow.h index 0a5122b4..99cd3e18 100644 --- a/cinelerra-5.1/plugins/titler/titlerwindow.h +++ b/cinelerra-5.1/plugins/titler/titlerwindow.h @@ -55,7 +55,6 @@ class TitleFade; class TitleFont; class TitleText; class TitleTextChars; -class TitleTextBfrSz; class TitleX; class TitleY; class TitleW; @@ -159,7 +158,6 @@ public: BC_Title *text_title; TitleText *text; TitleTextChars *text_chars; - TitleTextBfrSz *text_bfrsz; BC_Title *justify_title; TitleLeft *left; TitleCenter *center; @@ -381,13 +379,6 @@ public: TitleTextChars(int x, int y, int w); ~TitleTextChars(); }; -class TitleTextBfrSz : public BC_Title -{ -public: - int update(int n); - TitleTextBfrSz(int x, int y, int w); - ~TitleTextBfrSz(); -}; class TitleX : public BC_TumbleTextBox { diff --git a/cinelerra-5.1/plugins/translate/translate.C b/cinelerra-5.1/plugins/translate/translate.C index e69f8087..ce965b0c 100644 --- a/cinelerra-5.1/plugins/translate/translate.C +++ b/cinelerra-5.1/plugins/translate/translate.C @@ -124,7 +124,7 @@ void TranslateMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); // Store data output.tag.set_title("TRANSLATE"); @@ -148,7 +148,7 @@ void TranslateMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; diff --git a/cinelerra-5.1/plugins/unsharp/unsharp.C b/cinelerra-5.1/plugins/unsharp/unsharp.C index 96364d9a..1de85f0a 100644 --- a/cinelerra-5.1/plugins/unsharp/unsharp.C +++ b/cinelerra-5.1/plugins/unsharp/unsharp.C @@ -133,7 +133,7 @@ void UnsharpMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("UNSHARP"); output.tag.set_property("RADIUS", config.radius); @@ -150,7 +150,7 @@ void UnsharpMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; diff --git a/cinelerra-5.1/plugins/videoscope/videoscope.C b/cinelerra-5.1/plugins/videoscope/videoscope.C index 0744e83c..76b7cf72 100644 --- a/cinelerra-5.1/plugins/videoscope/videoscope.C +++ b/cinelerra-5.1/plugins/videoscope/videoscope.C @@ -248,7 +248,7 @@ void VideoScopeEffect::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("VIDEOSCOPE"); @@ -273,7 +273,7 @@ void VideoScopeEffect::save_data(KeyFrame *keyframe) void VideoScopeEffect::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; diff --git a/cinelerra-5.1/plugins/vocoder/vocoder.C b/cinelerra-5.1/plugins/vocoder/vocoder.C index 8e117296..5987558e 100644 --- a/cinelerra-5.1/plugins/vocoder/vocoder.C +++ b/cinelerra-5.1/plugins/vocoder/vocoder.C @@ -367,7 +367,7 @@ int Vocoder::is_multichannel() { return 1; } void Vocoder::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; while(!result) @@ -390,7 +390,7 @@ void Vocoder::read_data(KeyFrame *keyframe) void Vocoder::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("VOCODER"); output.tag.set_property("WETNESS", config.wetness); diff --git a/cinelerra-5.1/plugins/wave/wave.C b/cinelerra-5.1/plugins/wave/wave.C index 5e2ab3a4..03f537f0 100644 --- a/cinelerra-5.1/plugins/wave/wave.C +++ b/cinelerra-5.1/plugins/wave/wave.C @@ -473,7 +473,7 @@ void WaveEffect::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("WAVE"); output.tag.set_property("MODE", config.mode); output.tag.set_property("REFLECTIVE", config.reflective); @@ -491,7 +491,7 @@ void WaveEffect::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/whirl/whirl.C b/cinelerra-5.1/plugins/whirl/whirl.C index 25be3bc9..af514fe7 100644 --- a/cinelerra-5.1/plugins/whirl/whirl.C +++ b/cinelerra-5.1/plugins/whirl/whirl.C @@ -394,7 +394,7 @@ void WhirlEffect::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("WHIRL"); output.tag.set_property("ANGLE", config.angle); @@ -412,7 +412,7 @@ void WhirlEffect::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; diff --git a/cinelerra-5.1/plugins/wipe/wipe.C b/cinelerra-5.1/plugins/wipe/wipe.C index 71b1d722..6b26694a 100644 --- a/cinelerra-5.1/plugins/wipe/wipe.C +++ b/cinelerra-5.1/plugins/wipe/wipe.C @@ -154,7 +154,7 @@ NEW_WINDOW_MACRO(WipeMain, WipeWindow) void WipeMain::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("WIPE"); output.tag.set_property("DIRECTION", direction); output.append_tag(); @@ -168,7 +168,7 @@ void WipeMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/yuv/yuv.C b/cinelerra-5.1/plugins/yuv/yuv.C index c6b73134..9e7dce83 100644 --- a/cinelerra-5.1/plugins/yuv/yuv.C +++ b/cinelerra-5.1/plugins/yuv/yuv.C @@ -229,7 +229,7 @@ void YUVEffect::update_gui() void YUVEffect::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("YUV"); output.tag.set_property("Y", config.y); output.tag.set_property("U", config.u); @@ -244,7 +244,7 @@ void YUVEffect::save_data(KeyFrame *keyframe) void YUVEffect::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { if(input.tag.title_is("YUV")) diff --git a/cinelerra-5.1/plugins/yuv411/yuv411.C b/cinelerra-5.1/plugins/yuv411/yuv411.C index 79ca1859..100541f5 100644 --- a/cinelerra-5.1/plugins/yuv411/yuv411.C +++ b/cinelerra-5.1/plugins/yuv411/yuv411.C @@ -237,7 +237,7 @@ void yuv411Main::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("YUV411"); output.tag.set_property("OFFSET",config.offset); @@ -271,7 +271,7 @@ void yuv411Main::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0; config.avg_vertical = config.int_horizontal = 0; diff --git a/cinelerra-5.1/plugins/yuvshift/yuvshift.C b/cinelerra-5.1/plugins/yuvshift/yuvshift.C index 7298efcb..bab83bb4 100644 --- a/cinelerra-5.1/plugins/yuvshift/yuvshift.C +++ b/cinelerra-5.1/plugins/yuvshift/yuvshift.C @@ -235,7 +235,7 @@ void YUVShiftEffect::update_gui() void YUVShiftEffect::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("YUVSHIFT"); output.tag.set_property("Y_DX", config.y_dx); output.tag.set_property("Y_DY", config.y_dy); @@ -253,7 +253,7 @@ void YUVShiftEffect::save_data(KeyFrame *keyframe) void YUVShiftEffect::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { if(input.tag.title_is("YUVSHIFT")) diff --git a/cinelerra-5.1/plugins/zoom/zoom.C b/cinelerra-5.1/plugins/zoom/zoom.C index 3a682030..a7e26353 100644 --- a/cinelerra-5.1/plugins/zoom/zoom.C +++ b/cinelerra-5.1/plugins/zoom/zoom.C @@ -156,7 +156,7 @@ int ZoomMain::uses_gui() { return 1; } void ZoomMain::save_data(KeyFrame *keyframe) { FileXML output; - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("ZOOMTRANSITION"); output.tag.set_property("MAGNIFICATION_X", max_magnification_x); output.tag.set_property("MAGNIFICATION_Y", max_magnification_y); @@ -170,7 +170,7 @@ void ZoomMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); while(!input.read_tag()) { diff --git a/cinelerra-5.1/plugins/zoomblur/zoomblur.C b/cinelerra-5.1/plugins/zoomblur/zoomblur.C index 4499ea29..83367087 100644 --- a/cinelerra-5.1/plugins/zoomblur/zoomblur.C +++ b/cinelerra-5.1/plugins/zoomblur/zoomblur.C @@ -608,7 +608,7 @@ void ZoomBlurMain::save_data(KeyFrame *keyframe) FileXML output; // cause data to be stored directly in text - output.set_shared_output(keyframe->get_data(), MESSAGESIZE); + output.set_shared_output(keyframe->xbuf); output.tag.set_title("ZOOMBLUR"); output.tag.set_property("X", config.x); @@ -630,7 +630,7 @@ void ZoomBlurMain::read_data(KeyFrame *keyframe) { FileXML input; - input.set_shared_input(keyframe->get_data(), strlen(keyframe->get_data())); + input.set_shared_input(keyframe->xbuf); int result = 0;