Routes MPE expression events to a pool of voices of type Voice (which must derive from MpeSynthVoice). More...
#include <mpe_synth_voice.hpp>
Public Member Functions | |
| MpeVoiceAllocator (std::size_t polyphony) | |
| std::size_t | polyphony () const |
| Voice & | voice (std::size_t i) |
| const Voice & | voice (std::size_t i) const |
| void | set_steal_mode (MpeVoiceStealMode m) |
| MpeVoiceStealMode | steal_mode () const |
| void | dispatch (const MpeExpressionEvent &e) |
| Dispatch a single MPE expression event to the voice pool. | |
| void | dispatch_all (const MpeBuffer &buf) |
| Dispatch all events in a buffer (in the order they appear). | |
| std::size_t | active_count () const |
| std::size_t | releasing_count () const |
| std::uint64_t | steal_count () const |
| void | reset_steal_count () |
| MpeVoiceAllocatorTelemetry | telemetry () const |
| Cheap owner-thread snapshot for voice-count telemetry. | |
| std::uint64_t | estimate_optional_runtime_cost () const |
| MpeVoiceAllocatorRuntimeBudgetReport | evaluate_optional_runtime_budget (runtime::RuntimeBudgetFrame &frame, runtime::RuntimeWorkLane lane=runtime::RuntimeWorkLane::Background, bool required=false) const |
| bool | last_was_glide () const |
| void | reset_all () |
Routes MPE expression events to a pool of voices of type Voice (which must derive from MpeSynthVoice).
Voices are preallocated.
|
inlineexplicit |
|
inline |
|
inline |
Dispatch a single MPE expression event to the voice pool.
|
inline |
Dispatch all events in a buffer (in the order they appear).
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Cheap owner-thread snapshot for voice-count telemetry.
Call from the allocator owner (normally the audio thread) and publish the returned value through a lock-free latest-value channel if another thread needs to observe it.
|
inline |
|
inline |