From: Good Guy Date: Mon, 1 Oct 2018 03:48:14 +0000 (-0600) Subject: client keyframe fix when tweak set, clean up, ffmpeg plugin.opts from andrea, about... X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fhistory.git;a=commitdiff_plain;h=270d86e71b318578d56d0e8a245cf14f32cf09ac client keyframe fix when tweak set, clean up, ffmpeg plugin.opts from andrea, about/splash xcfs --- diff --git a/cinelerra-5.1/cinelerra/data/about.xcf b/cinelerra-5.1/cinelerra/data/about.xcf index 217ca58f..c2f669bb 100644 Binary files a/cinelerra-5.1/cinelerra/data/about.xcf and b/cinelerra-5.1/cinelerra/data/about.xcf differ diff --git a/cinelerra-5.1/cinelerra/data/heroine_logo9.xcf b/cinelerra-5.1/cinelerra/data/heroine_logo9.xcf index cc3e34b6..62a45287 100644 Binary files a/cinelerra-5.1/cinelerra/data/heroine_logo9.xcf and b/cinelerra-5.1/cinelerra/data/heroine_logo9.xcf differ diff --git a/cinelerra-5.1/cinelerra/keyframe.C b/cinelerra-5.1/cinelerra/keyframe.C index cd8c6a3e..cdeebd64 100644 --- a/cinelerra-5.1/cinelerra/keyframe.C +++ b/cinelerra-5.1/cinelerra/keyframe.C @@ -247,44 +247,24 @@ void KeyFrame::update_parameter(BC_Hash *params, void KeyFrame::get_diff(KeyFrame *src, - BC_Hash **params, - char **text, - char **extra) + BC_Hash **params, char **text, char **extra) { - const int debug = 0; - FileXML input; - input.set_shared_input(data, strlen(data)); - BC_Hash this_params; - char *this_text = 0; - char *this_extra = 0; - BC_Hash src_parameters; - char *src_text = 0; - char *src_extra = 0; + BC_Hash this_params; char *this_text = 0, *this_extra = 0; + BC_Hash src_params; char *src_text = 0, *src_extra = 0; get_contents(&this_params, &this_text, &this_extra); - src->get_contents(&src_parameters, &src_text, &src_extra); - -if(debug) printf("KeyFrame::get_diff %d %d %d\n", -__LINE__, -this_params.size(), -src_parameters.size()); + src->get_contents(&src_params, &src_text, &src_extra); // Capture changed parameters char this_value[BCTEXTLEN]; - for(int i = 0; i < MIN(this_params.size(), src_parameters.size()); i++) - { - const char *src_key = src_parameters.get_key(i); - const char *src_value = src_parameters.get_value(i); + int m = MIN(this_params.size(), src_params.size()); + for( int i=0; iupdate(src_key, src_value); } @@ -292,13 +272,12 @@ this_value); // Capture text which differs - if( !this_text || strcmp(this_text, src_text)) + if( !this_text || strcmp(this_text, src_text) ) (*text) = cstrdup(src_text); - if( !this_extra || strcmp(this_extra, src_extra)) + if( !this_extra || strcmp(this_extra, src_extra) ) (*extra) = cstrdup(src_extra); - delete [] this_text; delete [] this_extra; delete [] src_text; diff --git a/cinelerra-5.1/cinelerra/keyframes.C b/cinelerra-5.1/cinelerra/keyframes.C index 13e2fbc5..9e90bd64 100644 --- a/cinelerra-5.1/cinelerra/keyframes.C +++ b/cinelerra-5.1/cinelerra/keyframes.C @@ -110,68 +110,34 @@ KeyFrame* KeyFrames::get_keyframe() void KeyFrames::update_parameter(KeyFrame *src) { - const int debug = 0; // Create new keyframe if auto keyframes or replace entire keyframe. double selection_start = edl->local_session->get_selectionstart(0); double selection_end = edl->local_session->get_selectionend(0); selection_start = edl->align_to_frame(selection_start, 0); selection_end = edl->align_to_frame(selection_end, 0); - if(EQUIV(selection_start, selection_end)) - { -// Search for keyframe to write to + if( EQUIV(selection_start, selection_end) ) { +// Search for keyframe to write KeyFrame *dst = get_keyframe(); - dst->copy_data(src); } - else + else { // Replace changed parameter in all selected keyframes. - { BC_Hash *params = 0; - char *text = 0; - char *extra = 0; - - + char *text = 0, *extra = 0; // Search all keyframes in selection but don't create a new one. int64_t start = track->to_units(selection_start, 0); int64_t end = track->to_units(selection_end, 0); - KeyFrame *current = get_prev_keyframe( - start, - PLAY_FORWARD); - + KeyFrame *current = get_prev_keyframe(start, PLAY_FORWARD); // The first one determines the changed parameters since it is the one displayed -// in the GUI. - current->get_diff(src, - ¶ms, - &text, - &extra); - - -if(debug) printf("KeyFrames::update_parameter %d params=%p position=%jd start=%jd\n", - __LINE__, params, current->position, track->to_units(start, 0)); - -if(debug && params) -{ -for(int i = 0; i < params->size(); i++) -printf("KeyFrames::update_parameter %d changed=%s %s\n", -__LINE__, -params->get_key(i), -params->get_value(i)); -} - + current->get_diff(src, ¶ms, &text, &extra); // Always update the first one - current->update_parameter(params, - text, - extra); - for(current = (KeyFrame*)NEXT ; current && current->position < end; current = (KeyFrame*)NEXT) - { -if(debug) printf("KeyFrames::update_parameter %d position=%jd\n", - __LINE__, current->position); - current->update_parameter(params, - text, - extra); - } + current->update_parameter(params, text, extra); + for( current = (KeyFrame*)NEXT; current; current = (KeyFrame*)NEXT ) { + if( current->position >= end ) break; + current->update_parameter(params, text, extra); + } delete params; delete [] text, delete [] extra; diff --git a/cinelerra-5.1/cinelerra/pluginclient.C b/cinelerra-5.1/cinelerra/pluginclient.C index 4cab34b5..33aba8f3 100644 --- a/cinelerra-5.1/cinelerra/pluginclient.C +++ b/cinelerra-5.1/cinelerra/pluginclient.C @@ -825,7 +825,6 @@ int PluginClient::send_configure_change() server->mwindow->undo->update_undo_before(_("tweek"), this); #ifdef USE_KEYFRAME_SPANNING KeyFrame keyframe; - keyframe.copy_from(server->get_keyframe()); save_data(&keyframe); server->apply_keyframe(&keyframe); #else diff --git a/cinelerra-5.1/cinelerra/versioninfo.h b/cinelerra-5.1/cinelerra/versioninfo.h index 21dbc483..312148f5 100644 --- a/cinelerra-5.1/cinelerra/versioninfo.h +++ b/cinelerra-5.1/cinelerra/versioninfo.h @@ -1,7 +1,7 @@ #ifndef __VERSIONINFO_H__ #define __VERSIONINFO_H__ -#define CINELERRA_VERSION "Unity" +#define CINELERRA_VERSION "Unify" #define REPOMAINTXT "git://git.cinelerra-cv.org/goodguy/cinelerra.git\n" #define COPYRIGHT_DATE "2018" #define COPYRIGHTTEXT1 "(c) 2006-2018 Heroine Virtual Ltd. by Adam Williams\n" diff --git a/cinelerra-5.1/ffmpeg/plugin.opts b/cinelerra-5.1/ffmpeg/plugin.opts index ee455d77..002c0136 100644 --- a/cinelerra-5.1/ffmpeg/plugin.opts +++ b/cinelerra-5.1/ffmpeg/plugin.opts @@ -77,7 +77,7 @@ bwdif chorus in_gain=0.400000:out_gain=0.400000:delays=1|1:decays=1|1:speeds=1|1:depths=1|1 chromakey #codecview -#color +color colorbalance colorchannelmixer colorkey @@ -170,7 +170,7 @@ lut lut3d lutrgb lutyuv -#mandelbrot +mandelbrot #maskedclamp #maskedmerge mcdeint