#include <math.h>
BluebananaConfig::BluebananaConfig() {
+ op = 0;
mark = 0;
active = 1;
use_mask = 0;
int BluebananaConfig::equivalent(BluebananaConfig &that) {
if(active != that.active) return 0;
// mark is no an auto
+ if(op != that.op) return 0;
if(use_mask != that.use_mask) return 0;
if(capture_mask != that.capture_mask) return 0;
if(invert_selection != that.invert_selection) return 0;
void BluebananaConfig::copy_from(BluebananaConfig &that) {
mark = that.mark;
+ op = that.op;
active = that.active;
use_mask = that.use_mask;
capture_mask = that.capture_mask;
Oadj_active = that.Oadj_active;
Oadj_val = that.Oadj_val;
+ Aadj_active = that.Aadj_active;
+ Aadj_val = that.Aadj_val;
}
void BluebananaConfig::interpolate(BluebananaConfig &prev,
double next_scale = (double)(current_frame - prev_frame) / (next_frame - prev_frame);
double prev_scale = 1.0 - next_scale;
+ op = prev.op;
active = prev.active;
use_mask = prev.use_mask;
capture_mask = prev.capture_mask;
Hadj_val = ( prev.Hadj_val*prev_scale + next.Hadj_val*next_scale);
Oadj_val = ( prev.Oadj_val*prev_scale + next.Oadj_val*next_scale);
+ Aadj_val = ( prev.Aadj_val*prev_scale + next.Aadj_val*next_scale);
Sadj_gamma = ( prev.Sadj_gamma*prev_scale + next.Sadj_gamma*next_scale);
Sadj_lo = ( prev.Sadj_lo*prev_scale + next.Sadj_lo*next_scale);