Isle
|
[AI] Audio subsystem manager for the LEGO Island engine, responsible for managing audio playback and audio resources. More...
#include <mxaudiomanager.h>
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... | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
MxPresenterList * | m_presenters |
[AI] Pointer to list of currently registered (active) presenters. More... | |
MxThread * | m_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... | |
[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.
MxAudioManager::MxAudioManager | ( | ) |
[AI] Constructs the audio manager and initializes default volume.
Definition at line 9 of file mxaudiomanager.cpp.
|
override |
[AI] Destructs the audio manager and handles cleanup of resources.
Definition at line 15 of file mxaudiomanager.cpp.
|
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.
Reimplemented from MxMediaManager.
Definition at line 40 of file mxaudiomanager.cpp.
|
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.
|
inlinevirtual |
[AI] Gets the current global audio volume.
[AI] Returns the current audio output volume (range and meaning engine-specific, default is 100).
Definition at line 44 of file mxaudiomanager.h.
|
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.
|
virtual |
[AI] Sets the current global audio volume.
[AI] Thread-safe; updates audio output volume (does not scale individual sound channels).
p_volume | The desired volume to set. [AI] |
Reimplemented in MxMusicManager, and MxSoundManager.
Definition at line 70 of file mxaudiomanager.cpp.
|
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.