client keyframe fix when tweak set, clean up, ffmpeg plugin.opts from andrea, about...
authorGood Guy <[email protected]>
Mon, 1 Oct 2018 03:48:14 +0000 (21:48 -0600)
committerGood Guy <[email protected]>
Mon, 1 Oct 2018 03:48:14 +0000 (21:48 -0600)
cinelerra-5.1/cinelerra/data/about.xcf
cinelerra-5.1/cinelerra/data/heroine_logo9.xcf
cinelerra-5.1/cinelerra/keyframe.C
cinelerra-5.1/cinelerra/keyframes.C
cinelerra-5.1/cinelerra/pluginclient.C
cinelerra-5.1/cinelerra/versioninfo.h
cinelerra-5.1/ffmpeg/plugin.opts

index 217ca58f7aba9cf8c85aa090cec42c313799debf..c2f669bbe8a82ba8a7a88ea010a7be797cf32e45 100644 (file)
Binary files a/cinelerra-5.1/cinelerra/data/about.xcf and b/cinelerra-5.1/cinelerra/data/about.xcf differ
index cc3e34b6cd29b9e4112b4771906f08593a8d38f3..62a452870edadd3925c2319d6db2cf12c2f987f0 100644 (file)
Binary files a/cinelerra-5.1/cinelerra/data/heroine_logo9.xcf and b/cinelerra-5.1/cinelerra/data/heroine_logo9.xcf differ
index cd8c6a3eb7194c0555a1ce4ed4db86d6fd997ac2..cdeebd642cf6bce2fcb6d07dcb920a41e53afba3 100644 (file)
@@ -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; i<m; ++i ) {
+               const char *src_key = src_params.get_key(i);
+               const char *src_value = src_params.get_value(i);
                this_value[0] = 0;
                this_params.get(src_key, this_value);
-if(debug) printf("KeyFrame::get_diff %d %s %s %s\n",
-__LINE__,
-src_key,
-src_value,
-this_value);
 // Capture values which differ
-               if(strcmp(src_value, this_value))
-               {
+               if( strcmp(src_value, this_value) ) {
                        if(!(*params)) (*params) = new BC_Hash;
                        (*params)->update(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;
index 13e2fbc507464b3ef588b52be61dd0ed7e9b64b7..9e90bd641d796fe43f76481d4a97753bb4a1a92b 100644 (file)
@@ -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,
-                       &params,
-                       &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, &params, &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;
index 4cab34b513f80b208a14d1a95d848fb430a9ab3a..33aba8f34f691997fece6f33449ad92922b57145 100644 (file)
@@ -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
index 21dbc483163b6b0a79577a54b5ccf18ba4116978..312148f526d2ed29db839b82bead0b93f0fbb5fe 100644 (file)
@@ -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"
index ee455d7706b9defda57a0465433b479a3ac6a638..002c01368d4bd33ab8f3f65b3c5d6bf1ae93d5a3 100644 (file)
@@ -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