1#ifndef MXBACKGROUNDAUDIOMANAGER_H
2#define MXBACKGROUNDAUDIOMANAGER_H
38 return "MxBackgroundAudioManager";
141 MxS32 m_targetVolume;
[AI] Atomized (unique) string identifier, managed by reference counting.
[AI] Presents (plays/streams) audio (WAV, MID, etc.) as part of the Omni engine's media handler syste...
[AI] Background music manager that handles playback, volume, state transitions, and notifications for...
void Init()
[AI] Reinitializes manager's active presenter and tickle state; typically called at the start of a sc...
undefined4 FUN_1007f610(MxPresenter *p_unk0x138, MxS32 p_speed, MxPresenter::TickleState p_tickleState)
[AI] Helper for queued volume changing: Sets up a coming presenter/action for activation with given s...
MxBackgroundAudioManager()
[AI] Constructs and registers the background audio manager, initializing internal state.
void FUN_1007ef40()
[AI] Handles music volume raising/lowering and track transitions in the e_repeating tickle state,...
void Enable(MxBool p_enable)
[AI] Enables or disables the background audio manager.
void StopAction(MxParam &p_param)
[AI] Handles incoming end action notification, resets state and clears finished presenters/actions; n...
MxBool GetEnabled()
[AI] Returns whether background audio management is currently enabled.
void RaiseVolume()
[AI] Requests that the background music volume is raised (decrements suppression counter); triggers f...
const char * ClassName() const override
[AI] Returns the class name string literal.
~MxBackgroundAudioManager() override
[AI] Destructor unregisters from notification and tickle managers and stops any playing music.
void LowerVolume()
[AI] Requests a reduction in current background music volume, queuing for fade out (increments suppre...
MxLong Notify(MxParam &p_param) override
[AI] Handles notification events such as start/stop actions relating to audio.
MxBool IsA(const char *p_name) const override
[AI] Type-checks if the instance is, or inherits from, MxBackgroundAudioManager.
void StartAction(MxParam &p_param)
[AI] Handles incoming start action notification, sets up pending audio presenter and prepares (but do...
MxResult PlayMusic(MxDSAction &p_action, undefined4 p_speed, MxPresenter::TickleState p_tickleState)
[AI] Initiates playback of a new background music action with specified speed and target tickle state...
void Stop()
[AI] Immediately stops all background music, clears all actions and presenters, and resets tickle sta...
void FadeInOrFadeOut()
[AI] Performs volume fade in/fade out logic, adjusting music volume towards target; sets tickle state...
void FUN_1007ee70()
[AI] Implements state update for e_streaming tickle state. Handles music track transition (fade out p...
MxResult Tickle() override
[AI] Called periodically by the tickle manager.
virtual MxResult Create(MxAtomId &p_script, MxU32 p_frequencyMS)
[AI] Opens the music script (SI file) for streaming and registers this background audio manager as a ...
[AI] Base virtual class for all Mindscape engine (Mx) objects.
virtual MxBool IsA(const char *p_name) const
[AI] Checks whether this object's class type or parents match the given name.
[AI] Represents an action deserialized from SI chunks, holding key animation or script parameters suc...
[AI] MxParam serves as a polymorphic base class for parameter passing in event and notification syste...
[AI] Abstract base class for all presenter types in the LEGO Island engine, responsible for managing ...
TickleState
[AI] Represents the state of the presenter's tickle (update) lifecycle.