6 #include "defaults.inc"
9 #include "pluginaclient.h"
18 class DBXSize
: public BC_TextBox
21 DBXSize(DBXEffect
*plugin
, int x
, int y
);
27 class DBXGain
: public BC_TextBox
30 DBXGain(DBXEffect
*plugin
, int x
, int y
);
36 class DBXWindow
: public BC_Window
39 DBXWindow(DBXEffect
*plugin
, int x
, int y
);
40 void create_objects();
42 void update_textboxes();
50 DBXReaction
*reaction
;
58 class DBXThread
: public Thread
61 DBXThread(DBXEffect
*plugin
);
72 // Units are linear from 0 - 1
82 void remove_point(int number
);
84 double get_y(int number
);
85 double get_x(int number
);
86 // Returns linear output given linear input
87 double calculate_linear(double x
);
88 int set_point(double x
, double y
);
97 ArrayList
<compressor_point_t
> levels
;
100 class DBXEffect
: public PluginAClient
103 DBXEffect(PluginServer
*server
);
107 char* plugin_title();
108 int is_multichannel();
110 void read_data(KeyFrame
*keyframe
);
111 void save_data(KeyFrame
*keyframe
);
112 int process_realtime(long size
, double **input_ptr
, double **output_ptr
);
122 void load_configuration();
128 double **input_buffer
;
130 long input_allocated
;
131 double *reaction_buffer
;
132 long reaction_allocated
;
133 long reaction_position
;
136 // Same coefs are applied to all channels
138 long coefs_allocated
;