Non-owning facade over Pulp's two existing voice owners. More...
#include <pulp/audio/instrument_voice_allocator.hpp>#include <pulp/audio/voice_modulation_buffer.hpp>#include <pulp/audio/voice_sum_mixer.hpp>#include <pulp/midi/synthesiser.hpp>#include <array>#include <cmath>#include <cstddef>#include <cstdint>#include <limits>#include <span>#include <type_traits>#include <utility>Go to the source code of this file.
Classes | |
| struct | pulp::audio::VoiceNoteModulationResult |
| struct | pulp::audio::VoiceNoteModulationInput |
| Note/controller state translated to constant per-voice modulation lanes. More... | |
| struct | pulp::audio::VoiceNoteModulationRouting |
| Explicit mapping from note semantics to VoiceModulationBuffer targets. More... | |
| class | pulp::audio::VoiceNoteModulationBridge |
| struct | pulp::audio::AllocatedVoiceRuntimeTriggerResult |
| class | pulp::audio::VoiceRuntimeFacade< Owner > |
| Primary template intentionally rejects unsupported owners. More... | |
| class | pulp::audio::VoiceRuntimeFacade< midi::Synthesiser< Voice > > |
| Plain-MIDI facade. More... | |
| class | pulp::audio::VoiceRuntimeFacade< InstrumentVoiceAllocator > |
| Prepared slot facade. More... | |
Namespaces | |
| namespace | pulp |
| namespace | pulp::audio |
| namespace | pulp::audio::detail |
Functions | |
| template<typename Owner> | |
| pulp::audio::VoiceRuntimeFacade (Owner &) -> VoiceRuntimeFacade< Owner > | |
Variables | |
| template<typename> | |
| constexpr bool | pulp::audio::detail::unsupported_voice_runtime_owner = false |
Non-owning facade over Pulp's two existing voice owners.
VoiceRuntimeFacade<Owner> borrows exactly one supported owner: either a midi::Synthesiser<Voice> or an InstrumentVoiceAllocator. It never owns, type-erases, or combines allocators. The caller must keep the owner alive for the facade's entire lifetime and must keep every span passed to a method alive until that method returns.