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

Composite presenter for handling multiple synchronized media actions. More...

#include <mxcompositemediapresenter.h>

Inheritance diagram for MxCompositeMediaPresenter:
Collaboration diagram for MxCompositeMediaPresenter:

Public Member Functions

 MxCompositeMediaPresenter ()
 Constructs the composite media presenter and registers it with the video manager. More...
 
 ~MxCompositeMediaPresenter () override
 Destructor; unregisters this presenter from the video manager. More...
 
MxResult Tickle () override
 Orchestrates the tickle (update) across all managed sub-presenters, depending on current tickle state. More...
 
const char * ClassName () const override
 Returns the class name for this presenter type. More...
 
MxBool IsA (const char *p_name) const override
 Checks if this presenter is, or derives from, the given class name. More...
 
void StartingTickle () override
 Handles transition logic when entering the starting state, orchestrating sub-presenters and managing scene construction logic. More...
 
MxResult StartAction (MxStreamController *, MxDSAction *p_action) override
 Begins the playback of composite actions— instantiates and configures individual sub-presenters for each action in a multi-action container. More...
 
MxResult PutData () override
 Propagates PutData events to all sub-presenters during streaming or completion states. More...
 
- Public Member Functions inherited from MxCompositePresenter
 MxCompositePresenter ()
 [AI] Default constructor; registers the composite presenter with the notification manager. More...
 
 ~MxCompositePresenter () override
 [AI] Destructor, unregisters the presenter from the notification manager and properly cleans up contained presenters. More...
 
MxLong Notify (MxParam &p_param) override
 [AI] Notifies the composite presenter of a particular event (such as end of sub-action or notification from a child presenter). More...
 
const char * ClassName () const override
 [AI] Returns the dynamic class name; used for runtime type identification. More...
 
MxBool IsA (const char *p_name) const override
 [AI] Runtime type checking for presenter class hierarchy, supporting parent/child class checks. More...
 
MxResult StartAction (MxStreamController *p_controller, MxDSAction *p_action) override
 [AI] Starts a composite action by creating child presenters for each action in a MxDSMultiAction list and starting them. More...
 
void EndAction () override
 [AI] Ends the composite action, terminating all child presenters and clearing action lists. Sends end notifications if needed. More...
 
void SetTickleState (TickleState p_tickleState) override
 [AI] Change the tickle state of this composite presenter and propagate to each child. More...
 
MxBool HasTickleStatePassed (TickleState p_tickleState) override
 [AI] Checks if all child presenters have advanced past the given tickle state. More...
 
void Enable (MxBool p_enable) override
 [AI] Enables or disables this presenter and all child presenters. More...
 
virtual void VTable0x58 (MxEndActionNotificationParam &p_param)
 [AI] Handler for "end action" notification, invoked when one of the child presenters finishes its assigned sub-action. More...
 
virtual void VTable0x5c (MxNotificationParam &p_param)
 [AI] Handler for generic presenter notification, such as state change. More...
 
virtual void VTable0x60 (MxPresenter *p_presenter)
 [AI] Advance sequencing for serial multi-actions: promotes the next presenter in sequence to e_ready state after predecessor finishes. More...
 
virtual MxBool VTable0x64 (undefined4 p_undefined)
 [AI] Delegated state/mode checking. More...
 
MxCompositePresenterListGetList ()
 [AI] Returns reference to the internal list of child presenters managed by this composite. More...
 
- Public Member Functions inherited from MxPresenter
 MxPresenter ()
 [AI] Constructor. Initializes internal tickle state and other members. More...
 
MxResult Tickle () override
 [AI] Main tickle handler, called periodically to progress presenter's internal state. More...
 
virtual void VTable0x14 ()
 [AI] Reserved for future or specialized use in derived classes. More...
 
virtual void ReadyTickle ()
 [AI] Handles the transition and setup for the Ready state. Parses extra action data and advances state. More...
 
virtual void StartingTickle ()
 [AI] Handles actions required when first starting presentation. Advances to streaming state. More...
 
virtual void StreamingTickle ()
 [AI] Handles periodic updates during the streaming/presentation stage. Advances to repeating state. More...
 
virtual void RepeatingTickle ()
 [AI] Handles updates when in a repeating (looping) stage. Advances to freezing state. More...
 
