diff options
author | Bent Bisballe Nyeng <deva@aasimon.org> | 2024-07-24 18:57:32 +0200 |
---|---|---|
committer | Bent Bisballe Nyeng <deva@aasimon.org> | 2024-07-24 19:16:42 +0200 |
commit | efebb624788963cb00c9e3af7fef40794336c361 (patch) | |
tree | 584796f639dd82cbe02c9b7479566ea51f0a555a /src/inputprocessor.cc | |
parent | ddd12cae8a21eba52a4d8fae9dced18878e0e055 (diff) |
Experimental dynamic, position based, velocity range detection.
Diffstat (limited to 'src/inputprocessor.cc')
-rw-r--r-- | src/inputprocessor.cc | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/inputprocessor.cc b/src/inputprocessor.cc index fa3498c..67a0ec2 100644 --- a/src/inputprocessor.cc +++ b/src/inputprocessor.cc @@ -249,12 +249,10 @@ bool InputProcessor::processOnset(event_t& event, std::size_t pos, // Apply directed chokes to mute other instruments if needed applyDirectedChoke(settings, kit, *instr, event, events_ds, pos); - auto const power_max = instr->getMaxPower(); - auto const power_min = instr->getMinPower(); - float const power_span = power_max - power_min; - float const instrument_level = power_min + event.velocity*power_span; - // FIXME: bad variable naming of parameters - const auto sample = instr->sample(instrument_level, event.position, event.offset + pos); + const auto power_range = instr->getPowers(event.position); + const auto power_span = power_range.max - power_range.min; + const auto note_power = power_range.min + event.velocity * power_span; + const auto sample = instr->sample(note_power, power_span, event.position, event.offset + pos); if(sample == nullptr) { |