1 #ifndef PLUGINACLIENT_H
2 #define PLUGINACLIENT_H
6 #include "maxbuffers.h"
7 #include "pluginclient.h"
9 class PluginAClient
: public PluginClient
12 PluginAClient(PluginServer
*server
);
13 virtual ~PluginAClient();
15 int get_render_ptrs();
16 int init_realtime_parameters();
17 void plugin_process_realtime(double **input
,
19 int64_t current_position
,
20 int64_t fragment_size
,
23 virtual int process_realtime(int64_t size
,
25 double *output_ptr
) { return 0; };
26 virtual int process_realtime(int64_t size
,
28 double **output_ptr
) { return 0; };
29 virtual int process_loop(double *buffer
, int64_t &write_length
) { return 1; };
30 virtual int process_loop(double **buffers
, int64_t &write_length
) { return 1; };
31 int plugin_process_loop(double **buffers
, int64_t &write_length
);
32 int read_samples(double *buffer
, int channel
, int64_t start_position
, int64_t total_samples
);
33 int read_samples(double *buffer
, int64_t start_position
, int64_t total_samples
);
34 void send_render_gui(void *data
, int size
);
35 void plugin_render_gui(void *data
, int size
);
36 virtual void render_gui(void *data
, int size
) {};
38 // point to the start of the buffers
39 ArrayList
<float**> input_ptr_master
;
40 ArrayList
<float**> output_ptr_master
;
41 // point to the regions for a single render
42 float **input_ptr_render
;
43 float **output_ptr_render
;
44 int project_sample_rate
; // sample rate of incomming data