19 #ifndef us2400_surface_h
20 #define us2400_surface_h
24 #include <sigc++/trackable.h>
56 class MackieButtonHandler;
58 class MackieMidiBuilder;
97 uint32_t
n_strips (
bool with_locked_strips =
true)
const;
104 typedef std::map<std::string,Group*>
Groups;
177 bool connection_handler (std::weak_ptr<ARDOUR::Port>, std::string name1, std::weak_ptr<ARDOUR::Port>, std::string name2,
bool);
std::vector< Control * > Controls
Strip * nth_strip(uint32_t n) const
std::map< int, Control * > controls_by_device_independent_id
void update_strip_selection()
void write(const MidiByteArray &)
proxy write for port
US2400Protocol & mcp() const
void handle_midi_sysex(MIDI::Parser &, MIDI::byte *, size_t count)
void master_gain_changed()
std::map< int, Pot * > pots
uint32_t n_strips(bool with_locked_strips=true) const
US2400::JogWheel * _jog_wheel
void master_monitor_may_have_changed()
void recalibrate_faders()
Surface(US2400Protocol &, const std::string &name, uint32_t number, surface_type_t stype)
void map_stripables(const std::vector< std::shared_ptr< ARDOUR::Stripable > > &)
bool connection_handler(std::weak_ptr< ARDOUR::Port >, std::string name1, std::weak_ptr< ARDOUR::Port >, std::string name2, bool)
std::map< int, Button * > buttons
XMLNode & get_state() const
bool stripable_is_mapped(std::shared_ptr< ARDOUR::Stripable >) const
float scrub_scaling_factor() const
void connect_to_signals()
std::map< int, Meter * > meters
bool stripable_is_locked_to_strip(std::shared_ptr< ARDOUR::Stripable >) const
void periodic(PBD::microseconds_t now_usecs)
std::vector< Strip * > Strips
The collection of all numbered strips.
void set_jog_mode(US2400::JogWheel::Mode)
float scaled_delta(float delta, float current_speed)
void display_bank_start(uint32_t)
display an indicator of the first switched-in Route. Do nothing by default.
PBD::ScopedConnection master_connection
std::map< int, Led * > leds
std::map< int, Fader * > faders
const std::string & name()
void redisplay(PBD::microseconds_t now_usecs, bool force)
void reset()
sends MCP "reset" message to surface
void notify_metering_state_changed()
const MidiByteArray & sysex_hdr() const
surface_type_t type() const
float _last_master_gain_written
MidiByteArray host_connection_confirmation(const MidiByteArray &bytes)
void subview_mode_changed()
void handle_midi_note_on_message(MIDI::Parser &, MIDI::EventTwoBytes *)
Fader * master_fader() const
void write_sysex(MIDI::byte msg)
SurfacePort & port() const
void zero_all()
called from US2400Protocol::zero_all to turn things off
void write_sysex(const MidiByteArray &mba)
write a sysex message
int set_state(const XMLNode &, int version)
void set_touch_sensitivity(int)
std::map< std::string, Group * > Groups
This collection owns the groups.
void init_strips(uint32_t n)
MidiByteArray host_connection_query(MidiByteArray &bytes)
void handle_midi_pitchbend_message(MIDI::Parser &, MIDI::pitchbend_t, uint32_t channel_id)
void handle_midi_controller_message(MIDI::Parser &, MIDI::EventTwoBytes *)
US2400::JogWheel * jog_wheel() const
unsigned short pitchbend_t