X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fplugins%2Freverb%2Freverbwindow.h;h=b4e3968a455abb940a18441ce15748c4575bd3f6;hp=cc7eb265b4d2b8b756adbb9a0b0158db111852be;hb=0e6cf5b52d1ebce9272270144bcf43df4683507e;hpb=f068b73c1d4afafbf6d86e7f5bc8f1c96b5366d3 diff --git a/cinelerra-5.1/plugins/reverb/reverbwindow.h b/cinelerra-5.1/plugins/reverb/reverbwindow.h index cc7eb265..b4e3968a 100644 --- a/cinelerra-5.1/plugins/reverb/reverbwindow.h +++ b/cinelerra-5.1/plugins/reverb/reverbwindow.h @@ -1,7 +1,7 @@ /* * CINELERRA - * Copyright (C) 2008 Adam Williams + * Copyright (C) 2008-2019 Adam Williams * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -16,33 +16,33 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * */ #ifndef REVERBWINDOW_H #define REVERBWINDOW_H -#define TOTAL_LOADS 5 +#define TOTAL_PARAMS 9 -class ReverbThread; class ReverbWindow; +class ReverbParam; +#include "eqcanvas.inc" #include "guicast.h" #include "mutex.h" #include "pluginclient.h" #include "reverb.inc" - class ReverbLevelInit; class ReverbDelayInit; class ReverbRefLevel1; class ReverbRefLevel2; class ReverbRefTotal; class ReverbRefLength; -class ReverbLowPass1; -class ReverbLowPass2; -class ReverbMenu; +class ReverbHigh; +class ReverbLow; +class ReverbQ; +class ReverbSize; class ReverbWindow : public PluginClientWindow { @@ -51,225 +51,183 @@ public: ~ReverbWindow(); void create_objects(); + void update(); + void update_canvas(); Reverb *reverb; - ReverbLevelInit *level_init; - ReverbDelayInit *delay_init; - ReverbRefLevel1 *ref_level1; - ReverbRefLevel2 *ref_level2; - ReverbRefTotal *ref_total; - ReverbRefLength *ref_length; - ReverbLowPass1 *lowpass1; - ReverbLowPass2 *lowpass2; - ReverbMenu *menu; -}; -class ReverbLevelInit : public BC_FPot -{ -public: - ReverbLevelInit(Reverb *reverb, int x, int y); - ~ReverbLevelInit(); - int handle_event(); - Reverb *reverb; -}; + ReverbParam *params[TOTAL_PARAMS]; -class ReverbDelayInit : public BC_IPot -{ -public: - ReverbDelayInit(Reverb *reverb, int x, int y); - ~ReverbDelayInit(); - int handle_event(); - Reverb *reverb; + ReverbParam *level_init; + ReverbParam *delay_init; + ReverbParam *ref_level1; + ReverbParam *ref_level2; + ReverbParam *ref_total; + ReverbParam *ref_length; + ReverbParam *high; + ReverbParam *low; + ReverbParam *q; + EQCanvas *canvas; + ReverbSize *size; }; -class ReverbRefLevel1 : public BC_FPot +class ReverbSize : public BC_PopupMenu { public: - ReverbRefLevel1(Reverb *reverb, int x, int y); - ~ReverbRefLevel1(); + ReverbSize(ReverbWindow *window, Reverb *plugin, int x, int y); + int handle_event(); - Reverb *reverb; + void create_objects(); // add initial items + void update(int size); + + ReverbWindow *window; + Reverb *plugin; }; -class ReverbRefLevel2 : public BC_FPot + +class ReverbFPot : public BC_FPot { public: - ReverbRefLevel2(Reverb *reverb, int x, int y); - ~ReverbRefLevel2(); + ReverbFPot(ReverbParam *param, int x, int y); int handle_event(); - Reverb *reverb; + ReverbParam *param; }; -class ReverbRefTotal : public BC_IPot +class ReverbIPot : public BC_IPot { public: - ReverbRefTotal(Reverb *reverb, int x, int y); - ~ReverbRefTotal(); + ReverbIPot(ReverbParam *param, int x, int y); int handle_event(); - Reverb *reverb; + ReverbParam *param; }; -class ReverbRefLength : public BC_IPot +class ReverbQPot : public BC_QPot { public: - ReverbRefLength(Reverb *reverb, int x, int y); - ~ReverbRefLength(); + ReverbQPot(ReverbParam *param, int x, int y); int handle_event(); - Reverb *reverb; + ReverbParam *param; }; -class ReverbLowPass1 : public BC_QPot +class ReverbText : public BC_TextBox { public: - ReverbLowPass1(Reverb *reverb, int x, int y); - ~ReverbLowPass1(); + ReverbText(ReverbParam *param, int x, int y, int w, int value); + ReverbText(ReverbParam *param, int x, int y, int w, float value); int handle_event(); - Reverb *reverb; + ReverbParam *param; }; -class ReverbLowPass2 : public BC_QPot +class ReverbParam { public: - ReverbLowPass2(Reverb *reverb, int x, int y); - ~ReverbLowPass2(); - int handle_event(); - Reverb *reverb; -}; + ReverbParam(Reverb *reverb, ReverbWindow *gui, + int x, int x2, int x3, int y, int text_w, + int *output_i, + float *output_f, // floating point output + int *output_q, // frequency output + const char *title, float min, float max); + ~ReverbParam(); + void initialize(); + void update(int skip_text, int skip_pot); -class ReverbLoad; -class ReverbSave; -class ReverbSetDefault; -class ReverbLoadPrev; -class ReverbLoadPrevThread; + float *output_f; + ReverbFPot *fpot; + int *output_i; + ReverbIPot *ipot; + int *output_q; + ReverbQPot *qpot; -class ReverbMenu : public BC_MenuBar -{ -public: - ReverbMenu(Reverb *reverb, ReverbWindow *window); - ~ReverbMenu(); - - void create_objects(BC_Hash *defaults); - int load_defaults(BC_Hash *defaults); - int save_defaults(BC_Hash *defaults); -// most recent loads - int add_load(char *path); - ReverbLoadPrevThread *prev_load_thread; - - int total_loads; - BC_Menu *filemenu; - ReverbWindow *window; + char *title; + ReverbText *text; + ReverbWindow *gui; Reverb *reverb; - ReverbLoad *load; - ReverbSave *save; - ReverbSetDefault *set_default; - ReverbLoadPrev *prev_load[TOTAL_LOADS]; + int x, y; + int x2, x3, text_w; + float min, max; }; -class ReverbSaveThread; -class ReverbLoadThread; -class ReverbLoad : public BC_MenuItem +class ReverbLevelInit : public BC_FPot { public: - ReverbLoad(Reverb *reverb, ReverbMenu *menu); - ~ReverbLoad(); + ReverbLevelInit(Reverb *reverb, int x, int y); + ~ReverbLevelInit(); int handle_event(); Reverb *reverb; - ReverbLoadThread *thread; - ReverbMenu *menu; }; -class ReverbSave : public BC_MenuItem +class ReverbDelayInit : public BC_IPot { public: - ReverbSave(Reverb *reverb, ReverbMenu *menu); - ~ReverbSave(); + ReverbDelayInit(Reverb *reverb, int x, int y); + ~ReverbDelayInit(); int handle_event(); Reverb *reverb; - ReverbSaveThread *thread; - ReverbMenu *menu; }; -class ReverbSetDefault : public BC_MenuItem +class ReverbRefLevel1 : public BC_FPot { public: - ReverbSetDefault(); + ReverbRefLevel1(Reverb *reverb, int x, int y); + ~ReverbRefLevel1(); int handle_event(); + Reverb *reverb; }; -class ReverbLoadPrev : public BC_MenuItem +class ReverbRefLevel2 : public BC_FPot { public: - ReverbLoadPrev(Reverb *reverb, ReverbMenu *menu, char *filename, char *path); - ReverbLoadPrev(Reverb *reverb, ReverbMenu *menu); + ReverbRefLevel2(Reverb *reverb, int x, int y); + ~ReverbRefLevel2(); int handle_event(); - int set_path(char *path); - char path[1024]; Reverb *reverb; - ReverbMenu *menu; }; - -class ReverbLoadPrevThread : public Thread +class ReverbRefTotal : public BC_IPot { public: - ReverbLoadPrevThread(Reverb *reverb, ReverbMenu *menu); - ~ReverbLoadPrevThread(); - void run(); - int set_path(char *path); - char path[1024]; + ReverbRefTotal(Reverb *reverb, int x, int y); + ~ReverbRefTotal(); + int handle_event(); Reverb *reverb; - ReverbMenu *menu; }; - - -class ReverbSaveThread : public Thread +class ReverbRefLength : public BC_IPot { public: - ReverbSaveThread(Reverb *reverb, ReverbMenu *menu); - ~ReverbSaveThread(); - void run(); + ReverbRefLength(Reverb *reverb, int x, int y); + ~ReverbRefLength(); + int handle_event(); Reverb *reverb; - ReverbMenu *menu; }; -class ReverbSaveDialog : public BC_FileBox +class ReverbHigh : public BC_QPot { public: - ReverbSaveDialog(Reverb *reverb); - ~ReverbSaveDialog(); - - int ok_event(); - int cancel_event(); + ReverbHigh(Reverb *reverb, int x, int y); + ~ReverbHigh(); + int handle_event(); Reverb *reverb; }; - -class ReverbLoadThread : public Thread +class ReverbLow : public BC_QPot { public: - ReverbLoadThread(Reverb *reverb, ReverbMenu *menu); - ~ReverbLoadThread(); - void run(); + ReverbLow(Reverb *reverb, int x, int y); + ~ReverbLow(); + int handle_event(); Reverb *reverb; - ReverbMenu *menu; }; -class ReverbLoadDialog : public BC_FileBox +class ReverbQ: public BC_QPot { public: - ReverbLoadDialog(Reverb *reverb); - ~ReverbLoadDialog(); - - int ok_event(); - int cancel_event(); + ReverbQ(Reverb *reverb, int x, int y); + ~ReverbQ(); + int handle_event(); Reverb *reverb; }; - - - - #endif