00001 #ifndef DESPIKE_H 00002 #define DESPIKE_H 00003 00004 class Despike; 00005 class DespikeEngine; 00006 00007 #include "despikewindow.h" 00008 #include "pluginaclient.h" 00009 00010 class DespikeConfig 00011 { 00012 public: 00013 DespikeConfig(); 00014 00015 int equivalent(DespikeConfig &that); 00016 void copy_from(DespikeConfig &that); 00017 void interpolate(DespikeConfig &prev, 00018 DespikeConfig &next, 00019 int64_t prev_frame, 00020 int64_t next_frame, 00021 int64_t current_frame); 00022 00023 double level; 00024 double slope; 00025 }; 00026 00027 class Despike : public PluginAClient 00028 { 00029 public: 00030 Despike(PluginServer *server); 00031 ~Despike(); 00032 00033 void update_gui(); 00034 int load_configuration(); 00035 00036 // data for despike 00037 DespikeConfig config; 00038 00039 DB db; 00040 00041 char* plugin_title(); 00042 VFrame* new_picon(); 00043 int is_realtime(); 00044 int process_realtime(int64_t size, double *input_ptr, double *output_ptr); 00045 int show_gui(); 00046 int set_string(); 00047 void save_data(KeyFrame *keyframe); 00048 void read_data(KeyFrame *keyframe); 00049 void raise_window(); 00050 00051 // non realtime support 00052 int load_defaults(); 00053 int save_defaults(); 00054 BC_Hash *defaults; 00055 00056 DespikeThread *thread; 00057 double last_sample; 00058 }; 00059 00060 #endif
1.5.5