Credit User for Gain plugin mods + Andrew for Debian 12 bld fix
[goodguy/cinelerra.git] / cinelerra-5.1 / plugins / gain / gainwindow.h
index 603c9d361b0a5bb8408b8e1711197e7e3d9f6cf2..b773ecc795d5b0a116b1bc0090f791f33b5575c1 100644 (file)
 #define GAINWINDOW_H
 
 #define TOTAL_LOADS 5
+#define GAINLEVEL_MAX 40
 
 class GainThread;
 class GainWindow;
+class GainLevelText;
+class GainLevelSlider;
+class GainLevelClr;
 
 #include "filexml.h"
 #include "gain.h"
@@ -35,26 +39,52 @@ class GainWindow;
 
 
 
-class GainLevel;
-
 class GainWindow : public PluginClientWindow
 {
 public:
-       GainWindow(Gain *gain);
+       GainWindow(GainMain *plugin);
        ~GainWindow();
 
        void create_objects();
+        void update();
+
+       GainMain *plugin;
+       GainLevelText *level_text;
+       GainLevelSlider *level_slider;
+       GainLevelClr *level_clr;
+};
+
+class GainLevelText : public BC_TumbleTextBox
+{
+public:
+       GainLevelText(GainWindow *window, GainMain *plugin, int x, int y);
+       ~GainLevelText();
+       int handle_event();
 
-       Gain *gain;
-       GainLevel *level;
+       GainWindow *window;
+       GainMain *plugin;
 };
 
-class GainLevel : public BC_FSlider
+class GainLevelSlider : public BC_FSlider
 {
 public:
-       GainLevel(Gain *gain, int x, int y);
+       GainLevelSlider(GainWindow *window, GainMain *plugin, int x, int y);
+       ~GainLevelSlider();
        int handle_event();
-       Gain *gain;
+
+       GainWindow *window;
+       GainMain *plugin;
+};
+
+class GainLevelClr : public BC_Button
+{
+public:
+       GainLevelClr(GainWindow *window, GainMain *plugin, int x, int y);
+       ~GainLevelClr();
+       int handle_event();
+
+       GainWindow *window;
+       GainMain *plugin;
 };