28 #ifndef _AK_SOUNDENGINE_AKDYNAMICSEQUENCE_H
29 #define _AK_SOUNDENGINE_AKDYNAMICSEQUENCE_H
31 #include <AK/SoundEngine/Common/AkSoundEngine.h>
32 #include <AK/Tools/Common/AkArray.h>
34 class AkExternalSourceArray;
42 namespace DynamicSequence
59 AKASSERT(pExternalSrcs == NULL);
78 AkExternalSourceArray *pExternalSrcs;
86 :
public AkArray<PlaylistItem, const PlaylistItem&, ArrayPoolDefault, 4>
92 AkUniqueID in_audioNodeID,
93 AkTimeMs in_msDelay = 0,
94 void * in_pCustomInfo = NULL,
95 AkUInt32 in_cExternals = 0,
141 AK_EXTERNAPIFUNC( AkPlayingID,
Open )(
142 AkGameObjectID in_gameObjectID,
143 AkUInt32 in_uFlags = 0,
144 AkCallbackFunc in_pfnCallback = NULL,
145 void* in_pCookie = NULL,
151 AK_EXTERNAPIFUNC( AKRESULT,
Close )(
152 AkPlayingID in_playingID
156 AK_EXTERNAPIFUNC( AKRESULT,
Play )(
157 AkPlayingID in_playingID,
158 AkTimeMs in_uTransitionDuration = 0,
159 AkCurveInterpolation in_eFadeCurve = AkCurveInterpolation_Linear
164 AK_EXTERNAPIFUNC( AKRESULT,
Pause )(
165 AkPlayingID in_playingID,
166 AkTimeMs in_uTransitionDuration = 0,
167 AkCurveInterpolation in_eFadeCurve = AkCurveInterpolation_Linear
172 AkPlayingID in_playingID,
173 AkTimeMs in_uTransitionDuration = 0,
174 AkCurveInterpolation in_eFadeCurve = AkCurveInterpolation_Linear
180 AK_EXTERNAPIFUNC( AKRESULT,
Stop )(
181 AkPlayingID in_playingID,
182 AkTimeMs in_uTransitionDuration = 0,
183 AkCurveInterpolation in_eFadeCurve = AkCurveInterpolation_Linear
187 AK_EXTERNAPIFUNC( AKRESULT,
Break )(
188 AkPlayingID in_playingID
193 AkPlayingID in_playingID,
195 AkUInt32 &out_uDuration
201 AkPlayingID in_playingID,
202 AkUniqueID & out_audioNodeID,
203 void *& out_pCustomInfo
211 AkPlayingID in_playingID
218 AkPlayingID in_playingID
224 #endif // _AK_SOUNDENGINE_AKDYNAMICSEQUENCE_H
AKSOUNDENGINE_API AKRESULT Stop(AkPlayingID in_playingID, AkTimeMs in_uTransitionDuration=0, AkCurveInterpolation in_eFadeCurve=AkCurveInterpolation_Linear)
AKRESULT SetExternalSources(AkUInt32 in_nExternalSrc, AkExternalSourceInfo *in_pExternalSrc)
AKSOUNDENGINE_API AKRESULT GetPlayingItem(AkPlayingID in_playingID, AkUniqueID &out_audioNodeID, void *&out_pCustomInfo)
AkUniqueID audioNodeID
Unique ID of Audio Node.
AkTimeMs msDelay
Delay before playing this item, in milliseconds.
PlaylistItem & operator=(const PlaylistItem &in_rCopy)
AKSOUNDENGINE_API AKRESULT Resume(AkPlayingID in_playingID, AkTimeMs in_uTransitionDuration=0, AkCurveInterpolation in_eFadeCurve=AkCurveInterpolation_Linear)
Resume specified Dynamic Sequence.
Specific implementation of array.
AKSOUNDENGINE_API AKRESULT Pause(AkPlayingID in_playingID, AkTimeMs in_uTransitionDuration=0, AkCurveInterpolation in_eFadeCurve=AkCurveInterpolation_Linear)
PlaylistItem(const PlaylistItem &in_rCopy)
AKSOUNDENGINE_API Playlist * LockPlaylist(AkPlayingID in_playingID)
AKSOUNDENGINE_API AKRESULT Play(AkPlayingID in_playingID, AkTimeMs in_uTransitionDuration=0, AkCurveInterpolation in_eFadeCurve=AkCurveInterpolation_Linear)
Play specified Dynamic Sequence.
@ DynamicSequenceType_SampleAccurate
Sample accurate mode.
AkForceInline AKRESULT Enqueue(AkUniqueID in_audioNodeID, AkTimeMs in_msDelay=0, void *in_pCustomInfo=NULL, AkUInt32 in_cExternals=0, AkExternalSourceInfo *in_pExternalSources=NULL)
AkExternalSourceArray * GetExternalSources()
Get the external source array. Internal use only.
AkForceInline PlaylistItem * AddLast()
AKSOUNDENGINE_API AKRESULT UnlockPlaylist(AkPlayingID in_playingID)
AKSOUNDENGINE_API AkPlayingID Open(AkGameObjectID in_gameObjectID, AkUInt32 in_uFlags=0, AkCallbackFunc in_pfnCallback=NULL, void *in_pCookie=NULL, DynamicSequenceType in_eDynamicSequenceType=DynamicSequenceType_SampleAccurate)
@ DynamicSequenceType_NormalTransition
Normal transition mode, allows the entire playlist to be edited at all times.
AKSOUNDENGINE_API AKRESULT GetPauseTimes(AkPlayingID in_playingID, AkUInt32 &out_uTime, AkUInt32 &out_uDuration)
Get pause times.
void * pCustomInfo
Optional user data.
bool operator==(const PlaylistItem &in_rCopy)
AKSOUNDENGINE_API AKRESULT Close(AkPlayingID in_playingID)
AKSOUNDENGINE_API AKRESULT Break(AkPlayingID in_playingID)
Break specified Dynamic Sequence. The sequence will stop after the current item.
Tell us about your project. We're here to help.
Register your project and we'll help you get started with no strings attached!
Get started with Wwise