Skip to content

ludus::audio::gym::Scenario

Ludus Wiki · API overview · Browse API

Class

A named, reproducible offline scenario.
Build one, drive it with Advance / Submit, and read Captures. All data is owner-side and copyable so a scenario can be exported to JSON by a cold tool (not part of the gym itself).

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

#include <ludus/audio/audio_gym.h>
class ludus::audio::gym::Scenario final

Methods

Scenario

ludus::audio::gym::Scenario::Scenario(std::string name, const SystemConfig &config) noexcept

Related types: SystemConfig

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

~Scenario

ludus::audio::gym::Scenario::~Scenario() noexcept

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

Scenario

ludus::audio::gym::Scenario::Scenario(const Scenario &)=delete

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

operator=

Scenario & ludus::audio::gym::Scenario::operator=(const Scenario &)=delete

Related types: Scenario

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

IsValid

bool ludus::audio::gym::Scenario::IsValid() const noexcept

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

System

AudioSystem & ludus::audio::gym::Scenario::System() noexcept

Related types: AudioSystem

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

Name

const std::string & ludus::audio::gym::Scenario::Name() const noexcept

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

PrepareClip

Status ludus::audio::gym::Scenario::PrepareClip(std::span< const uint8 > encoded, const ClipDescriptor &descriptor, ClipHandle &out) noexcept
Prepare a clip from encoded bytes; records it for tracking by name.

Related types: Status · ClipDescriptor · ClipHandle

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

Track

Status ludus::audio::gym::Scenario::Track(VoiceHandle voice) noexcept
Track a voice handle so subsequent captures include its VoiceInfo.

Returns

Ok, or OutOfMemory with the tracked set unchanged.

Related types: Status · VoiceHandle

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

Advance

Status ludus::audio::gym::Scenario::Advance(uint32 frames) noexcept
Advance the offline renderer by frames (stereo interleaved scratch) and append a capture of the state afterwards.
Scratch and capture storage are allocated before rendering. OutOfMemory therefore leaves the system, the captures and the tracked set unchanged; otherwise the capture is appended and the render status is returned.

Related types: Status

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

Captures

const ludus::foundation::Array< Capture > & ludus::audio::gym::Scenario::Captures() const noexcept
Captures in Advance order. The reference is invalidated by the next successful Advance.

Related types: ludus::foundation::Array · Capture

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

FilterByGroup

Status ludus::audio::gym::Scenario::FilterByGroup(uint32 groupIndex, ludus::foundation::Array< VoiceInfo > &outVoices) const noexcept
Replace outVoices with the most recent capture's voices in group groupIndex.
No capture yields an empty result.

Returns

Ok, or OutOfMemory with outVoices unchanged.

Related types: Status · ludus::foundation::Array · VoiceInfo

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

FilterByBus

Status ludus::audio::gym::Scenario::FilterByBus(uint32 busIndex, ludus::foundation::Array< VoiceInfo > &outVoices) const noexcept
Replace outVoices with the most recent capture's voices routed to bus busIndex.

Returns

Ok, or OutOfMemory with outVoices unchanged.

Related types: Status · ludus::foundation::Array · VoiceInfo

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

FilterByTag

Status ludus::audio::gym::Scenario::FilterByTag(uint32 policyTag, ludus::foundation::Array< VoiceInfo > &outVoices) const noexcept
Replace outVoices with the most recent capture's voices carrying policyTag.

Returns

Ok, or OutOfMemory with outVoices unchanged.

Related types: Status · ludus::foundation::Array · VoiceInfo

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