projects
/
goodguy
/
history.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
xfer parallel build, reload vwindow, snap/grab fixes, shader memeory leak
[goodguy/history.git]
/
cinelerra-5.1
/
cinelerra
/
floatauto.C
diff --git
a/cinelerra-5.1/cinelerra/floatauto.C
b/cinelerra-5.1/cinelerra/floatauto.C
index 1f22aeaa1c851661d30f9af759d13ed38d50d8a0..bab8160f28675345819dacd269665e5de85fc78e 100644
(file)
--- a/
cinelerra-5.1/cinelerra/floatauto.C
+++ b/
cinelerra-5.1/cinelerra/floatauto.C
@@
-142,9
+142,11
@@
int FloatAuto::interpolate_from(Auto *a1, Auto *a2, int64_t pos, Auto *templ)
// set this->value using bézier interpolation if possible
FloatAuto *left = (FloatAuto*)a1;
FloatAuto *right = (FloatAuto*)a2;
// set this->value using bézier interpolation if possible
FloatAuto *left = (FloatAuto*)a1;
FloatAuto *right = (FloatAuto*)a2;
- float new_value = FloatAutos::calculate_bezier(left, right, pos);
+ if( pos != position ) { // this may trigger smoothing
+ this->adjust_to_new_coordinates(pos,
+ FloatAutos::calculate_bezier(left, right, pos));
+ }
float new_slope = FloatAutos::calculate_bezier_derivation(left, right, pos);
float new_slope = FloatAutos::calculate_bezier_derivation(left, right, pos);
- this->adjust_to_new_coordinates(pos, new_value); // this may trigger smoothing
this->set_control_in_value(new_slope * control_in_position);
this->set_control_out_value(new_slope * control_out_position);
return 1; //return true: interpolated indeed...
this->set_control_in_value(new_slope * control_in_position);
this->set_control_out_value(new_slope * control_out_position);
return 1; //return true: interpolated indeed...