00001 #include "bcdisplayinfo.h" 00002 #include "clip.h" 00003 #include "bchash.h" 00004 #include "filexml.h" 00005 #include "picon_png.h" 00006 #include "units.h" 00007 #include "vframe.h" 00008 00009 #include <math.h> 00010 #include <string.h> 00011 00012 00013 00014 00015 #define WINDOW_SIZE 16384 00016 #define MAXMAGNITUDE 15 00017 00018 00019 00020 00021 00022 class GraphicEQ : public PluginAClient 00023 { 00024 public: 00025 GraphicEQ(PluginServer *server); 00026 ~GraphicEQ(); 00027 00028 VFrame* new_picon(); 00029 char* plugin_title(); 00030 int is_realtime(); 00031 void read_data(KeyFrame *keyframe); 00032 void save_data(KeyFrame *keyframe); 00033 int process_realtime(long size, double *input_ptr, double *output_ptr); 00034 int show_gui(); 00035 void raise_window(); 00036 int set_string(); 00037 00038 00039 00040 00041 00042 int load_defaults(); 00043 int save_defaults(); 00044 void load_configuration(); 00045 void reset(); 00046 void reconfigure(); 00047 void update_gui(); 00048 00049 double calculate_envelope(); 00050 double gauss(double sigma, double a, double x); 00051 00052 double envelope[WINDOW_SIZE / 2]; 00053 int need_reconfigure; 00054 BC_Hash *defaults; 00055 GraphicThread *thread; 00056 GraphicFFT *fft; 00057 GraphicConfig config; 00058 }; 00059 00060 00061 00062 00063 00064 00065 00066 00067 00068 00069 00070 PluginClient* new_plugin(PluginServer *server) 00071 { 00072 return new GraphicEQ(server); 00073 } 00074 00075
1.5.5