diff options
author | David Robillard <d@drobilla.net> | 2014-12-02 03:36:33 -0500 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2014-12-02 03:36:33 -0500 |
commit | cf47d71761ec5b7539a4dce493e711387f442e43 (patch) | |
tree | 5a2f200c22019642bfa8612592a7a8fc8be7ea1a /libs/ardour/event_type_map.cc | |
parent | 07a381a8f5572ae7550c60e5b1bd18c3dcdc7369 (diff) |
Fix lost MIDI events due to broken range check.
Diffstat (limited to 'libs/ardour/event_type_map.cc')
-rw-r--r-- | libs/ardour/event_type_map.cc | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/libs/ardour/event_type_map.cc b/libs/ardour/event_type_map.cc index 14f609bd8a..f818b30172 100644 --- a/libs/ardour/event_type_map.cc +++ b/libs/ardour/event_type_map.cc @@ -22,6 +22,7 @@ #include <cstdio> #include "ardour/types.h" #include "ardour/event_type_map.h" +#include "ardour/parameter_descriptor.h" #include "ardour/parameter_types.h" #include "ardour/uri_map.h" #include "evoral/Parameter.hpp" @@ -243,13 +244,17 @@ EventTypeMap::to_symbol(const Evoral::Parameter& param) const } } -const Evoral::ParameterDescriptor& +Evoral::ParameterDescriptor EventTypeMap::descriptor(const Evoral::Parameter& param) const { - static const Evoral::ParameterDescriptor nil; - + // Found an existing (perhaps custom) descriptor Descriptors::const_iterator d = _descriptors.find(param); - return (d != _descriptors.end()) ? d->second : nil; + if (d != _descriptors.end()) { + return d->second; + } + + // Add default descriptor and return that + return ARDOUR::ParameterDescriptor(param); } void |