Class controlling a sound sub tree for GraphInstanceObjects usage. More...

#include "murl_logic_graph_sound_instance.h"

Inheritance diagram for Murl::Logic::GraphSoundInstance:

Public Member Functions

 GraphSoundInstance (Real masterVolume=static_cast< Real >(1.0))
 The default constructor. More...
 
 ~GraphSoundInstance () override
 The destructor.
 
Bool Init (INodeObserver *nodeObserver, const Graph::IRoot *root, const String &replicationIdPath, SInt32 index) override
 Initialize the object. More...
 
Bool Init (INodeObserver *nodeObserver, Graph::INode *replicationNode, SInt32 index) override
 Initialize the object. More...
 
Bool DeInit () override
 Deinitialize the object. More...
 
void SetObtained (Bool isObtained) override
 Set the obtained state. More...
 
virtual Bool Init (INodeObserver *nodeObserver, const Graph::IRoot *root, const String &timelinePath, const String &sequencePath, SInt32 index)
 Initialize the object. More...
 
virtual Bool Init (INodeObserver *nodeObserver, Graph::INamespace *namespaceNode, const String &timelinePath, const String &sequencePath, SInt32 index)
 Initialize the object. More...
 
- Public Member Functions inherited from Murl::Logic::BaseStepable
 BaseStepable ()
 The default constructor. More...
 
 ~BaseStepable () override
 The destructor. More...
 
 operator IStepablePtr ()
 Conversion operator. More...
 
- Public Member Functions inherited from Murl::Logic::Stepable
 ~Stepable () override
 The destructor.
 
Bool SetAppStepable (IAppStepablePtr appStepable) override
 Implementation of IStepable::SetAppStepable() method. More...
 
void SetEnabled (Bool isEnabled) override
 Implementation of IStepable::SetEnabled() method. More...
 
Bool IsEnabled () const override
 Implementation of IStepable::IsEnabled() method. More...
 
void Reset () override
 Implementation of IStepable::Reset() method.
 
void ProcessTick (const Logic::IState *state) override
 Implementation of IStepable::ProcessTick() method. More...
 
void FinishTick (const Logic::IState *state) override
 Implementation of IStepable::FinishTick() method. More...
 
- Public Member Functions inherited from Murl::Logic::GraphSoundObject
 GraphSoundObject ()
 The default constructor. More...
 
 GraphSoundObject (Real masterVolume)
 Constructor taking a master volume. More...
 
virtual ~GraphSoundObject ()
 The destructor.
 
virtual Bool Init (INodeObserver *nodeObserver, const Graph::IRoot *root, const String &timelinePath, const String &sequencePath, SInt32 index)
 Initialize the object. More...
 
virtual Bool Init (INodeObserver *nodeObserver, Graph::INamespace *namespaceNode, const String &timelinePath, const String &sequencePath, SInt32 index)
 Initialize the object. More...
 
virtual Bool StartPlaying (Real startTime=0)
 Start playing the sound. More...
 
virtual Bool StartPlaying (Real startTime, Real endTime)
 Start playing the sound. More...
 
virtual Bool IsPlaying () const
 Check if the sound is playing. More...
 
virtual Bool PausePlaying ()
 Pause playing the sound. More...
 
virtual Bool ContinuePlaying ()
 Continue playing the sound. More...
 
virtual Bool StopPlaying ()
 Stop playing the sound. More...
 
virtual void SetVolume (Real volume)
 Set the sound volume. More...
 
virtual void SetMasterVolume (Real volume)
 Set the master volume. More...
 
virtual Real GetMasterVolume () const
 Get the master volume. More...
 

Protected Member Functions

void OnReset () override
 Overwrite of the BaseStepable::OnReset() method. More...
 
- Protected Member Functions inherited from Murl::Logic::BaseStepable
void OnSetEnabled (Bool isEnabled) override
 Default implementation of IAppStepable::OnSetEnabled() method, this method is empty and can be overwritten. More...
 
void OnProcessTick (const Logic::IState *state) override
 Default implementation of IAppStepable::OnProcessTick() method, this method is empty and can be overwritten. More...
 
void OnFinishTick (const Logic::IState *state) override
 Default implementation of IAppStepable::OnFinishTick() method, this method is empty and can be overwritten. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from Murl::Logic::Stepable
static IStepablePtr Create ()
 Create a stepable object. More...
 
- Static Public Member Functions inherited from Murl::Logic::GraphSoundObject
static GraphSoundObjectPtr Create ()
 Create a GraphSoundObject object. More...
 
static GraphSoundObjectPtr Create (Real masterVolume)
 Create a GraphSoundObject object with a given master volume. More...
 
- Public Attributes inherited from Murl::Logic::GraphSoundObject
TimelineNode mTimelineNode
 The timeline node reference.
 
AudioSequenceNode mAudioSequenceNode
 The audio sequence node reference.
 

Detailed Description

Class controlling a sound sub tree for GraphInstanceObjects usage.

MyLogic.h

#include "murl_logic_graph_instance_objects.h"
#include "murl_logic_graph_sound_instance.h"
...
Logic::GraphInstanceObjects<Logic::GraphSoundInstance> mMyInstances;

MyLogic.cpp

