diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2012-11-13 19:23:16 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2012-11-13 19:23:16 +0000 |
commit | 3f35528f18eb756dfb2b0660a15b3379de4179ac (patch) | |
tree | cef81d97ba476f882238f8bac495fbc3a8de883b /libs/ardour/amp.cc | |
parent | 40a7b0f0b31cc4d4358f587d0fd7f1d01b7dc7b1 (diff) |
revert to a 0..2 scale for MIDI velocity control, so that we can increase MIDI note velocities as well as deccrease them (note: this will make the use of MIDI CC #7 a bit more complex)
git-svn-id: svn://localhost/ardour2/branches/3.0@13483 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/amp.cc')
-rw-r--r-- | libs/ardour/amp.cc | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/libs/ardour/amp.cc b/libs/ardour/amp.cc index c0cd404cf6..94204a1a84 100644 --- a/libs/ardour/amp.cc +++ b/libs/ardour/amp.cc @@ -117,12 +117,11 @@ Amp::run (BufferSet& bufs, framepos_t /*start_frame*/, framepos_t /*end_frame*/, for (BufferSet::midi_iterator i = bufs.midi_begin(); i != bufs.midi_end(); ++i) { MidiBuffer& mb (*i); - const float midi_velocity_factor = gain_coefficient_to_midi_velocity_factor (_current_gain); for (MidiBuffer::iterator m = mb.begin(); m != mb.end(); ++m) { Evoral::MIDIEvent<MidiBuffer::TimeType> ev = *m; if (ev.is_note_on()) { - ev.scale_velocity (midi_velocity_factor); + ev.scale_velocity (_current_gain); } } } @@ -177,7 +176,7 @@ Amp::apply_gain (BufferSet& bufs, framecnt_t nframes, gain_t initial, gain_t tar if (ev.is_note_on()) { const gain_t scale = delta * (ev.time()/(double) nframes); - ev.scale_velocity (gain_coefficient_to_midi_velocity_factor (initial+scale)); + ev.scale_velocity (initial+scale); } } } @@ -335,12 +334,11 @@ Amp::apply_simple_gain (BufferSet& bufs, framecnt_t nframes, gain_t target) for (BufferSet::midi_iterator i = bufs.midi_begin(); i != bufs.midi_end(); ++i) { MidiBuffer& mb (*i); - const float midi_velocity_factor = gain_coefficient_to_midi_velocity_factor (target); for (MidiBuffer::iterator m = mb.begin(); m != mb.end(); ++m) { Evoral::MIDIEvent<MidiBuffer::TimeType> ev = *m; if (ev.is_note_on()) { - ev.scale_velocity (midi_velocity_factor); + ev.scale_velocity (target); } } } |