00001 #ifndef FLOATAUTOS_H
00002 #define FLOATAUTOS_H
00003
00004 #include "autos.h"
00005 #include "edl.inc"
00006 #include "guicast.h"
00007 #include "filexml.inc"
00008 #include "floatauto.inc"
00009
00010 class FloatAutos : public Autos
00011 {
00012 public:
00013 FloatAutos(EDL *edl,
00014 Track *track,
00015
00016 float default_);
00017 ~FloatAutos();
00018
00019
00020 int draw_joining_line(BC_SubWindow *canvas, int vertical, int center_pixel, int x1, int y1, int x2, int y2);
00021 int get_testy(float slope, int cursor_x, int ax, int ay);
00022
00023
00024 int automation_is_constant(int64_t start,
00025 int64_t length,
00026 int direction,
00027 double &constant);
00028 double get_automation_constant(int64_t start, int64_t end);
00029
00030
00031 float get_value(int64_t position,
00032 int direction,
00033 FloatAuto* &previous,
00034 FloatAuto* &next);
00035 void get_fade_automation(double &slope,
00036 double &intercept,
00037 int64_t input_position,
00038 int64_t &slope_len,
00039 int direction);
00040 void get_extents(float *min,
00041 float *max,
00042 int *coords_undefined,
00043 int64_t unit_start,
00044 int64_t unit_end);
00045
00046 void dump();
00047 Auto* add_auto(int64_t position, float value);
00048 Auto* append_auto();
00049 Auto* new_auto();
00050 float default_;
00051 };
00052
00053
00054 #endif