1 #ifndef __PLUGINLV2GUI_H__
2 #define __PLUGINLV2GUI_H__
6 #include "pluginlv2gui.inc"
7 #include "pluginlv2ui.h"
8 #include "pluginaclient.h"
10 class PluginLV2ClientUI : public BC_GenericButton {
12 PluginLV2ClientWindow *gui;
14 PluginLV2ClientUI(PluginLV2ClientWindow *gui, int x, int y);
19 class PluginLV2ClientReset : public BC_GenericButton
22 PluginLV2ClientWindow *gui;
24 PluginLV2ClientReset(PluginLV2ClientWindow *gui, int x, int y);
25 ~PluginLV2ClientReset();
29 class PluginLV2ClientText : public BC_TextBox {
31 PluginLV2ClientWindow *gui;
33 PluginLV2ClientText(PluginLV2ClientWindow *gui, int x, int y, int w);
34 ~PluginLV2ClientText();
38 class PluginLV2ClientApply : public BC_GenericButton {
40 PluginLV2ClientWindow *gui;
42 PluginLV2ClientApply(PluginLV2ClientWindow *gui, int x, int y);
43 ~PluginLV2ClientApply();
47 class PluginLV2Client_OptPanel : public BC_ListBox
50 PluginLV2Client_OptPanel(PluginLV2ClientWindow *gui, int x, int y, int w, int h);
51 ~PluginLV2Client_OptPanel();
53 PluginLV2ClientWindow *gui;
54 ArrayList<BC_ListBoxItem*> items[2];
55 ArrayList<BC_ListBoxItem*> &opts;
56 ArrayList<BC_ListBoxItem*> &vals;
58 int selection_changed();
62 class PluginLV2ClientPot : public BC_FPot
65 PluginLV2ClientPot(PluginLV2ClientWindow *gui, int x, int y);
67 PluginLV2ClientWindow *gui;
70 class PluginLV2ClientSlider : public BC_FSlider
73 PluginLV2ClientSlider(PluginLV2ClientWindow *gui, int x, int y);
75 PluginLV2ClientWindow *gui;
78 class PluginLV2ClientWindow : public PluginClientWindow
81 PluginLV2ClientWindow(PluginLV2Client *client);
82 ~PluginLV2ClientWindow();
83 void done_event(int result);
85 void create_objects();
86 int resize_event(int w, int h);
87 void update_selected();
88 void update_selected(float v);
89 int scalar(float f, char *rp);
90 void update(PluginLV2Client_Opt *opt);
92 void lv2_update(float *vals);
94 void lv2_set(int idx, float val);
95 PluginLV2ParentUI *find_ui();
96 PluginLV2ParentUI *get_ui();
98 PluginLV2Client *client;
99 PluginLV2ClientUI *client_ui;
100 PluginLV2ClientReset *reset;
101 PluginLV2ClientApply *apply;
102 PluginLV2ClientPot *pot;
103 PluginLV2ClientSlider *slider;
104 PluginLV2ClientText *text;
105 BC_Title *varbl, *range;
106 PluginLV2Client_OptPanel *panel;
107 PluginLV2Client_Opt *selected;