9 #include "defaults.inc"
13 #include "pluginaclient.h"
17 #define WINDOW_SIZE 8192
24 class SpectrogramLevel
: public BC_FPot
27 SpectrogramLevel(Spectrogram
*plugin
, int x
, int y
);
33 class SpectrogramWindow
: public BC_Window
36 SpectrogramWindow(Spectrogram
*plugin
, int x
, int y
);
39 void create_objects();
43 SpectrogramLevel
*level
;
51 PLUGIN_THREAD_HEADER(Spectrogram
, SpectrogramThread
, SpectrogramWindow
)
55 class SpectrogramFFT
: public CrossfadeFFT
58 SpectrogramFFT(Spectrogram
*plugin
);
67 class SpectrogramConfig
75 class Spectrogram
: public PluginAClient
78 Spectrogram(PluginServer
*server
);
84 int process_realtime(int64_t size
, double *input_ptr
, double *output_ptr
);
88 void load_configuration();
91 void read_data(KeyFrame
*keyframe
);
92 void save_data(KeyFrame
*keyframe
);
94 void render_gui(void *data
, int size
);
100 int need_reconfigure
;
102 SpectrogramConfig config
;
103 SpectrogramThread
*thread
;