- uint32_t max_strips() const { return _max_strips; }
-
- /// map button ids to calls to press_ and release_ in mbh
- virtual void handle_button (MackieButtonHandler & mbh, ButtonState bs, Button & button);
+ SurfacePort& port() const { return *_port; }
+
+ const MidiByteArray& sysex_hdr() const;
+
+ void periodic ();
+
+ void handle_midi_pitchbend_message (MIDI::Parser&, MIDI::pitchbend_t, uint32_t channel_id);
+ void handle_midi_controller_message (MIDI::Parser&, MIDI::EventTwoBytes*);
+ void handle_midi_note_on_message (MIDI::Parser&, MIDI::EventTwoBytes*);
+
+ /// Connect the any signal from the parser to handle_midi_any
+ /// unless it's already connected
+ void connect_to_signals ();
+
+ /// notification from a MackiePort that it's now inactive
+ void handle_port_inactive(Mackie::SurfacePort *);
+
+ /// write a sysex message
+ void write_sysex (const MidiByteArray& mba);
+ void write_sysex (MIDI::byte msg);
+ /// proxy write for port
+ void write (const MidiByteArray&);