diff options
author | Bent Bisballe Nyeng <deva@aasimon.org> | 2023-02-16 22:53:14 +0100 |
---|---|---|
committer | Bent Bisballe Nyeng <deva@aasimon.org> | 2023-02-16 22:53:14 +0100 |
commit | 6f8895d89e983f186e162abf9225cf6c7b8f1016 (patch) | |
tree | 9d508abad899113f472c6a6ab7211e84ef7f77b3 /src/inputprocessor.h | |
parent | 2aea36ece0881e0ee0885ae1ddc656f2260de57a (diff) |
Fix broken choke timing when humanized timing/latency is enabled.
Diffstat (limited to 'src/inputprocessor.h')
-rw-r--r-- | src/inputprocessor.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/inputprocessor.h b/src/inputprocessor.h index 18bb583..a8dc45b 100644 --- a/src/inputprocessor.h +++ b/src/inputprocessor.h @@ -64,10 +64,23 @@ private: bool processChoke(event_t& event, std::size_t pos, double resample_ratio); bool processStop(event_t& event); + //! Applies choke with rampdown time in ms to event starting at offset. + void applyChoke(Settings& settings, SampleEvent& event, + double length_ms, timepos_t offset, std::size_t pos); + + //! Applies choke group actions to active events based on the input event + void applyChokeGroup(Settings& settings, DrumKit& kit, + Instrument& instr, event_t& event, + EventsDS& events_ds, std::size_t pos); + //! Applies directed choke actions to active events based on the input event + void applyDirectedChoke(Settings& settings, DrumKit& kit, + Instrument& instr, event_t& event, + EventsDS& events_ds, std::size_t pos); + //! Ramps down samples from events_ds is there are more groups playing than //! max_voices for a given instrument. void limitVoices(std::size_t instrument_id, std::size_t max_voices, - float rampdown_time); + float rampdown_time, std::size_t pos); std::vector<std::unique_ptr<InputFilter>> filters; |