Version
menu

Wwise SDK 2024.1.10
AkDynamicDialogue.h
Go to the documentation of this file.
1 /*******************************************************************************
2 The content of this file includes portions of the AUDIOKINETIC Wwise Technology
3 released in source code form as part of the SDK installer package.
4 
5 Commercial License Usage
6 
7 Licensees holding valid commercial licenses to the AUDIOKINETIC Wwise Technology
8 may use this file in accordance with the end user license agreement provided
9 with the software or, alternatively, in accordance with the terms contained in a
10 written agreement between you and Audiokinetic Inc.
11 
12 Apache License Usage
13 
14 Alternatively, this file may be used under the Apache License, Version 2.0 (the
15 "Apache License"); you may not use this file except in compliance with the
16 Apache License. You may obtain a copy of the Apache License at
17 http://www.apache.org/licenses/LICENSE-2.0.
18 
19 Unless required by applicable law or agreed to in writing, software distributed
20 under the Apache License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
21 OR CONDITIONS OF ANY KIND, either express or implied. See the Apache License for
22 the specific language governing permissions and limitations under the License.
23 
24  Copyright (c) 2025 Audiokinetic Inc.
25 *******************************************************************************/
26 
27 #ifndef _AK_SOUNDENGINE_AKDYNAMICDIALOGUE_H
28 #define _AK_SOUNDENGINE_AKDYNAMICDIALOGUE_H
29 
30 #include AK/SoundEngine/Common/AkSoundEngine.h>
31 
32 /// Callback prototype used with dialogue event resolution. This function is called
33 /// for every candidate in a ResolveDialogueEvent execution.
34 /// \return true to accept candidate, false to reject.
35 /// \sa
36 /// - AK::SoundEngine::DynamicDialogue::ResolveDialogueEvent()
38  AkUniqueID in_idEvent,
39  AkUniqueID in_idCandidate,
40  void* in_cookie
41  );
42 
43 namespace AK
44 {
45  namespace SoundEngine
46  {
47  /// Dynamic Dialogue namespace
48  /// \remarks The functions in this namespace are thread-safe, unless stated otherwise.
49  namespace DynamicDialogue
50  {
51  /// Resolve a dialogue event into an audio node ID based on the specified argument path.
52  /// \return Unique ID of audio node, or AK_INVALID_UNIQUE_ID if no audio node is defined for specified argument path
54  AkUniqueID in_eventID, ///
55  AkArgumentValueID* in_aArgumentValues, ///
56  AkUInt32 in_uNumArguments, ///
57  AkPlayingID in_idSequence = AK_INVALID_PLAYING_ID, ///
58  AkCandidateCallbackFunc in_candidateCallbackFunc = NULL, ///
59  void* in_pCookie = NULL ///
60  );
61 
62 #ifdef AK_SUPPORT_WCHAR
63  /// Resolve a dialogue event into an audio node ID based on the specified argument path.
64  /// \return Unique ID of audio node, or AK_INVALID_UNIQUE_ID if no audio node is defined for specified argument path
66  const wchar_t* in_pszEventName, ///
67  const wchar_t** in_aArgumentValueNames, ///
68  AkUInt32 in_uNumArguments, ///
69  AkPlayingID in_idSequence = AK_INVALID_PLAYING_ID, ///
70  AkCandidateCallbackFunc in_candidateCallbackFunc = NULL, ///
71  void* in_pCookie = NULL ///
72  );
73 #endif //AK_SUPPORT_WCHAR
74 
75  /// Resolve a dialogue event into an audio node ID based on the specified argument path.
76  /// \return Unique ID of audio node, or AK_INVALID_UNIQUE_ID if no audio node is defined for specified argument path
78  const char* in_pszEventName, ///
79  const char** in_aArgumentValueNames, ///
80  AkUInt32 in_uNumArguments, ///
81  AkPlayingID in_idSequence = AK_INVALID_PLAYING_ID, ///
82  AkCandidateCallbackFunc in_candidateCallbackFunc = NULL, ///
83  void* in_pCookie = NULL ///
84  );
85 
86  /// Get the value of a custom property of integer or boolean type.
87  /// \return
88  /// - AK_Success if the value is found
89  /// - AK_PartialSuccess if the event was found but no matching custom property was found on this object. Note that it could mean this value is the default value.
90  /// - AK_IDNotFound if the EventID is unknown (not loaded or typo in the id)
92  AkUniqueID in_eventID, ///
93  AkUInt32 in_uPropID, ///
94  AkInt32& out_iValue ///
95  );
96 
97  /// Get the value of a custom property of real type.
98  /// \return
99  /// - AK_Success if the value is found
100  /// - AK_PartialSuccess if the event was found but no matching custom property was found on this object. Note that it could mean this value is the default value.
101  /// - AK_IDNotFound if the EventID is unknown (not loaded or typo in the id)
103  AkUniqueID in_eventID, ///
104  AkUInt32 in_uPropID, ///
105  AkReal32& out_fValue ///
106  );
107  }
108  }
109 }
110 
111 #endif // _AK_SOUNDENGINE_AKDYNAMICDIALOGUE_H
AKSOUNDENGINE_API AkUniqueID ResolveDialogueEvent(AkUniqueID in_eventID, AkArgumentValueID *in_aArgumentValues, AkUInt32 in_uNumArguments, AkPlayingID in_idSequence=AK_INVALID_PLAYING_ID, AkCandidateCallbackFunc in_candidateCallbackFunc=NULL, void *in_pCookie=NULL)
Definition of data structures for AkAudioObject.
#define AK_EXTERNAPIFUNC(_type, _name)
AKRESULT
Standard function call result.
Definition: AkTypes.h:134
AkUInt32 AkArgumentValueID
Argument value ID.
Definition: AkTypes.h:80
#define NULL
Definition: AkTypes.h:46
float AkReal32
32-bit floating point
int32_t AkInt32
Signed 32-bit integer.
AKSOUNDENGINE_API AKRESULT GetDialogueEventCustomPropertyValue(AkUniqueID in_eventID, AkUInt32 in_uPropID, AkInt32 &out_iValue)
AkUInt32 AkUniqueID
Unique 32-bit ID.
Definition: AkTypes.h:52
#define AK_CALLBACK(_type, _name)
static const AkPlayingID AK_INVALID_PLAYING_ID
Invalid playing ID.
Definition: AkTypes.h:99
uint32_t AkUInt32
Unsigned 32-bit integer.
bool(* AkCandidateCallbackFunc)(AkUniqueID in_idEvent, AkUniqueID in_idCandidate, void *in_cookie)
AkUInt32 AkPlayingID
A unique identifier generated whenever a PostEvent is called (or when a Dynamic Sequence is created)....
Definition: AkTypes.h:55

Was this page helpful?

Need Support?

Questions? Problems? Need more info? Contact us, and we can help!

Visit our Support page

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