diff options
author | David Robillard <d@drobilla.net> | 2014-08-31 18:52:37 -0400 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2014-08-31 18:57:22 -0400 |
commit | 34c1465cf9645fce4e05299f6e5a2e7af19a0d3e (patch) | |
tree | 112bed277ad89ebeb0e517e72e668d250a23e862 /libs/ardour/midi_track.cc | |
parent | b012f2cd1825d2e25e706c35a61b8fbd0ee1af41 (diff) |
Fix crash when changing automation mode for MIDI track control automation.
Also some work towards tolerating automation controls with no automation list,
towards actually doing something for these cases, though not required just to
fix this crash (MidiTrack::set_parameter_automation_state() avoids those
paths).
Diffstat (limited to 'libs/ardour/midi_track.cc')
-rw-r--r-- | libs/ardour/midi_track.cc | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/libs/ardour/midi_track.cc b/libs/ardour/midi_track.cc index 638ed05706..3866eb4d80 100644 --- a/libs/ardour/midi_track.cc +++ b/libs/ardour/midi_track.cc @@ -623,6 +623,24 @@ MidiTrack::write_immediate_event(size_t size, const uint8_t* buf) } void +MidiTrack::set_parameter_automation_state (Evoral::Parameter param, AutoState state) +{ + switch (param.type()) { + case MidiCCAutomation: + case MidiPgmChangeAutomation: + case MidiPitchBenderAutomation: + case MidiChannelPressureAutomation: + case MidiSystemExclusiveAutomation: + /* The track control for MIDI parameters is for immediate events to act + as a control surface, write/touch for them is not currently + supported. */ + return; + default: + Automatable::set_parameter_automation_state(param, state); + } +} + +void MidiTrack::MidiControl::set_value(double val) { bool valid = false; |