20 #ifndef __ardour_plugin_ui_h__
21 #define __ardour_plugin_ui_h__
24 #include "gtk2ardour-config.h"
31 #include <sigc++/signal.h>
33 #include <gtkmm/button.h>
34 #include <gtkmm/box.h>
35 #include <gtkmm/table.h>
36 #include <gtkmm/eventbox.h>
37 #include <gtkmm/viewport.h>
38 #include <gtkmm/scrolledwindow.h>
39 #include <gtkmm/label.h>
40 #include <gtkmm/menu.h>
41 #include <gtkmm/image.h>
42 #include <gtkmm/adjustment.h>
43 #include <gtkmm/togglebutton.h>
44 #include <gtkmm/socket.h>
45 #include <gtkmm/comboboxtext.h>
46 #include <gtkmm/socket.h>
60 class WindowsVSTPlugin;
72 class HSliderController;
302 Gtk::FileChooserButton* widget);
313 bool scrollable=
false,
321 void set_title(
const std::string& title);
337 #ifdef AUDIOUNIT_SUPPORT
338 int pre_deactivate_x;
339 int pre_deactivate_y;
353 #ifdef AUDIOUNIT_SUPPORT
void set_automation_state(ARDOUR::AutoState state, ControlUI *cui)
bool integer_printer(char *buf, Gtk::Adjustment &, ControlUI *)
PlugUIBase * create_au_gui(boost::shared_ptr< PluginInsert > plugin_insert, VBox **box)
void set_parent(Gtk::Window *)
const Evoral::Parameter parameter() const
bool stop_updating(GdkEventAny *)
void toggle_description()
std::vector< ControlUI * > output_controls
sigc::signal< void, bool > KeyboardFocused
void update_control_display(ControlUI *cui)
virtual void deactivate()
PluginUIWindow(boost::shared_ptr< ARDOUR::PluginInsert > insert, bool scrollable=false, bool editor=true)
Gtk::Image * focus_in_image
void ui_parameter_changed(ControlUI *cui)
void latency_button_clicked()
ArdourDropdown _preset_combo
void preset_added_or_removed()
Gtkmm2ext::FastMeter * meter
void print_parameter(char *buf, uint32_t len, uint32_t param)
virtual bool non_gtk_gui() const
void astate_clicked(ControlUI *)
virtual bool start_updating(GdkEventAny *)=0
void update_preset_modified()
ArdourButton delete_button
void automation_state_changed()
static const int32_t initial_button_rows
boost::shared_ptr< ARDOUR::PluginInsert > insert
ArdourButton latency_button
static const int32_t initial_output_rows
virtual void grab_focus()
Gtk::ComboBoxText * combo
std::map< uint32_t, Gtk::FileChooserButton * > PropertyControls
Gtk::FileChooserButton * file_button
ArdourButton bypass_button
void processor_active_changed(boost::weak_ptr< ARDOUR::Processor > p)
Gtk::ScrolledWindow scroller
PBD::ScopedConnectionList control_connections
Gtk::Requisition pre_eq_size
PBD::ScopedConnection preset_removed_connection
void control_combo_changed(ControlUI *cui)
virtual gint get_preferred_height()=0
void save_plugin_setting()
bool create_lv2_editor(boost::shared_ptr< ARDOUR::PluginInsert >)
gint get_preferred_width()
Gtk::Expander description_expander
bool bypass_button_release(GdkEventButton *)
virtual void forward_key_event(GdkEventKey *)
std::vector< ControlUI * > input_controls
bool create_windows_vst_editor(boost::shared_ptr< ARDOUR::PluginInsert >)
Gtk::Expander plugin_analysis_expander
void control_port_toggled(ControlUI *cui)
bool on_key_release_event(GdkEventKey *)
PBD::ScopedConnection preset_added_connection
Gtk::EventBox focus_button
virtual bool stop_updating(GdkEventAny *)=0
void set_property(const ARDOUR::ParameterDescriptor &desc, Gtk::FileChooserButton *widget)
Gtkmm2ext::ClickBox * clickbox
Gtk::ToggleButton * button
Gtk::Viewport scroller_view
virtual bool on_window_show(const std::string &)
ArdourButton automation_write_all_button
boost::shared_ptr< ARDOUR::AutomationControl > control
boost::shared_ptr< ARDOUR::ScalePoints > scale_points
Gtk::Image * focus_out_image
void add_plugin_setting()
Gtk::Adjustment hAdjustment
PBD::ScopedConnection death_connection
Gtk::Button automate_button
void set_title(const std::string &title)
bool create_audiounit_editor(boost::shared_ptr< ARDOUR::PluginInsert >)
ControlUI * build_control_ui(const Evoral::Parameter ¶m, const ARDOUR::ParameterDescriptor &desc, boost::shared_ptr< ARDOUR::AutomationControl > mcontrol, float value, bool is_input)
void toggle_parameter_changed(ControlUI *cui)
ArdourButton automation_manual_all_button
void keyboard_focused(bool yn)
static const int32_t initial_output_cols
boost::shared_ptr< AutomationController > controller
PBD::ScopedConnection active_connection
bool focus_toggled(GdkEventButton *)
void property_changed(uint32_t key, const ARDOUR::Variant &value)
ArdourButton automation_touch_all_button
PBD::ScopedConnection death_connection
bool create_lxvst_editor(boost::shared_ptr< ARDOUR::PluginInsert >)
virtual gint get_preferred_width()=0
Gtk::Menu * automation_menu
Gtk::Adjustment vAdjustment
void update_preset_list()
GenericPluginUI(boost::shared_ptr< ARDOUR::PluginInsert > plug, bool scrollable=false)
void delete_plugin_setting()
PropertyControls _property_controls
boost::shared_ptr< ARDOUR::Plugin > plugin
virtual void on_window_hide()
void toggle_plugin_analysis()
Gtk::Label _preset_modified
virtual void parameter_changed(uint32_t, float)
gint get_preferred_height()
ArdourWindow * latency_dialog
Gtk::Label * display_label
bool start_updating(GdkEventAny *)
std::vector< ControlUI * > input_controls_with_automation
ArdourButton automation_play_all_button
ArdourButton reset_button
sigc::connection screen_update_connection
bool on_key_press_event(GdkEventKey *)
bool midinote_printer(char *buf, Gtk::Adjustment &, ControlUI *)
PlugUIBase(boost::shared_ptr< ARDOUR::PluginInsert >)
virtual void preset_selected(ARDOUR::Plugin::PresetRecord preset)
void reset_plugin_parameters()
ControlUI(const Evoral::Parameter ¶m)
void set_all_automation(ARDOUR::AutoState state)
static const int32_t initial_button_cols