#include "control_group.h"
#include "types.h"
+#include "mackie_control_protocol.h"
#include "midi_byte_array.h"
#include "device_info.h"
void set_route (boost::shared_ptr<ARDOUR::Route>, bool with_messages = true);
// call all signal handlers manually
- void notify_all();
+ void notify_all ();
void handle_button (Button&, ButtonState bs);
void handle_fader (Fader&, float position);
void zero ();
- void flip_mode_changed (bool notify=false);
void potmode_changed (bool notify=false);
+ void subview_mode_changed ();
void lock_controls ();
void unlock_controls ();
uint64_t _block_screen_redisplay_until;
boost::shared_ptr<ARDOUR::Route> _route;
PBD::ScopedConnectionList route_connections;
+ PBD::ScopedConnectionList subview_connections;
+ PBD::ScopedConnectionList send_connections;
- int _pan_mode;
+ ARDOUR::AutomationType _pan_mode;
+ ARDOUR::AutomationType _trim_mode;
+ ARDOUR::AutomationType vpot_parameter;
float _last_gain_position_written;
float _last_pan_azi_position_written;
float _last_pan_width_position_written;
float _last_trim_position_written;
+ uint32_t _current_send;
void notify_solo_changed ();
void notify_mute_changed ();
void notify_active_changed ();
void notify_route_deleted ();
void notify_trim_changed (bool force_update = true);
-
+ void notify_phase_changed (bool force_update = true);
+ void notify_processor_changed (bool force_update = true);
void update_automation ();
void update_meter ();
+ std::string vpot_mode_string ();
- std::string vpot_mode_string () const;
+ boost::shared_ptr<ARDOUR::AutomationControl> mb_pan_controllable;
void return_to_vpot_mode_display ();
void do_parameter_display (ARDOUR::AutomationType, float val);
void queue_parameter_display (ARDOUR::AutomationType, float val);
- typedef std::map<std::string,boost::shared_ptr<ARDOUR::Bundle> > BundleMap;
- BundleMap input_bundles;
- BundleMap output_bundles;
-
- void build_input_list (const ARDOUR::ChanCount&);
- void build_output_list (const ARDOUR::ChanCount&);
- void maybe_add_to_bundle_map (BundleMap& bm, boost::shared_ptr<ARDOUR::Bundle>, bool for_input, const ARDOUR::ChanCount&);
-
void select_event (Button&, ButtonState);
void vselect_event (Button&, ButtonState);
void fader_touch_event (Button&, ButtonState);
std::vector<Evoral::Parameter> possible_pot_parameters;
+ std::vector<Evoral::Parameter> possible_trim_parameters;
void next_pot_mode ();
void set_vpot_parameter (Evoral::Parameter);
void show_route_name ();
void reset_saved_values ();
- std::map<Evoral::Parameter,Control*> control_by_parameter;
+ bool is_midi_track () const;
+
+ typedef std::map<Evoral::Parameter,Control*> ControlParameterMap;
+ ControlParameterMap control_by_parameter;
+
+ void hookup_eq (ARDOUR::AutomationType, uint32_t);
+ void notify_eq_change (ARDOUR::AutomationType, uint32_t, bool force);
};
}