r125: This commit was manufactured by cvs2svn to create tag 'r1_1_7-last'.
[cinelerra_cv/mob.git] / hvirtual / cinelerra / pluginaclient.h
blob608526a511e2021d1097f41178ee9f14b26c6d5f
1 #ifndef PLUGINACLIENT_H
2 #define PLUGINACLIENT_H
6 #include "maxbuffers.h"
7 #include "pluginclient.h"
9 class PluginAClient : public PluginClient
11 public:
12 PluginAClient(PluginServer *server);
13 virtual ~PluginAClient();
15 int get_render_ptrs();
16 int init_realtime_parameters();
17 void plugin_process_realtime(double **input,
18 double **output,
19 int64_t current_position,
20 int64_t fragment_size,
21 int64_t total_len);
22 int is_audio();
23 virtual int process_realtime(int64_t size,
24 double *input_ptr,
25 double *output_ptr) { return 0; };
26 virtual int process_realtime(int64_t size,
27 double **input_ptr,
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
49 #endif