summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2012-06-28 14:44:29 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2012-06-28 14:44:29 +0000
commit1708ab55b93fd81422c38bd199483788ad928d56 (patch)
tree9ff2ef84b9514ed395771faf9501e9341c164354 /libs
parent958c63bd186c23192f61b47de602abbd5b8d87f4 (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.cc5
-rw-r--r--libs/surfaces/generic_midi/midicontrollable.h3
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);