Isle
Loading...
Searching...
No Matches
MxAudioManager Class Reference

[AI] Audio subsystem manager for the LEGO Island engine, responsible for managing audio playback and audio resources. More...

#include <mxaudiomanager.h>

Inheritance diagram for MxAudioManager:
Collaboration diagram for MxAudioManager:

Public Member Functions

 MxAudioManager ()
 [AI] Constructs the audio manager and initializes default volume. More...
 
 ~MxAudioManager () override
 [AI] Destructs the audio manager and handles cleanup of resources. More...
 
MxResult Create () override
 [AI] Initializes audio subsystem resources and registers an instance for global audio management. More...
 
void Destroy () override
 [AI] Tears down the audio subsystem instance and unregisters it from global management. More...
 
virtual MxS32 GetVolume ()
 [AI] Gets the current global audio volume. More...
 
virtual void SetVolume (MxS32 p_volume)
 [AI] Sets the current global audio volume. More...
 
- Public Member Functions inherited from MxMediaManager
 MxMediaManager ()
 [AI] Constructor. More...
 
 ~MxMediaManager () override
 [AI] Destructor. More...
 
MxResult Tickle () override
 [AI] Called by the tickle manager to step through and update all presenters, and process their output data. More...
 
virtual MxResult Create ()
 [AI] Allocates and initializes the internal presenter list for this manager, ensuring thread safety. More...
 
virtual void Destroy ()
 [AI] Destroys all registered presenters and resets the internal state, ensuring safe resource disposal. More...
 
virtual void RegisterPresenter (MxPresenter &p_presenter)
 [AI] Register a new presenter for tickle management and playback coordination. More...
 
virtual void UnregisterPresenter (MxPresenter &p_presenter)
 [AI] Remove a presenter from tickle and managed output lists. More...
 
virtual void StopPresenters ()
 [AI] Stops/ends the action on all registered presenters, typically halting all playback and output. More...
 
MxResult Init ()
 [AI] Initializes all internal members to their default values. More...
 
- Public Member Functions inherited from MxCore
 MxCore ()
 [AI] Constructs a new MxCore object and assigns it a unique id. More...
 
virtual ~MxCore ()
 [AI] Virtual destructor. Required for correct polymorphic cleanup in derived classes. More...
 
virtual MxLong Notify (MxParam &p_param)
 [AI] Virtual callback notification mechanism. More...
 
virtual MxResult Tickle ()
 [AI] Called by tickle managers to allow the object to update itself. More...
 
virtual const char * ClassName () const
 [AI] Returns the runtime class name of this object. More...
 
virtual MxBool IsA (const char *p_name) const
 [AI] Checks whether this object's class type or parents match the given name. More...
 
MxU32 GetId ()
 [AI] Gets the unique (per-process) id assigned to this object instance. More...
 

Protected Member Functions

void Init ()
 [AI] Initializes audio manager state, setting default volume and other relevant fields. More...
 

Protected Attributes

MxS32 m_volume
 [AI] Holds the current global audio volume for the game. More...
 
- Protected Attributes inherited from MxMediaManager
MxPresenterListm_presenters
 [AI] Pointer to list of currently registered (active) presenters. More...
 
MxThreadm_thread
 [AI] Optional pointer to a worker thread used for media dispatch/IO (if multi-threaded operation is used, otherwise NULL). More...
 
MxCriticalSection m_criticalSection
 [AI] Critical section object used for guarding access to the presenter list and internal members for thread safety. More...
 

Detailed Description

[AI] Audio subsystem manager for the LEGO Island engine, responsible for managing audio playback and audio resources.

[AI] MxAudioManager is derived from MxMediaManager, providing specialized handling for audio initialization, shutdown, and runtime control (e.g., global volume adjustment). It maintains a static instance counter, and performs thread-safe operations via an internal critical section.

Definition at line 14 of file mxaudiomanager.h.

Constructor & Destructor Documentation

◆ MxAudioManager()

MxAudioManager::MxAudioManager ( )

[AI] Constructs the audio manager and initializes default volume.

Definition at line 9 of file mxaudiomanager.cpp.

◆ ~MxAudioManager()

MxAudioManager::~MxAudioManager ( )
override

[AI] Destructs the audio manager and handles cleanup of resources.

Definition at line 15 of file mxaudiomanager.cpp.

Member Function Documentation

◆ Create()

MxResult MxAudioManager::Create ( )
overridevirtual

[AI] Initializes audio subsystem resources and registers an instance for global audio management.

[AI] Thread-safe; increments global audio manager instance count on success.

Returns
MxResult indicating if the creation succeeded. [AI]

Reimplemented from MxMediaManager.

Definition at line 40 of file mxaudiomanager.cpp.

◆ Destroy()

void MxAudioManager::Destroy ( )
overridevirtual

[AI] Tears down the audio subsystem instance and unregisters it from global management.

[AI] Thread-safe; decrements global audio manager instance count and releases resources.

Reimplemented from MxMediaManager.

Reimplemented in MxMusicManager, and MxSoundManager.

Definition at line 64 of file mxaudiomanager.cpp.

◆ GetVolume()

virtual MxS32 MxAudioManager::GetVolume ( )
inlinevirtual

[AI] Gets the current global audio volume.

[AI] Returns the current audio output volume (range and meaning engine-specific, default is 100).

Returns
Current volume value. [AI]

Definition at line 44 of file mxaudiomanager.h.

◆ Init()

void MxAudioManager::Init ( )
protected

[AI] Initializes audio manager state, setting default volume and other relevant fields.

[AI] Called during construction and when resetting state on destroy.

Definition at line 21 of file mxaudiomanager.cpp.

◆ SetVolume()

void MxAudioManager::SetVolume ( MxS32  p_volume)
virtual

[AI] Sets the current global audio volume.

[AI] Thread-safe; updates audio output volume (does not scale individual sound channels).

Parameters
p_volumeThe desired volume to set. [AI]

Reimplemented in MxMusicManager, and MxSoundManager.

Definition at line 70 of file mxaudiomanager.cpp.

Member Data Documentation

◆ m_volume

MxS32 MxAudioManager::m_volume
protected

[AI] Holds the current global audio volume for the game.

[AI] Thread-safe access (via critical section). Default is 100. [AI_SUGGESTED_NAME: m_volume]

Definition at line 81 of file mxaudiomanager.h.


The documentation for this class was generated from the following files: