00001 /******************************************************************************* 00002 The content of this file includes portions of the AUDIOKINETIC Wwise Technology 00003 released in source code form as part of the SDK installer package. 00004 00005 Commercial License Usage 00006 00007 Licensees holding valid commercial licenses to the AUDIOKINETIC Wwise Technology 00008 may use this file in accordance with the end user license agreement provided 00009 with the software or, alternatively, in accordance with the terms contained in a 00010 written agreement between you and Audiokinetic Inc. 00011 00012 Apache License Usage 00013 00014 Alternatively, this file may be used under the Apache License, Version 2.0 (the 00015 "Apache License"); you may not use this file except in compliance with the 00016 Apache License. You may obtain a copy of the Apache License at 00017 http://www.apache.org/licenses/LICENSE-2.0. 00018 00019 Unless required by applicable law or agreed to in writing, software distributed 00020 under the Apache License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 00021 OR CONDITIONS OF ANY KIND, either express or implied. See the Apache License for 00022 the specific language governing permissions and limitations under the License. 00023 00024 Version: <VERSION> Build: <BUILDNUMBER> 00025 Copyright (c) <COPYRIGHTYEAR> Audiokinetic Inc. 00026 *******************************************************************************/ 00027 00028 #ifndef _AK_SOUNDENGINE_AKDYNAMICDIALOGUE_H 00029 #define _AK_SOUNDENGINE_AKDYNAMICDIALOGUE_H 00030 00031 #include <AK/SoundEngine/Common/AkSoundEngine.h> 00032 00033 /// Callback prototype used with dialogue event resolution. This function is called 00034 /// for every candidate in a ResolveDialogueEvent execution. 00035 /// \return true to accept candidate, false to reject. 00036 /// \sa 00037 /// - AK::SoundEngine::DynamicDialogue::ResolveDialogueEvent() 00038 AK_CALLBACK( bool, AkCandidateCallbackFunc )( 00039 AkUniqueID in_idEvent, 00040 AkUniqueID in_idCandidate, 00041 void* in_cookie 00042 ); 00043 00044 namespace AK 00045 { 00046 namespace SoundEngine 00047 { 00048 /// Dynamic Dialogue namespace 00049 /// \remarks The functions in this namespace are thread-safe, unless stated otherwise. 00050 namespace DynamicDialogue 00051 { 00052 /// Resolve a dialogue event into an audio node ID based on the specified argument path. 00053 /// \return Unique ID of audio node, or AK_INVALID_UNIQUE_ID if no audio node is defined for specified argument path 00054 AK_EXTERNAPIFUNC( AkUniqueID, ResolveDialogueEvent )( 00055 AkUniqueID in_eventID, ///< Unique ID of dialogue event 00056 AkArgumentValueID* in_aArgumentValues, ///< Argument path, as array of argument value IDs. AK_FALLBACK_ARGUMENTVALUE_ID indicates a fallback argument value 00057 AkUInt32 in_uNumArguments, ///< Number of argument value IDs in in_aArgumentValues 00058 AkPlayingID in_idSequence = AK_INVALID_PLAYING_ID, ///< Optional sequence ID in which the token will be inserted (for profiling purposes) 00059 AkCandidateCallbackFunc in_candidateCallbackFunc = NULL, ///< Optional callback for candidate validation based on custom criteria 00060 void* in_pCookie = NULL ///< Callback cookie (reserved to user, passed to the callback function) 00061 ); 00062 00063 #ifdef AK_SUPPORT_WCHAR 00064 /// Resolve a dialogue event into an audio node ID based on the specified argument path. 00065 /// \return Unique ID of audio node, or AK_INVALID_UNIQUE_ID if no audio node is defined for specified argument path 00066 AK_EXTERNAPIFUNC( AkUniqueID, ResolveDialogueEvent )( 00067 const wchar_t* in_pszEventName, ///< Name of dialogue event 00068 const wchar_t** in_aArgumentValueNames, ///< Argument path, as array of argument value names. L"" indicates a fallback argument value 00069 AkUInt32 in_uNumArguments, ///< Number of argument value names in in_aArgumentValueNames 00070 AkPlayingID in_idSequence = AK_INVALID_PLAYING_ID, ///< Optional sequence ID in which the token will be inserted (for profiling purposes) 00071 AkCandidateCallbackFunc in_candidateCallbackFunc = NULL, ///< Optional callback for candidate validation based on custom criteria 00072 void* in_pCookie = NULL ///< Callback cookie (reserved to user, passed to the callback function) 00073 ); 00074 #endif //AK_SUPPORT_WCHAR 00075 00076 /// Resolve a dialogue event into an audio node ID based on the specified argument path. 00077 /// \return Unique ID of audio node, or AK_INVALID_UNIQUE_ID if no audio node is defined for specified argument path 00078 AK_EXTERNAPIFUNC( AkUniqueID, ResolveDialogueEvent )( 00079 const char* in_pszEventName, ///< Name of dialogue event 00080 const char** in_aArgumentValueNames, ///< Argument path, as array of argument value names. "" indicates a fallback argument value 00081 AkUInt32 in_uNumArguments, ///< Number of argument value names in in_aArgumentValueNames 00082 AkPlayingID in_idSequence = AK_INVALID_PLAYING_ID, ///< Optional sequence ID in which the token will be inserted (for profiling purposes) 00083 AkCandidateCallbackFunc in_candidateCallbackFunc = NULL, ///< Optional callback for candidate validation based on custom criteria 00084 void* in_pCookie = NULL ///< Callback cookie (reserved to user, passed to the callback function) 00085 ); 00086 00087 /// Get the value of a custom property of integer or boolean type. 00088 /// \return 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. 00089 AK_EXTERNAPIFUNC(AKRESULT, GetDialogueEventCustomPropertyValue)( 00090 AkUniqueID in_eventID, ///< Unique ID of dialogue event 00091 AkUInt32 in_uPropID, ///< Property ID of your custom property found under the Custom Properties tab of the Wwise project settings. 00092 AkInt32& out_iValue ///< Property Value 00093 ); 00094 00095 /// Get the value of a custom property of real type. 00096 /// \return 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. 00097 AK_EXTERNAPIFUNC(AKRESULT, GetDialogueEventCustomPropertyValue)( 00098 AkUniqueID in_eventID, ///< Unique ID of dialogue event 00099 AkUInt32 in_uPropID, ///< Property ID of your custom property found under the Custom Properties tab of the Wwise project settings. 00100 AkReal32& out_fValue ///< Property Value 00101 ); 00102 } 00103 } 00104 } 00105 00106 #endif // _AK_SOUNDENGINE_AKDYNAMICDIALOGUE_H
Questions? Problems? Need more info? Contact us, and we can help!
Visit our Support pageRegister your project and we'll help you get started with no strings attached!
Get started with Wwise