From 45e34085951c78b782f0ee342180eaec139da921 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Tue, 4 Jul 2023 12:32:40 -0600 Subject: [PATCH] minor tweak to MIDISurface API Allows connecting additional ports to our parsers --- libs/ctrl-interface/midi_surface/midi_surface.cc | 10 ++++++++-- .../midi_surface/midi_surface/midi_surface.h | 1 + 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/libs/ctrl-interface/midi_surface/midi_surface.cc b/libs/ctrl-interface/midi_surface/midi_surface.cc index 9fe93fb555..b1ab9d0b8d 100644 --- a/libs/ctrl-interface/midi_surface/midi_surface.cc +++ b/libs/ctrl-interface/midi_surface/midi_surface.cc @@ -301,9 +301,15 @@ MIDISurface::midi_input_handler (IOCondition ioc, MIDI::Port* port) void MIDISurface::connect_to_parser () { - DEBUG_TRACE (DEBUG::MIDISurface, string_compose ("Connecting to signals on port %2\n", _input_port->name())); + connect_to_port_parser (*_input_port); +} - MIDI::Parser* p = _input_port->parser(); +void +MIDISurface::connect_to_port_parser (MIDI::Port& port) +{ + DEBUG_TRACE (DEBUG::MIDISurface, string_compose ("Connecting to signals on port %1\n", port.name())); + + MIDI::Parser* p = port.parser(); /* Incoming sysex */ p->sysex.connect_same_thread (*this, boost::bind (&MIDISurface::handle_midi_sysex, this, _1, _2, _3)); diff --git a/libs/ctrl-interface/midi_surface/midi_surface/midi_surface.h b/libs/ctrl-interface/midi_surface/midi_surface/midi_surface.h index 9c0ba24335..ccabebcd9f 100644 --- a/libs/ctrl-interface/midi_surface/midi_surface/midi_surface.h +++ b/libs/ctrl-interface/midi_surface/midi_surface/midi_surface.h @@ -86,6 +86,7 @@ class MIDISurface : public ARDOUR::ControlProtocol void do_request (MidiSurfaceRequest*); virtual void connect_to_parser (); + virtual void connect_to_port_parser (MIDI::Port&); virtual void handle_midi_pitchbend_message (MIDI::Parser&, MIDI::pitchbend_t) {} virtual void handle_midi_polypressure_message (MIDI::Parser&, MIDI::EventTwoBytes*) {} virtual void handle_midi_controller_message (MIDI::Parser&, MIDI::EventTwoBytes*) {}