13 #include "pluginaclient.h"
23 class SpectrogramLevel
: public BC_FPot
26 SpectrogramLevel(Spectrogram
*plugin
, int x
, int y
);
32 class SpectrogramWindow
: public BC_Window
35 SpectrogramWindow(Spectrogram
*plugin
, int x
, int y
);
38 void create_objects();
42 SpectrogramLevel
*level
;
50 PLUGIN_THREAD_HEADER(Spectrogram
, SpectrogramThread
, SpectrogramWindow
)
54 class SpectrogramFFT
: public CrossfadeFFT
57 SpectrogramFFT(Spectrogram
*plugin
);
61 int read_samples(int64_t output_sample
,
69 class SpectrogramConfig
77 class Spectrogram
: public PluginAClient
80 Spectrogram(PluginServer
*server
);
86 int process_buffer(int64_t size
,
88 int64_t start_position
,
93 void load_configuration();
96 void read_data(KeyFrame
*keyframe
);
97 void save_data(KeyFrame
*keyframe
);
99 void render_gui(void *data
, int size
);
105 int need_reconfigure
;
107 SpectrogramConfig config
;
108 SpectrogramThread
*thread
;