X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fscopewindow.h;h=86f9efa91155147d2c94fc6988057ace0dd9d21a;hb=6e880be00673eac08e9463e3ce752aaf4c18085b;hp=93ef7a8931b3143365f009f8032ae4d3379b16ff;hpb=e1e5dee5935f9f416a31014906a7e0dfacb10c02;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/scopewindow.h b/cinelerra-5.1/cinelerra/scopewindow.h index 93ef7a89..86f9efa9 100644 --- a/cinelerra-5.1/cinelerra/scopewindow.h +++ b/cinelerra-5.1/cinelerra/scopewindow.h @@ -22,6 +22,7 @@ #define SCOPEWINDOW_H +#include "boxblur.inc" #include "guicast.h" #include "loadbalance.h" #include "mwindow.h" @@ -161,22 +162,70 @@ public: ScopeScopesOn *vect_on; }; -class ScopeWaveDial : public BC_FPot + +class ScopeGainReset : public BC_Button { public: - ScopeWaveDial(ScopeGUI *gui, int x, int y); + ScopeGainReset(ScopeGain *gain, int x, int y); + static int calculate_w(BC_Theme *theme); int handle_event(); + + ScopeGain *gain; +}; + +class ScopeGainSlider : public BC_ISlider +{ +public: + ScopeGainSlider(ScopeGain *gain, int x, int y, int w); + + int handle_event(); + ScopeGain *gain; +}; + +class ScopeGain +{ +public: + ScopeGain(ScopeGUI *gui, int x, int y, int w, int *value); + ~ScopeGain(); + static int calculate_h(); + void create_objects(); + void reposition_window(int x, int y); + int handle_event(); + ScopeGUI *gui; + int x, y, w, *value; + int reset_w; + ScopeGainReset *reset; + ScopeGainSlider *slider; + + int get_x() { return x; } + int get_y() { return y; } + int get_w() { return w; } + int get_h() { return calculate_h(); } +}; + +class ScopeWaveSlider : public ScopeGain +{ +public: + ScopeWaveSlider(ScopeGUI *gui, int x, int y, int w); }; -class ScopeVectDial : public BC_FPot +class ScopeVectSlider : public ScopeGain { public: - ScopeVectDial(ScopeGUI *gui, int x, int y); + ScopeVectSlider(ScopeGUI *gui, int x, int y, int w); +}; + + +class ScopeSmooth : public BC_CheckBox +{ +public: + ScopeSmooth(ScopeGUI *gui, int x, int y); int handle_event(); ScopeGUI *gui; }; + class ScopeGUI : public PluginClientWindow { public: @@ -205,29 +254,32 @@ public: Theme *theme; VFrame *output_frame; + VFrame *data_frame, *temp_frame; ScopeEngine *engine; + BoxBlur *box_blur; VFrame *waveform_vframe; VFrame *vector_vframe; ScopeHistogram *histogram; ScopeWaveform *waveform; ScopeVectorscope *vectorscope; ScopeMenu *scope_menu; - ScopeWaveDial *wave_dial; - ScopeVectDial *vect_dial; + ScopeWaveSlider *wave_slider; + ScopeVectSlider *vect_slider; + ScopeSmooth *smooth; BC_Title *value_text; int x, y, w, h; int vector_x, vector_y, vector_w, vector_h; int wave_x, wave_y, wave_w, wave_h; int hist_x, hist_y, hist_w, hist_h; - float wdial, vdial; int cpus; int use_hist, use_wave, use_vector; int use_hist_parade, use_wave_parade; int bins[HIST_SECTIONS][TOTAL_BINS]; - int frame_w; + int frame_w, use_smooth; + int use_wave_gain, use_vect_gain; }; #endif