From fb2e65fd358b40568f2d2b20f59827e938b876e3 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 5 Jun 2019 10:02:27 -0600 Subject: do not set MIDI CC values on locate if control/parameter is set to "Off" --- libs/ardour/midi_track.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'libs/ardour/midi_track.cc') diff --git a/libs/ardour/midi_track.cc b/libs/ardour/midi_track.cc index ac4791b400..61c5307016 100644 --- a/libs/ardour/midi_track.cc +++ b/libs/ardour/midi_track.cc @@ -387,10 +387,20 @@ MidiTrack::non_realtime_locate (samplepos_t pos) /* Update track controllers based on its "automation". */ const samplepos_t origin = region->position() - region->start(); BeatsSamplesConverter bfc(_session.tempo_map(), origin); + for (Controls::const_iterator c = _controls.begin(); c != _controls.end(); ++c) { + + boost::shared_ptr ac = boost::dynamic_pointer_cast (c->second); + + if (!ac->automation_playback()) { + continue; + } + boost::shared_ptr tcontrol; boost::shared_ptr rcontrol; + if ((tcontrol = boost::dynamic_pointer_cast(c->second)) && + (rcontrol = region->control(tcontrol->parameter()))) { const Temporal::Beats pos_beats = bfc.from(pos - origin); if (rcontrol->list()->size() > 0) { -- cgit v1.2.3