X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fplugin_ui.h;h=ad800e284dd7f9b3c5ca3f945027a340403ba16d;hb=caae0546a76eb8c41701b92ba52ac0c6f199d79e;hp=d534a99d707126aefc3ab873086c869dabb5e01d;hpb=67cbdc6cf2dd03303a9a257096da7708aad085cb;p=ardour.git diff --git a/gtk2_ardour/plugin_ui.h b/gtk2_ardour/plugin_ui.h index d534a99d70..ad800e284d 100644 --- a/gtk2_ardour/plugin_ui.h +++ b/gtk2_ardour/plugin_ui.h @@ -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 */ @@ -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 (); @@ -284,11 +288,13 @@ class GenericPluginUI : public PlugUIBase, public Gtk::VBox 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 *); @@ -342,10 +348,18 @@ class PluginUIWindow : public ArdourWindow bool create_windows_vst_editor (boost::shared_ptr); bool create_lxvst_editor(boost::shared_ptr); + bool create_mac_vst_editor(boost::shared_ptr); bool create_audiounit_editor (boost::shared_ptr); bool create_lv2_editor (boost::shared_ptr); }; +#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); +#endif + #ifdef AUDIOUNIT_SUPPORT /* this function has to be in a .mm file */ extern PlugUIBase* create_au_gui (boost::shared_ptr, Gtk::VBox**);