Class thl::modulation::InputEventQueue#

class InputEventQueue#

Public Types

enum class EventType : uint8_t#

Values:

enumerator Value#
enumerator Active#
using OnEvent = std::function<void(const Event &e, uint32_t offset)>#

Public Functions

explicit InputEventQueue(thl::modulation::ModulationScope scope, size_t queue_capacity = 64)#
void prepare(uint32_t num_voices)#
bool push_mono_value(float value)#
bool push_mono_active(bool active)#
bool push_voice_value(uint32_t voice, float value)#
bool push_voice_active(uint32_t voice, bool active)#
size_t drain_spread(uint32_t block_size, const OnEvent &cb)#
inline thl::modulation::ModulationScope scope() const#
inline bool has_mono() const#
inline uint32_t num_voices() const#
inline size_t queue_capacity() const#
struct Event#

Public Members

EventType m_type#
bool m_is_mono#
uint8_t m_voice#
bool m_active#
float m_value#