Bool App::MyLogic::OnInit(const Logic::IState* state)
{
const Graph::IRoot* root = state->GetGraphRoot();
if (!mMyInstances.Init(root, "/MY_LOCATION", "/MY_INSTANCE_NODE", "/MY_INSTANCE"))
{
return false;
}
// other stuff
return true;
}
Bool App::MyLogic::OnDeInit(const Logic::IState* state)
{
Bool ret = true;
// other stuff
if (!mMyInstances.DeInit())
{
ret = false;
}
return ret;
}
bool Bool
Boolean data type This typedef represents a boolean value (true or false).
Definition: murl_types.h:158

MyGraph.xml

<Namespace id="MY_LOCATION">
<Instance id="MY_INSTANCE_NODE" graphResourceId="MyInstanceXml" replications="10"
</Namespace>

MyInstance.xml

<Graph>
<Namespace id="MY_INSTANCE{replication}" activeAndVisible="no">
<Timeline id="timeline">
<AudioSequence id="sequence"/>
</Timeline>
</Namespace>
</Graph>


Alternatively a replication with anonymous namespace can be accessed as follows.

Bool App::MyLogic::OnInit(const Logic::IState* state)
{
if (!mMyInstances.Init(root->GetRootNamespace(), "/MY_LOCATION/MY_INSTANCE_NODE"))
{
return false;
}
// other stuff
return true;
}

MyInstance.xml

<Graph>
<Namespace activeAndVisible="no">
<Timeline id="timeline">
<AudioSequence id="sequence"/>
</Timeline>
</Namespace>
</Graph>

Constructor & Destructor Documentation

◆ GraphSoundInstance()

Murl::Logic::GraphSoundInstance::GraphSoundInstance ( Real  masterVolume = static_cast<Real>(1.0))
inline

The default constructor.

Parameters
masterVolumeThe master volume in range [0.0 .. 1.0].

Member Function Documentation

◆ Init() [1/4]

Bool Murl::Logic::GraphSoundInstance::Init ( INodeObserver nodeObserver,
const Graph::IRoot root,
const String replicationIdPath,
SInt32  index 
)
inlineoverridevirtual

Initialize the object.

Parameters
nodeObserverThe INodeObserver object.
rootThe graph root node.
replicationIdPathThe full path to the replication's graph namespace node.
indexThe index of the instance.
Returns
true if successful.

Reimplemented from Murl::Logic::GraphReplication.

References Murl::Graph::IRoot::FindNode(), and Init().

◆ Init() [2/4]

Bool Murl::Logic::GraphSoundInstance::Init ( INodeObserver nodeObserver,
Graph::INode replicationNode,
SInt32  index 
)
inlineoverridevirtual

Initialize the object.

Parameters
nodeObserverThe INodeObserver object.
replicationNodeThe replication's graph namespace node.
indexThe index of the instance.
Returns
true if successful.

Implements Murl::Logic::GraphReplication.

References Murl::Logic::INodeObserver::Add(), Murl::Logic::GraphNodeT< NodeType >::GetNode(), Murl::Logic::GraphNodeT< NodeType >::GetReference(), and Murl::Logic::GraphSoundObject::Init().

◆ DeInit()

Bool Murl::Logic::GraphSoundInstance::DeInit ( )
inlineoverridevirtual

Deinitialize the object.

Returns
true if successful.

Implements Murl::Logic::GraphReplication.

References Murl::Logic::GraphSoundObject::DeInit().

◆ SetObtained()

void Murl::Logic::GraphSoundInstance::SetObtained ( Bool  isObtained)
inlineoverridevirtual

Set the obtained state.

Parameters
isObtainedThe obtained state.

Implements Murl::Logic::GraphReplication.

References Murl::Logic::GraphNodeT< NodeType >::SetActiveAndVisible(), and Murl::Logic::GraphSoundObject::StopPlaying().

◆ OnReset()

void Murl::Logic::GraphSoundInstance::OnReset ( )
inlineoverrideprotectedvirtual

Overwrite of the BaseStepable::OnReset() method.

Reset the master volume to 1.0 and stop playing.

Reimplemented from Murl::Logic::BaseStepable.

References Murl::Logic::GraphSoundObject::SetMasterVolume(), and Murl::Logic::GraphSoundObject::StopPlaying().

◆ Init() [3/4]

virtual Bool Murl::Logic::GraphSoundObject::Init
inline

Initialize the object.

Parameters
nodeObserverThe INodeObserver object.
rootThe graph root node.
timelinePathThe full path to the graph timeline node instance.
sequencePathThe full path to the graph audio sequence node instance.
indexThe index of the instance.
Returns
true if successful.

Referenced by Init().

◆ Init() [4/4]

virtual Bool Murl::Logic::GraphSoundObject::Init
inline

Initialize the object.

Parameters
nodeObserverThe INodeObserver object.
namespaceNodeThe graph namespace node.
timelinePathThe relative path to the graph timeline node instance.
sequencePathThe relative path to the graph audio sequence node instance.
indexThe index of the instance.
Returns
true if successful.

The documentation for this class was generated from the following file:
  • murl_logic_graph_sound_instance.h


Copyright © 2011-2022 Spraylight GmbH.