diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2012-06-28 14:44:29 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2012-06-28 14:44:29 +0000 |
commit | 1708ab55b93fd81422c38bd199483788ad928d56 (patch) | |
tree | 9ff2ef84b9514ed395771faf9501e9341c164354 /libs | |
parent | 958c63bd186c23192f61b47de602abbd5b8d87f4 (diff) |
fix MIDI binding stuff when the controllable does actually exist the first time we go looking for it (#4950)
git-svn-id: svn://localhost/ardour2/branches/3.0@12957 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r-- | libs/surfaces/generic_midi/generic_midi_control_protocol.cc | 5 | ||||
-rw-r--r-- | libs/surfaces/generic_midi/midicontrollable.h | 3 |
2 files changed, 3 insertions, 5 deletions
diff --git a/libs/surfaces/generic_midi/generic_midi_control_protocol.cc b/libs/surfaces/generic_midi/generic_midi_control_protocol.cc index 05883b99be..25b8d5db85 100644 --- a/libs/surfaces/generic_midi/generic_midi_control_protocol.cc +++ b/libs/surfaces/generic_midi/generic_midi_control_protocol.cc @@ -778,10 +778,7 @@ GenericMidiControlProtocol::reset_controllables () * binding" (or "lazy binding") if/when any data arrives. */ - boost::shared_ptr<Controllable> c = session->controllable_by_descriptor (desc); - if (c) { - existingBinding->set_controllable (c.get()); - } + existingBinding->lookup_controllable (); } iter = next; diff --git a/libs/surfaces/generic_midi/midicontrollable.h b/libs/surfaces/generic_midi/midicontrollable.h index ff4411a9ca..dd9dc988b4 100644 --- a/libs/surfaces/generic_midi/midicontrollable.h +++ b/libs/surfaces/generic_midi/midicontrollable.h @@ -88,6 +88,8 @@ class MIDIControllable : public PBD::Stateful MIDI::channel_t get_control_channel () { return control_channel; } MIDI::eventType get_control_type () { return control_type; } MIDI::byte get_control_additional () { return control_additional; } + + int lookup_controllable(); private: @@ -118,7 +120,6 @@ class MIDIControllable : public PBD::Stateful std::string _what; bool _bank_relative; - int lookup_controllable(); void drop_controllable(); void midi_receiver (MIDI::Parser &p, MIDI::byte *, size_t); |