r125: This commit was manufactured by cvs2svn to create tag 'r1_1_7-last'.
[cinelerra_cv/mob.git] / hvirtual / plugins / delayaudio / delayaudio.h
blobaac9f9e3414854493d5b86238388593245c1098a
1 #ifndef DELAYAUDIO_H
2 #define DELAYAUDIO_H
4 #include "defaults.inc"
5 #include "guicast.h"
6 #include "mutex.h"
7 #include "pluginaclient.h"
8 #include "vframe.inc"
12 class DelayAudio;
13 class DelayAudioWindow;
14 class DelayAudioTextBox;
19 class DelayAudioConfig
21 public:
22 DelayAudioConfig();
24 int equivalent(DelayAudioConfig &that);
25 void copy_from(DelayAudioConfig &that);
26 double length;
31 class DelayAudioThread : public Thread
33 public:
34 DelayAudioThread(DelayAudio *plugin);
35 ~DelayAudioThread();
37 void run();
39 Mutex completion;
40 DelayAudioWindow *window;
41 DelayAudio *plugin;
46 class DelayAudioWindow : public BC_Window
48 public:
49 DelayAudioWindow(DelayAudio *plugin, int x, int y);
50 ~DelayAudioWindow();
52 int create_objects();
53 int close_event();
54 void update_gui();
56 DelayAudio *plugin;
57 DelayAudioTextBox *length;
63 class DelayAudioTextBox : public BC_TextBox
65 public:
66 DelayAudioTextBox(DelayAudio *plugin, int x, int y);
67 ~DelayAudioTextBox();
69 int handle_event();
71 DelayAudio *plugin;
77 class DelayAudio : public PluginAClient
79 public:
80 DelayAudio(PluginServer *server);
81 ~DelayAudio();
83 VFrame* new_picon();
84 char* plugin_title();
85 int is_realtime();
86 int load_defaults();
87 int save_defaults();
88 void read_data(KeyFrame *keyframe);
89 void save_data(KeyFrame *keyframe);
90 int process_realtime(int64_t size, double *input_ptr, double *output_ptr);
91 int show_gui();
92 void raise_window();
93 int set_string();
99 void load_configuration();
100 void reset();
101 void reconfigure();
102 void update_gui();
106 double *buffer;
107 int64_t allocation;
108 int64_t input_start;
109 int need_reconfigure;
110 DelayAudioThread *thread;
111 Defaults *defaults;
112 DelayAudioConfig config;
118 #endif