Animation class for fading the volume of a GraphSoundObject. More...
#include "murl_logic_sound_fader.h"
Public Member Functions | |
SoundFader () | |
The default constructor. More... | |
SoundFader (GraphSoundObjectPtr soundObject) | |
The constructor taking a GraphSoundObject shared pointer. More... | |
~SoundFader () override | |
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 | DeInit () |
Deinitialize the object. More... | |
virtual void | FadeIn (Bool resume=false) |
Start and fade in the sound. More... | |
virtual void | FadeOut (Bool pause=false) |
Fade out the sound. More... | |
virtual Bool | SetDuration (Real duration) |
Set the fading duration. More... | |
virtual Real | GetDuration () const |
Get the fading duration. More... | |
virtual Bool | SetStartVolume (Real volume) |
Set the start volume. More... | |
virtual Bool | SetEndVolume (Real volume) |
Set the end volume. More... | |
virtual Bool | SetVolume (Real startVolume, Real endVolume) |
Set the start and end volume. More... | |
virtual Real | GetStartVolume () const |
Get the start volume. More... | |
virtual Real | GetEndVolume () const |
Get the end volume. More... | |
void | Reset () override |
Overwrite of the Animation::Reset() method. More... | |
Public Member Functions inherited from Murl::Logic::Animation< DataType > | |
Key & | AddKey (const Key &key) |
Add a key to the animation key array. More... | |
Key & | AddKey (Real time, const DataType &value) |
Add a key to the animation key array with linear interpolation. More... | |
Key & | AddKey (Real time, const DataType &value, IEnums::Interpolation interpolation) |
Add a key to the animation key array. More... | |
Key & | SetKey (SInt32 index, const Key &key) |
Set a key in the animation key array. More... | |
Key & | SetKey (SInt32 index, Real time, const DataType &value) |
Set a key in the animation key array with linear interpolation. More... | |
Key & | SetKey (SInt32 index, Real time, const DataType &value, IEnums::Interpolation interpolation) |
Set a key in the animation key array. More... | |
Key & | InsertKey (SInt32 index, const Key &key) |
Insert a key to the animation key array. More... | |
Key & | InsertKey (SInt32 index, Real time, const DataType &value) |
Insert a key to the animation key array with linear interpolation. More... | |
Key & | InsertKey (SInt32 index, Real time, const DataType &value, IEnums::Interpolation interpolation) |
Insert a key to the animation key array. More... | |
SInt32 | GetNumberOfKeys () const |
Get the number of keys. More... | |
const Key & | GetKey (SInt32 index) const |
Get a key from the animation key array. More... | |
Key & | GetKey (SInt32 index) |
Get a key from the animation key array. More... | |
Bool | ModifyKeyTime (SInt32 index, Real time) |
Modify the time of a key in the animation key array. More... | |
Bool | ModifyKeyValue (SInt32 index, const DataType &value) |
Modify the value of a key in the animation key array. More... | |
Bool | ModifyKeyInterpoation (SInt32 index, IEnums::Interpolation interpolation) |
Modify the interpolation of a key in the animation key array. More... | |
Bool | SetNumberOfKeys (SInt32 n) |
Set the number of keys. More... | |
Bool | RemoveKey (SInt32 index, SInt32 count=1) |
Remove keys at a given position. More... | |
void | EmptyKeys () |
Empty the keys, but keep the underlying storage. | |
void | ClearKeys () |
Clear the keys and remove the underlying storage. | |
void | SetIntermediateKeys (Real midTime, const DataType &midValue, Real endTime, const DataType &endValue, IEnums::Interpolation interpolation) |
Set keys for an intermediate time and value. More... | |
Animation () | |
The default constructor. | |
~Animation () override | |
The destructor. | |
operator IStepablePtr () | |
Conversion operator. More... | |
virtual void | OnEvaluateAnimation (const DataType ¤tValue) |
Called if the current value is set. More... | |
virtual const DataType & | GetCurrentValue () const |
Get the current value. More... | |
virtual Bool | StartForward () |
Start the timeline forward. More... | |
virtual Bool | StartBackward () |
Start the timeline backward. More... | |
virtual Bool | SetStartTimeFromKey (SInt32 index) |
Set the timeline start time from a specified key index. More... | |
virtual Bool | SetEndTimeFromKey (SInt32 index) |
Set the timeline end time from a specified key index. More... | |
virtual Bool | SetLoopStartTimeFromKey (SInt32 index) |
Set the timeline loop start time from a specified key index. More... | |
virtual Bool | SetLoopEndTimeFromKey (SInt32 index) |
Set the timeline loop end time from a specified key index. More... | |
virtual Bool | HasPassedTimeFromKey (SInt32 index) const |
Check if the current time has passed the time from a specified key index. More... | |
virtual Bool | IsOnTimeFromKey (SInt32 index) const |
Check if the current time is the time from a specified key index. More... | |
Public Member Functions inherited from Murl::Logic::Timeline | |
~Timeline () override | |
The destructor. | |
void | ProcessTick (const Logic::IState *state) override |
Implementation of IStepable::ProcessTick() method. More... | |
IStepablePtr | GetStepable () override |
Implementation of ITimeline::GetStepable() method. More... | |
Bool | SetAppTimeline (IAppTimelinePtr appTimeline) override |
Implementation of ITimeline::SetAppTimeline() method. More... | |
void | Evaluate () override |
Implementation of ITimeline::Evaluate() method. | |
void | Reset () override |
Implementation of ITimeline::Reset() and IStepable::Reset() method. | |
void | ResetTo (Real startTime) override |
Implementation of ITimeline::ResetTo() method. More... | |
Bool | Start () override |
Implementation of ITimeline::Start() method. More... | |
Bool | Start (Real startTime, Real endTime) override |
Implementation of ITimeline::Start(Real startTime, Real endTime) method. More... | |
Bool | Start (Real startTime, Real endTime, SInt32 numberOfLoops) override |
Implementation of ITimeline::Start(Real startTime, Real endTime, SInt32 numberOfLoops) method. More... | |
Bool | Start (Real startTime, Real endTime, Real loopStartTime, Real loopEndTime, SInt32 numberOfLoops) override |
Implementation of ITimeline::Start(Real startTime, Real endTime, Real loopStartTime, Real loopEndTime, SInt32 numberOfLoops) method. More... | |
Bool | Pause () override |
Implementation of ITimeline::Pause() method. More... | |
Bool | Stop () override |
Implementation of ITimeline::Stop() method. More... | |
Bool | Rewind () override |
Implementation of ITimeline::Rewind() method. More... | |
void | SetStartTime (Real startTime) override |
Implementation of ITimeline::SetStartTime() method. More... | |
Real | GetStartTime () const override |
Implementation of ITimeline::GetStartTime() method. More... | |
void | SetEndTime (Real endTime) override |
Implementation of ITimeline::SetEndTime() method. More... | |
Real | GetEndTime () const override |
Implementation of ITimeline::GetEndTime() method. More... | |
void | SetLoopStartTime (Real startTime) override |
Implementation of ITimeline::SetLoopStartTime() method. More... | |
Real | GetLoopStartTime () const override |
Implementation of ITimeline::GetLoopStartTime() method. More... | |
void | SetLoopEndTime (Real endTime) override |
Implementation of ITimeline::SetLoopEndTime() method. More... | |
Real | GetLoopEndTime () const override |
Implementation of ITimeline::GetLoopEndTime() method. More... | |
void | SetNumberOfLoops (SInt32 numberOfLoops) override |
Implementation of ITimeline::SetNumberOfLoops() method. More... | |
SInt32 | GetNumberOfLoops () const override |
Implementation of ITimeline::GetNumberOfLoops() method. More... | |
void | SetTimeScale (Real timeScale) override |
Implementation of ITimeline::SetTimeScale() method. More... | |
Real | GetTimeScale () const override |
Implementation of ITimeline::GetTimeScale() method. More... | |
void | SetAutoRewindEnabled (Bool enabled) override |
Implementation of ITimeline::SetAutoRewindEnabled() method. More... | |
Bool | IsAutoRewindEnabled () const override |
Implementation of ITimeline::IsAutoRewindEnabled() method. More... | |
Bool | IsRunning () const override |
Implementation of ITimeline::IsRunning() method. More... | |
Bool | IsPaused () const override |
Implementation of ITimeline::IsPaused() method. More... | |
Bool | IsStopped () const override |
Implementation of ITimeline::IsStopped() method. More... | |
Bool | WasStarted () const override |
Implementation of ITimeline::WasStarted() method. More... | |
Bool | WasRunning () const override |
Implementation of ITimeline::WasRunning() method. More... | |
Bool | IsOrWasRunning () const override |
Implementation of ITimeline::IsOrWasRunning() method. More... | |
Bool | HasPassedTime (Real time) const override |
Implementation of ITimeline::HasPassedTime() method. More... | |
Bool | HasPassedLoop (SInt32 loop) const override |
Implementation of ITimeline::HasPassedLoop() method. More... | |
Double | GetCurrentTime () const override |
Implementation of ITimeline::GetCurrentTime() method. More... | |
Double | GetRemainingTime () const override |
Implementation of ITimeline::GetRemainingTime() method. More... | |
void | SetCurrentTime (Double time) override |
Implementation of ITimeline::SetCurrentTime() method. More... | |
SInt32 | GetCurrentLoop () const override |
Implementation of ITimeline::GetCurrentLoop() method. More... | |
SInt32 | GetRemainingLoops () const override |
Implementation of ITimeline::GetRemainingLoops() method. More... | |
Bool | SetCurrentLoop (SInt32 loop) override |
Implementation of ITimeline::SetCurrentLoop() method. More... | |
IEnums::AnimationState | GetCurrentState () const override |
Implementation of ITimeline::GetCurrentState() method. 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 | FinishTick (const Logic::IState *state) override |
Implementation of IStepable::FinishTick() method. More... | |
Static Public Member Functions | |
static SoundFaderPtr | Create () |
Create a SoundFader object. More... | |
static SoundFaderPtr | Create (GraphSoundObjectPtr soundObject) |
Create a SoundFader object taking a GraphSoundObject. More... | |
Static Public Member Functions inherited from Murl::Logic::Animation< DataType > | |
static Ptr | Create () |
Create an Animation object. More... | |
Static Public Member Functions inherited from Murl::Logic::Timeline | |
static ITimelinePtr | Create () |
Create a timeline object. More... | |
Static Public Member Functions inherited from Murl::Logic::Stepable | |
static IStepablePtr | Create () |
Create a stepable object. More... | |
Public Attributes | |
GraphSoundObjectPtr | mSound |
The GraphSoundObject shared pointer. | |
Public Attributes inherited from Murl::Logic::Animation< DataType > | |
Array< Key > | mKeys |
The animation keys array. | |
Protected Member Functions | |
void | OnEvaluateAnimation (const Real ¤tValue) override |
Overwrite of the Animation::OnEvaluateAnimation() method. More... | |
Protected Member Functions inherited from Murl::Logic::Animation< DataType > | |
void | OnEvaluate (Double currentTime) override |
Overwrite of the IAppTimeline::OnEvaluate() method. More... | |
Protected Attributes | |
Bool | mPause |
The pause on stop state. | |
Additional Inherited Members | |
Public Types inherited from Murl::Logic::Animation< DataType > | |
using | ValueType = DataType |
The template parameter value type. | |
using | Key = AnimationKey< DataType > |
Type definition of the animation key data type. | |
using | Ptr = SharedPointer< Animation > |
The Animation shared pointer type. | |
Detailed Description
Animation class for fading the volume of a GraphSoundObject.
Constructor & Destructor Documentation
◆ SoundFader() [1/2]
|
inline |
The default constructor.
Allocates a new GraphSoundObject.
References Murl::Logic::Animation< DataType >::AddKey(), and Murl::IEnums::INTERPOLATION_EASE_IN_OUT.
Referenced by Create().
◆ SoundFader() [2/2]
|
inline |
The constructor taking a GraphSoundObject shared pointer.
Use Logic::GraphSoundObject::Create() to create the shared pointer.
- Parameters
-
soundObject The GraphSoundObject shared pointer.
References Murl::Logic::Animation< DataType >::AddKey(), and Murl::IEnums::INTERPOLATION_EASE_IN_OUT.
Member Function Documentation
◆ Create() [1/2]
|
inlinestatic |
◆ Create() [2/2]
|
inlinestatic |
Create a SoundFader object taking a GraphSoundObject.
Use Logic::GraphSoundObject::Create() to create the shared pointer.
- Parameters
-
soundObject The GraphSoundObject shared pointer.
- Returns
- The SoundFader shared pointer.
References SoundFader().
◆ Init() [1/2]
|
inlinevirtual |
Initialize the object.
- Parameters
-
nodeObserver The INodeObserver object. root The graph root node. timelinePath The full path to the graph timeline node instance. sequencePath The full path to the graph audio sequence node instance. index The index of the instance.
- Returns
- true if successful.
References mSound.
◆ Init() [2/2]
|
inlinevirtual |
Initialize the object.
- Parameters
-
nodeObserver The INodeObserver object. namespaceNode The logic namespace node. timelinePath The full path to the graph timeline node instance. sequencePath The full path to the graph audio sequence node instance. index The index of the instance.
- Returns
- true if successful.
References mSound.
◆ DeInit()
|
inlinevirtual |
◆ FadeIn()
|
inlinevirtual |
Start and fade in the sound.
- Parameters
-
resume If true resume playing the sound, otherwise restart the sound.
References mSound, and Murl::Logic::Animation< DataType >::StartForward().
◆ FadeOut()
|
inlinevirtual |
Fade out the sound.
- Parameters
-
pause If true pause the sound after fade out, otherwise stop the sound.
References mPause, and Murl::Logic::Animation< DataType >::StartBackward().
◆ SetDuration()
Set the fading duration.
- Parameters
-
duration The fading duration in seconds.
- Returns
- true if successful.
References Murl::Logic::Animation< DataType >::mKeys.
◆ GetDuration()
|
inlinevirtual |
Get the fading duration.
- Returns
- The fading duration in seconds.
References Murl::Logic::Animation< DataType >::mKeys.
◆ SetStartVolume()
Set the start volume.
- Parameters
-
volume The volume in range [0.0 .. 1.0].
- Returns
- true if successful.
References Murl::Logic::Animation< DataType >::mKeys.
◆ SetEndVolume()
Set the end volume.
- Parameters
-
volume The volume in range [0.0 .. 1.0].
- Returns
- true if successful.
References Murl::Logic::Animation< DataType >::mKeys.
◆ SetVolume()
Set the start and end volume.
- Parameters
-
startVolume The start volume in range [0.0 .. 1.0]. endVolume The end volume in range [0.0 .. 1.0].
- Returns
- true if successful.
References Murl::Logic::Animation< DataType >::mKeys.
◆ GetStartVolume()
|
inlinevirtual |
Get the start volume.
- Returns
- The start volume.
References Murl::Logic::Animation< DataType >::mKeys.
◆ GetEndVolume()
|
inlinevirtual |
◆ Reset()
|
inlineoverridevirtual |
Overwrite of the Animation::Reset() method.
Reset the animation and stop playing.
Reimplemented from Murl::Logic::Animation< DataType >.
References mSound, and Murl::Logic::Animation< DataType >::Reset().
◆ OnEvaluateAnimation()
|
inlineoverrideprotected |
Overwrite of the Animation::OnEvaluateAnimation() method.
Set the volume to the current value and stop playing if fade out was finished.
- Parameters
-
currentValue The current value.
References Murl::Logic::Timeline::GetCurrentTime(), Murl::Logic::Animation< DataType >::mKeys, mPause, mSound, and Murl::Logic::Timeline::WasRunning().
The documentation for this class was generated from the following file:
- murl_logic_sound_fader.h