summaryrefslogtreecommitdiff
path: root/libs/ardour/midi_source.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2018-02-23 14:56:58 -0500
committerPaul Davis <paul@linuxaudiosystems.com>2018-02-23 14:57:04 -0500
commit2afc311f098217d3a86bd434996d45d3324b477c (patch)
tree1e1a5da9ff81efaad363d43a3c5eb28e070c0b0d /libs/ardour/midi_source.cc
parenta23a8ebcad7ff5e362f27d6d742c6fe1dfe6ddcd (diff)
catch (incorrect) inclusion of non-MIDI related automation parameters in MidiSource XML nodes
Diffstat (limited to 'libs/ardour/midi_source.cc')
-rw-r--r--libs/ardour/midi_source.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/libs/ardour/midi_source.cc b/libs/ardour/midi_source.cc
index d7bc4d333e..18efd4e9ea 100644
--- a/libs/ardour/midi_source.cc
+++ b/libs/ardour/midi_source.cc
@@ -123,6 +123,20 @@ MidiSource::set_state (const XMLNode& node, int /*version*/)
}
Evoral::Parameter p = EventTypeMap::instance().from_symbol (str);
+ switch (p.type()) {
+ case MidiCCAutomation:
+ case MidiPgmChangeAutomation: break;
+ case MidiChannelPressureAutomation: break;
+ case MidiNotePressureAutomation: break;
+ case MidiPitchBenderAutomation: break;
+ case MidiSystemExclusiveAutomation:
+ cerr << "Parameter \"" << str << "\" is system exclusive - no automation possible!\n";
+ continue;
+ default:
+ cerr << "Parameter \"" << str << "\" found for MIDI source ... not legal; ignoring this parameter\n";
+ continue;
+ }
+
if (!(*i)->get_property (X_("style"), str)) {
error << _("Missing style property on InterpolationStyle") << endmsg;
return -1;