summaryrefslogtreecommitdiff
path: root/src/inputprocessor.h
diff options
context:
space:
mode:
authorBent Bisballe Nyeng <deva@aasimon.org>2023-02-16 22:53:14 +0100
committerBent Bisballe Nyeng <deva@aasimon.org>2023-02-16 22:53:14 +0100
commit6f8895d89e983f186e162abf9225cf6c7b8f1016 (patch)
tree9d508abad899113f472c6a6ab7211e84ef7f77b3 /src/inputprocessor.h
parent2aea36ece0881e0ee0885ae1ddc656f2260de57a (diff)
Fix broken choke timing when humanized timing/latency is enabled.
Diffstat (limited to 'src/inputprocessor.h')
-rw-r--r--src/inputprocessor.h15
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;