Use a AutoSpin rather than a combo box for input
[ardour.git] / gtk2_ardour / plugin_ui.h
index 95be14ceeeae26d496701d079818970ba4286611..a966ed3024cd793af869fd2c329be239678dd1cc 100644 (file)
@@ -46,6 +46,7 @@
 #include <gtkmm/socket.h>
 
 #include "ardour/types.h"
+#include "ardour/plugin.h"
 
 #include "automation_controller.h"
 #include "ardour_button.h"
@@ -57,6 +58,7 @@ namespace ARDOUR {
        class LXVSTPlugin;
        class IOProcessor;
        class AUPlugin;
+       class Processor;
 }
 
 namespace PBD {
@@ -105,23 +107,35 @@ class PlugUIBase : public virtual sigc::trackable, public PBD::ScopedConnectionL
   protected:
        boost::shared_ptr<ARDOUR::PluginInsert> insert;
        boost::shared_ptr<ARDOUR::Plugin> plugin;
-       Gtk::HBox _preset_box;
+
+       /* UI elements that can subclasses can add to their widgets */
+
+       /** a ComboBoxText which lists presets and manages their selection */
        Gtk::ComboBoxText _preset_combo;
+       /** a label which has a * in if the current settings are different from the preset being shown */
        Gtk::Label _preset_modified;
+       /** a button to add a preset */
        Gtk::Button add_button;
+       /** a button to save the current settings as a new user preset */
        Gtk::Button save_button;
+       /** a button to delete the current preset (if it is a user one) */
        Gtk::Button delete_button;
+       /** a button to bypass the plugin */
        ArdourButton bypass_button;
+       /** a button to acquire keyboard focus */
        Gtk::EventBox focus_button;
-
+       /** an expander containing the plugin analysis graph */
+       Gtk::Expander plugin_analysis_expander;
+       /** a label indicating the plugin latency */
        Gtk::Label latency_label;
+       /** a button which, when clicked, opens the latency GUI */
        Gtk::Button latency_button;
+       
        void set_latency_label ();
 
        LatencyGUI* latency_gui;
        ArdourWindow* latency_dialog;
 
-       Gtk::Expander plugin_analysis_expander;
        PluginEqGui* eqgui;
        Gtk::Requisition pre_eq_size;
 
@@ -214,7 +228,7 @@ class GenericPluginUI : public PlugUIBase, public Gtk::VBox
                /* input */
 
                Gtk::ComboBoxText*                      combo;
-               boost::shared_ptr<ARDOUR::Plugin::ScalePoints> combo_map;
+               boost::shared_ptr<ARDOUR::Plugin::ScalePoints> scale_points;
                Gtk::ToggleButton*                      button;
                boost::shared_ptr<AutomationController> controller;
                Gtkmm2ext::ClickBox*                    clickbox;
@@ -255,7 +269,9 @@ class GenericPluginUI : public PlugUIBase, public Gtk::VBox
        void start_touch (ControlUI*);
        void stop_touch (ControlUI*);
 
+       /* XXX: remove */
        void print_parameter (char *buf, uint32_t len, uint32_t param);
+       bool integer_printer (char* buf, Gtk::Adjustment &, ControlUI *);
 };
 
 class PluginUIWindow : public Gtk::Window