From afabc09fbf97ea8fafb2cb8b54a8d67a45df49fb Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Fri, 13 Dec 2013 16:56:34 -0500 Subject: change Generic MIDI control so that it handles a SendFeedback request synchronously within a process callback --- libs/surfaces/generic_midi/generic_midi_control_protocol.cc | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/libs/surfaces/generic_midi/generic_midi_control_protocol.cc b/libs/surfaces/generic_midi/generic_midi_control_protocol.cc index ba1858a174..9d45a1c890 100644 --- a/libs/surfaces/generic_midi/generic_midi_control_protocol.cc +++ b/libs/surfaces/generic_midi/generic_midi_control_protocol.cc @@ -80,16 +80,14 @@ GenericMidiControlProtocol::GenericMidiControlProtocol (Session& s) Controllable::CreateBinding.connect_same_thread (*this, boost::bind (&GenericMidiControlProtocol::create_binding, this, _1, _2, _3)); Controllable::DeleteBinding.connect_same_thread (*this, boost::bind (&GenericMidiControlProtocol::delete_binding, this, _1)); - Session::SendFeedback.connect (*this, MISSING_INVALIDATOR, boost::bind (&GenericMidiControlProtocol::send_feedback, this), midi_ui_context());; -#if 0 - /* XXXX SOMETHING GOES WRONG HERE (april 2012) - STILL DEBUGGING */ /* this signal is emitted by the process() callback, and if * send_feedback() is going to do anything, it should do it in the * context of the process() callback itself. */ Session::SendFeedback.connect_same_thread (*this, boost::bind (&GenericMidiControlProtocol::send_feedback, this)); -#endif + //Session::SendFeedback.connect (*this, MISSING_INVALIDATOR, boost::bind (&GenericMidiControlProtocol::send_feedback, this), midi_ui_context());; + /* this one is cross-thread */ Route::RemoteControlIDChange.connect (*this, MISSING_INVALIDATOR, boost::bind (&GenericMidiControlProtocol::reset_controllables, this), midi_ui_context()); -- cgit v1.2.3