r969: Render format selector: Do not change the path name when the format is changed.
[cinelerra_cv/ct.git] / cinelerra / floatautos.h
bloba5e5f60ca2fbaafe6e32529ebac1ed3580e32938
1 #ifndef FLOATAUTOS_H
2 #define FLOATAUTOS_H
4 #include "autos.h"
5 #include "edl.inc"
6 #include "guicast.h"
7 #include "filexml.inc"
8 #include "floatauto.inc"
10 class FloatAutos : public Autos
12 public:
13 FloatAutos(EDL *edl,
14 Track *track,
15 // Value for default auto
16 float default_);
17 ~FloatAutos();
20 int draw_joining_line(BC_SubWindow *canvas, int vertical, int center_pixel, int x1, int y1, int x2, int y2);
21 int get_testy(float slope, int cursor_x, int ax, int ay);
22 // Return 1 if the automation is constant.
23 // constant - set to the value if it is constant
24 int automation_is_constant(int64_t start,
25 int64_t length,
26 int direction,
27 double &constant);
28 double get_automation_constant(int64_t start, int64_t end);
29 // Get value at a specific point. This needs previous and next stores
30 // because it is used for every pixel in the drawing function.
31 float get_value(int64_t position,
32 int direction,
33 FloatAuto* &previous,
34 FloatAuto* &next);
35 void get_fade_automation(double &slope,
36 double &intercept,
37 int64_t input_position,
38 int64_t &slope_len,
39 int direction);
40 void get_extents(float *min,
41 float *max,
42 int *coords_undefined,
43 int64_t unit_start,
44 int64_t unit_end);
46 void straighten(int64_t start, int64_t end);
48 void dump();
49 Auto* add_auto(int64_t position, float value);
50 Auto* append_auto();
51 Auto* new_auto();
52 float default_;
56 #endif