virtual void on_window_hide() {}
virtual void forward_key_event (GdkEventKey*) {}
- virtual bool non_gtk_gui() const { return false; }
+ virtual void grab_focus () {}
+ virtual bool non_gtk_gui() const { return false; }
sigc::signal<void,bool> KeyboardFocused;
Gtk::Label latency_label;
/** a button which, when clicked, opens the latency GUI */
Gtk::Button 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 ();
/* FIXME: Unify with AutomationController */
struct ControlUI : public Gtk::HBox {
- boost::shared_ptr<ARDOUR::AutomationControl> control;
+ const Evoral::Parameter parameter() const { return param; }
- Evoral::Parameter parameter() { return control->parameter(); }
+ Evoral::Parameter param;
+ boost::shared_ptr<ARDOUR::AutomationControl> control;
/* input */
Gtk::VBox* vbox;
MeterInfo* meterinfo;
- ControlUI ();
+ ControlUI (const Evoral::Parameter& param);
~ControlUI ();
};
std::vector<ControlUI*> input_controls;
+ std::vector<ControlUI*> input_controls_with_automation;
std::vector<ControlUI*> output_controls;
sigc::connection screen_update_connection;
void output_update();
void build ();
- ControlUI* build_control_ui (const ARDOUR::ParameterDescriptor& desc,
+ ControlUI* build_control_ui (const Evoral::Parameter& param,
+ const ARDOUR::ParameterDescriptor& desc,
boost::shared_ptr<ARDOUR::AutomationControl> mcontrol,
+ float value,
bool is_input);
void ui_parameter_changed (ControlUI* cui);
void astate_clicked (ControlUI*);
void automation_state_changed (ControlUI*);
void set_automation_state (ARDOUR::AutoState state, ControlUI* cui);
- void start_touch (ControlUI*);
- void stop_touch (ControlUI*);
+ void set_all_automation (ARDOUR::AutoState state);
/* XXX: remove */
void print_parameter (char *buf, uint32_t len, uint32_t param);