NO-OP whitespace (updated GH PR #357)
[ardour.git] / gtk2_ardour / plugin_ui.h
index 001054bae9b8b7639e55f111a26c797042f1bd0e..042a2404a263aef45efa177ad10ee0299d1fc88d 100644 (file)
@@ -79,6 +79,7 @@ namespace Gtkmm2ext {
 class LatencyGUI;
 class ArdourWindow;
 class PluginEqGui;
+class VSTPluginUI;
 
 class PlugUIBase : public virtual sigc::trackable, public PBD::ScopedConnectionList
 {
@@ -129,6 +130,8 @@ class PlugUIBase : public virtual sigc::trackable, public PBD::ScopedConnectionL
        ArdourButton reset_button;
        /** a button to bypass the plugin */
        ArdourButton bypass_button;
+       /** and self-explaining button :) */
+       ArdourButton pin_management_button;
        /** a button to acquire keyboard focus */
        Gtk::EventBox focus_button;
        /** an expander containing the plugin description */
@@ -141,7 +144,7 @@ class PlugUIBase : public virtual sigc::trackable, public PBD::ScopedConnectionL
        ArdourButton automation_manual_all_button;
        /** a button which sets all controls' automation setting to Play */
        ArdourButton automation_play_all_button;
-    /** a button which sets all controls' automation setting to Write */
+       /** a button which sets all controls' automation setting to Write */
        ArdourButton automation_write_all_button;
        /** a button which sets all controls' automation setting to Touch */
        ArdourButton automation_touch_all_button;
@@ -162,6 +165,7 @@ class PlugUIBase : public virtual sigc::trackable, public PBD::ScopedConnectionL
        void save_plugin_setting ();
        void delete_plugin_setting ();
        void reset_plugin_parameters ();
+       void manage_pins ();
        bool focus_toggled(GdkEventButton*);
        bool bypass_button_release(GdkEventButton*);
        void toggle_description ();
@@ -202,20 +206,11 @@ class GenericPluginUI : public PlugUIBase, public Gtk::VBox
 
        struct MeterInfo {
                Gtkmm2ext::FastMeter *meter;
-
-               float           min;
-               float           max;
-               bool            min_unbound;
-               bool            max_unbound;
                bool packed;
 
                MeterInfo () {
                        meter = 0;
                        packed = false;
-                       min = 1.0e10;
-                       max = -1.0e10;
-                       min_unbound = false;
-                       max_unbound = false;
                }
        };
 
@@ -260,7 +255,7 @@ class GenericPluginUI : public PlugUIBase, public Gtk::VBox
                int x0, x1, y0, y1;
        };
 
-       std::vector<ControlUI*>   input_controls;
+       std::vector<ControlUI*>   input_controls; // workaround for preset load
        std::vector<ControlUI*>   input_controls_with_automation;
        std::vector<ControlUI*>   output_controls;
 
@@ -281,13 +276,16 @@ class GenericPluginUI : public PlugUIBase, public Gtk::VBox
 
        void ui_parameter_changed (ControlUI* cui);
        void update_control_display (ControlUI* cui);
+       void update_input_displays (); // workaround for preset load
        void control_combo_changed (ControlUI* cui, float value);
 
-       void astate_clicked (ControlUI*);
+       bool astate_button_event (GdkEventButton* ev, ControlUI*);
        void automation_state_changed (ControlUI*);
        void set_automation_state (ARDOUR::AutoState state, ControlUI* cui);
        void set_all_automation (ARDOUR::AutoState state);
 
+       void knob_size_request(Gtk::Requisition* req, ControlUI* cui);
+
        /* XXX: remove */
        void print_parameter (char *buf, uint32_t len, uint32_t param);
        bool integer_printer (char* buf, Gtk::Adjustment &, ControlUI *);
@@ -330,8 +328,8 @@ class PluginUIWindow : public ArdourWindow
        bool was_visible;
        bool _keyboard_focused;
 #ifdef AUDIOUNIT_SUPPORT
-        int pre_deactivate_x;
-        int pre_deactivate_y;
+       int pre_deactivate_x;
+       int pre_deactivate_y;
 #endif
 
        void keyboard_focused (bool yn);
@@ -341,10 +339,18 @@ class PluginUIWindow : public ArdourWindow
 
        bool create_windows_vst_editor (boost::shared_ptr<ARDOUR::PluginInsert>);
        bool create_lxvst_editor(boost::shared_ptr<ARDOUR::PluginInsert>);
+       bool create_mac_vst_editor(boost::shared_ptr<ARDOUR::PluginInsert>);
        bool create_audiounit_editor (boost::shared_ptr<ARDOUR::PluginInsert>);
        bool create_lv2_editor (boost::shared_ptr<ARDOUR::PluginInsert>);
 };
 
+#ifdef MACVST_SUPPORT
+/* this function has to be in a .mm file
+ * because MacVSTPluginUI has Cocoa members
+ */
+extern VSTPluginUI* create_mac_vst_gui (boost::shared_ptr<ARDOUR::PluginInsert>);
+#endif
+
 #ifdef AUDIOUNIT_SUPPORT
 /* this function has to be in a .mm file */
 extern PlugUIBase* create_au_gui (boost::shared_ptr<ARDOUR::PluginInsert>, Gtk::VBox**);