class LatencyGUI;
class ArdourWindow;
class PluginEqGui;
+class VSTPluginUI;
class PlugUIBase : public virtual sigc::trackable, public PBD::ScopedConnectionList
{
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 */
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;
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 ();
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;
}
};
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;
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 *);
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);
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**);