Skip to content

ludus::audio::app::EventAdapter

Ludus Wiki · API overview · Browse API

Class

A thin adapter owning a bounded policy table, tracked owned loops, and one shared dialogue duck context.
All members are fixed-size; it allocates nothing after construction.

Declared in modules/audio/include/ludus/audio/audio_app_adapter.h

#include <ludus/audio/audio_app_adapter.h>
class ludus::audio::app::EventAdapter final

Methods

EventAdapter

explicit ludus::audio::app::EventAdapter::EventAdapter(AudioSystem &system) noexcept

Related types: AudioSystem

Declared in modules/audio/include/ludus/audio/audio_app_adapter.h

EventAdapter

ludus::audio::app::EventAdapter::EventAdapter(const EventAdapter &)=delete

Declared in modules/audio/include/ludus/audio/audio_app_adapter.h

operator=

EventAdapter & ludus::audio::app::EventAdapter::operator=(const EventAdapter &)=delete

Related types: EventAdapter

Declared in modules/audio/include/ludus/audio/audio_app_adapter.h

Trigger

TriggerResult ludus::audio::app::EventAdapter::Trigger(const TriggerRequest &req, uint64 nowTicks) noexcept
Evaluate policy at application clock nowTicks, then (only if not suppressed) attempt admission.
Policy state (cooldown/active) updates ONLY on successful engine admission; a QueueFull/NotReady/GroupCapacity failure consumes no cooldown and leaves no active/duck state. A full policy table for a new key returns TableFull. Reports owner events to the attached sink.

Related types: TriggerRequest · TriggerResult

Declared in modules/audio/include/ludus/audio/audio_app_adapter.h

ValidateDescriptor

DescriptorValidation ludus::audio::app::EventAdapter::ValidateDescriptor(const EventDescriptor &desc) const noexcept
Validate a descriptor's fields before any playback: nonempty bounded variation list, prepared variation handles, in-range bus/group IDs, finite gain/rate and valid distances.
Returns the first offending field. No engine state is touched; this is owner-side authoring validation.

Related types: DescriptorValidation · EventDescriptor

Declared in modules/audio/include/ludus/audio/audio_app_adapter.h

TriggerDescriptor

TriggerResult ludus::audio::app::EventAdapter::TriggerDescriptor(const EventDescriptor &desc, uint32 ownerTag, uint64 cooldownTicks, uint32 seed, uint64 nowTicks, bool suppressWhileActive=true) noexcept
Trigger a validated descriptor: select one variation deterministically from seed (recorded in the trace; never re-rolled on reentry), resolve the play parameters, and run the policed admission path.
An invalid descriptor is reported owner-side (OwnerEvent) and admits nothing.

Related types: EventDescriptor · TriggerResult

Declared in modules/audio/include/ludus/audio/audio_app_adapter.h

Update

void ludus::audio::app::EventAdapter::Update(uint64 nowTicks) noexcept
Call every service tick: observe durable terminals so active/cooldown and dialogue-duck membership release correctly, and reclaim expired entries.

Declared in modules/audio/include/ludus/audio/audio_app_adapter.h

StopOwnedLoops

void ludus::audio::app::EventAdapter::StopOwnedLoops(uint32 ownerTag) noexcept
Stop all owned loops for ownerTag (entity removal).
Detached one-shots are not tracked here and may finish naturally.

Declared in modules/audio/include/ludus/audio/audio_app_adapter.h

ConfigureDialogueDuck

void ludus::audio::app::EventAdapter::ConfigureDialogueDuck(uint32 duckBusIndex, float32 duckDb) noexcept
Begin/trigger a dialogue line that participates in a single shared duck modifier on duckBusIndex.
The duck is created on the first accepted member and released only after the last member durably terminates. A failed admission creates no member and no duck.

Declared in modules/audio/include/ludus/audio/audio_app_adapter.h

TriggerDialogue

TriggerResult ludus::audio::app::EventAdapter::TriggerDialogue(const TriggerRequest &req, uint64 nowTicks) noexcept

Related types: TriggerRequest · TriggerResult

Declared in modules/audio/include/ludus/audio/audio_app_adapter.h

DialogueDuckActive

bool ludus::audio::app::EventAdapter::DialogueDuckActive() const noexcept

Declared in modules/audio/include/ludus/audio/audio_app_adapter.h

DialogueMemberCount

uint32 ludus::audio::app::EventAdapter::DialogueMemberCount() const noexcept

Declared in modules/audio/include/ludus/audio/audio_app_adapter.h

SetSink

void ludus::audio::app::EventAdapter::SetSink(AudioDebugSnapshotSink *sink) noexcept

Related types: AudioDebugSnapshotSink

Declared in modules/audio/include/ludus/audio/audio_app_adapter.h