From 850964fde3edb8ac0a2c8ca10cd1f421ce106c6e Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sat, 25 Apr 2015 22:02:02 +0200 Subject: [PATCH] midi velocity [fader] automation --- libs/ardour/amp.cc | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/libs/ardour/amp.cc b/libs/ardour/amp.cc index c94b09536f..efe776af24 100644 --- a/libs/ardour/amp.cc +++ b/libs/ardour/amp.cc @@ -90,7 +90,19 @@ Amp::run (BufferSet& bufs, framepos_t /*start_frame*/, framepos_t /*end_frame*/, gain_t* gab = _gain_automation_buffer; assert (gab); - // TODO automated midi gain + if (_midi_amp) { + for (BufferSet::midi_iterator i = bufs.midi_begin(); i != bufs.midi_end(); ++i) { + MidiBuffer& mb (*i); + for (MidiBuffer::iterator m = mb.begin(); m != mb.end(); ++m) { + Evoral::MIDIEvent ev = *m; + if (ev.is_note_on()) { + assert(ev.time() >= 0 && ev.time() < nframes); + ev.scale_velocity (gab[ev.time()]); + } + } + } + } + const float a = 62.78 / _session.nominal_frame_rate(); // 10 Hz LPF float lpf = _current_gain; -- 2.30.2