virtual void FreezingTickle ()
 [AI] Handles updates during the freezing/suspended state. Advances to done state. More...
 
 ~MxPresenter () override
 [AI] Destructor, cleans up resources (base class: does nothing beyond Init). More...
 
virtual MxResult AddToManager ()
 [AI] Optional registration with a manager (such as TickleManager); by default does nothing. More...
 
virtual void Destroy ()
 [AI] Resets presenter state or cleans up resources after completion/removal. More...
 
virtual MxResult StartAction (MxStreamController *, MxDSAction *)
 [AI] Initiates presenter for a new action, setting up context and state. More...
 
virtual void EndAction ()
 [AI] Terminates the current action, notifies listeners and resets state. More...
 
virtual void SetTickleState (TickleState p_tickleState)
 [AI] Forces the tickle state, advancing to the requested lifecycle stage. More...
 
virtual MxBool HasTickleStatePassed (TickleState p_tickleState)
 [AI] Checks if the specified tickle state has ever been passed since last reset. More...
 
virtual MxResult PutData ()
 [AI] Allows the presenter to submit pending results or output to the engine. More...
 
virtual MxBool IsHit (MxS32 p_x, MxS32 p_y)
 [AI] Returns TRUE if the given (x, y) falls within hit-test bounds for the presenter (e.g. More...
 
virtual void Enable (MxBool p_enable)
 [AI] Enables or disables this presenter (controls action flags accordingly). More...
 
const char * ClassName () const override
 [AI] Returns the run-time class name for this presenter. More...
 
MxBool IsA (const char *p_name) const override
 [AI] Determines if this object is of (or inherits) the specified named class. More...
 
MxEntityCreateEntity (const char *p_defaultName)
 [AI] Creates an entity based on action 'extra' data, or uses the provided default name. More...
 
void SendToCompositePresenter (MxOmni *p_omni)
 [AI] Notifies a composite presenter (if one exists) that this presenter wishes to join a group. More...
 
MxBool IsEnabled ()
 [AI] Returns whether this presenter is logically enabled (based on the associated action's flags). More...
 
MxS32 GetCurrentTickleState () const
 [AI] Returns the current tickle state. More...
 
MxPoint32 GetLocation () const
 [AI] Returns the presenter's screen location (in pixels). More...
 
MxS32 GetX () const
 [AI] Returns the X coordinate of screen location. More...
 
MxS32 GetY () const
 [AI] Returns the Y coordinate of screen location. More...
 
MxS32 GetDisplayZ () const
 [AI] Returns the display Z (depth) order. More...
 
MxDSActionGetAction () const
 [AI] Returns the current action being presented. More...
 
void SetAction (MxDSAction *p_action)
 [AI] Sets the action associated with this presenter. More...
 
void SetCompositePresenter (MxCompositePresenter *p_compositePresenter)
 [AI] Sets the composite presenter to notify/join on completion. More...
 
void SetDisplayZ (MxS32 p_displayZ)
 [AI] Sets the display Z (depth) order for the presenter. 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...
 

Additional Inherited Members

- Public Types inherited from MxPresenter
enum  TickleState {
  e_idle = 0 , e_ready , e_starting , e_streaming ,
  e_repeating , e_freezing , e_done
}
 [AI] Represents the state of the presenter's tickle (update) lifecycle. More...
 
- Static Public Member Functions inherited from MxCompositePresenter
static const char * HandlerClassName ()
 [AI] Returns the handler class name ("MxCompositePresenter"). More...
 
- Static Public Member Functions inherited from MxPresenter
static const char * HandlerClassName ()
 [AI] Returns the handler class name for identification and reflection purposes. More...
 
- Protected Member Functions inherited from MxPresenter
virtual void DoneTickle ()
 [AI] Handles any post-completion logic, resetting to idle state. More...
 
virtual void ParseExtra ()
 [AI] Parses additional data from the associated action for configuration or world interaction. More...
 
void ProgressTickleState (TickleState p_tickleState)
 [AI] Helper for advancing the presenter's tickle state and updating transition history. More...
 
void Init ()
 [AI] Initializes object state to post-construction defaults. More...
 
- Protected Attributes inherited from MxCompositePresenter
MxCompositePresenterList m_list
 [AI] List of owned child presenters that are managed by this MxCompositePresenter. Actions are created/shutdown with this list. More...
 
- Protected Attributes inherited from MxPresenter
TickleState m_currentTickleState
 [AI] Current state in the tickle lifecycle. More...
 
MxU32 m_previousTickleStates
 [AI] Bitfield representing all tickle states that have already occurred during this lifetime. More...
 
MxPoint32 m_location
 [AI] 2D display location for the presenter. More...
 
MxS32 m_displayZ
 [AI] Z-order value for display stacking. More...
 
MxDSActionm_action
 [AI] The associated action currently being presented by this presenter. More...
 
MxCriticalSection m_criticalSection
 [AI] Thread synchronization for presenter state and data. More...
 
MxCompositePresenterm_compositePresenter
 [AI] Owner composite presenter, if any. More...
 

Detailed Description

Composite presenter for handling multiple synchronized media actions.

[AI]

This class manages a group of media presenters (audio, video, etc.), allowing for coordinated playback of multiple media elements as a single multimedia composite. [AI] It is typically used to present compound cutscenes or complex scenes where several media streams must be controlled as a unit or in lockstep. [AI]

Registering and unregistering occurs with the video manager to allow centralized control. [AI]

Definition at line 20 of file mxcompositemediapresenter.h.

Constructor & Destructor Documentation

◆ MxCompositeMediaPresenter()

MxCompositeMediaPresenter::MxCompositeMediaPresenter ( )

Constructs the composite media presenter and registers it with the video manager.

[AI]

Definition at line 16 of file mxcompositemediapresenter.cpp.

◆ ~MxCompositeMediaPresenter()

MxCompositeMediaPresenter::~MxCompositeMediaPresenter ( )
override

Destructor; unregisters this presenter from the video manager.

[AI]

Definition at line 24 of file mxcompositemediapresenter.cpp.

Member Function Documentation

◆ ClassName()

const char * MxCompositeMediaPresenter::ClassName ( ) const
inlineoverridevirtual

Returns the class name for this presenter type.

[AI]

Reimplemented from MxCore.

Definition at line 41 of file mxcompositemediapresenter.h.

◆ IsA()

MxBool MxCompositeMediaPresenter::IsA ( const char *  p_name) const
inlineoverridevirtual

Checks if this presenter is, or derives from, the given class name.

[AI]

Parameters
p_nameName to check against type hierarchy. [AI]
Returns
True if this or a base class matches the provided type name. [AI]

Reimplemented from MxCore.

Definition at line 52 of file mxcompositemediapresenter.h.

◆ PutData()

MxResult MxCompositeMediaPresenter::PutData ( )
overridevirtual

Propagates PutData events to all sub-presenters during streaming or completion states.

[AI]

Updates child presenters that may need to flush or process their own output, but only applies while streaming, repeating, freezing, or done. [AI]

Reimplemented from MxPresenter.

Definition at line 170 of file mxcompositemediapresenter.cpp.

◆ StartAction()

MxResult MxCompositeMediaPresenter::StartAction ( MxStreamController p_controller,
MxDSAction p_action 
)
overridevirtual

Begins the playback of composite actions— instantiates and configures individual sub-presenters for each action in a multi-action container.

[AI]

Parameters
p_controllerSource stream controller for media data. [AI]
p_actionMulti-action containing list of sub-actions; each is assigned to a proper presenter type. [AI]

Instantiates presenters using action dispatch, configures loop or special flags as needed, and adds them to internal management list. [AI]

Reimplemented from MxPresenter.

Definition at line 30 of file mxcompositemediapresenter.cpp.

◆ StartingTickle()

void MxCompositeMediaPresenter::StartingTickle ( )
overridevirtual

Handles transition logic when entering the starting state, orchestrating sub-presenters and managing scene construction logic.

[AI]

This drives the transition from pre-start to ready for streaming, handling special conditions for action flags and time synchronization. [AI]

Reimplemented from MxPresenter.

Definition at line 97 of file mxcompositemediapresenter.cpp.

◆ Tickle()

MxResult MxCompositeMediaPresenter::Tickle ( )
overridevirtual

Orchestrates the tickle (update) across all managed sub-presenters, depending on current tickle state.

[AI]

Progresses state machine as needed and delegates tickles to child presenters for ongoing management. [AI]

Reimplemented from MxCore.

Definition at line 143 of file mxcompositemediapresenter.cpp.


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