+ boost::shared_ptr<ARDOUR::PluginInsert> insert;
+ boost::shared_ptr<ARDOUR::Plugin> plugin;
+
+ /* UI elements that can subclasses can add to their widgets */
+
+ /** a ComboBoxText which lists presets and manages their selection */
+ ArdourDropdown _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 */
+ ArdourButton add_button;
+ /** a button to save the current settings as a new user preset */
+ ArdourButton save_button;
+ /** a button to delete the current preset (if it is a user one) */
+ ArdourButton delete_button;
+ /** a button to delete the reset the plugin params */
+ 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 */
+ Gtk::Expander description_expander;
+ /** an expander containing the plugin analysis graph */
+ Gtk::Expander plugin_analysis_expander;
+ /** a button which, when clicked, opens the latency GUI */
+ ArdourButton latency_button;
+ /** a button which sets all controls' automation setting to Manual */
+ 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 */
+ ArdourButton automation_write_all_button;
+ /** a button which sets all controls' automation setting to Touch */
+ ArdourButton automation_touch_all_button;
+
+ void set_latency_label ();
+
+ LatencyGUI* latency_gui;
+ ArdourWindow* latency_dialog;
+
+ PluginEqGui* eqgui;
+
+ Gtk::Image* focus_out_image;
+ Gtk::Image* focus_in_image;
+ int _no_load_preset;
+
+ virtual void preset_selected (ARDOUR::Plugin::PresetRecord preset);
+ void add_plugin_setting ();
+ 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 ();
+ void toggle_plugin_analysis ();
+ void processor_active_changed (boost::weak_ptr<ARDOUR::Processor> p);
+ void plugin_going_away ();
+ void automation_state_changed ();
+ void preset_added_or_removed ();
+ void update_preset_modified ();
+
+ PBD::ScopedConnection death_connection;
+ PBD::ScopedConnection active_connection;
+ PBD::ScopedConnection preset_added_connection;
+ PBD::ScopedConnection preset_removed_connection;
+ PBD::ScopedConnectionList control_connections;