waapi.h 41 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481
  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. Commercial License Usage
  5. Licensees holding valid commercial licenses to the AUDIOKINETIC Wwise Technology
  6. may use this file in accordance with the end user license agreement provided
  7. with the software or, alternatively, in accordance with the terms contained in a
  8. written agreement between you and Audiokinetic Inc.
  9. Apache License Usage
  10. Alternatively, this file may be used under the Apache License, Version 2.0 (the
  11. "Apache License"); you may not use this file except in compliance with the
  12. Apache License. You may obtain a copy of the Apache License at
  13. http://www.apache.org/licenses/LICENSE-2.0.
  14. Unless required by applicable law or agreed to in writing, software distributed
  15. under the Apache License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
  16. OR CONDITIONS OF ANY KIND, either express or implied. See the Apache License for
  17. the specific language governing permissions and limitations under the License.
  18. Copyright (c) 2023 Audiokinetic Inc.
  19. */
  20. #pragma once
  21. namespace ak
  22. {
  23. namespace soundengine
  24. {
  25. /*! Executes an action on all nodes that are referenced in the specified event in a Play action. See <tt>AK::SoundEngine::ExecuteActionOnEvent</tt>. */
  26. static const char* executeActionOnEvent = "ak.soundengine.executeActionOnEvent";
  27. /*! Gets the current state of a State Group. When using setState just prior to getState, allow a brief delay (no more than 10ms) for the information to update in the sound engine. */
  28. static const char* getState = "ak.soundengine.getState";
  29. /*! Gets the current state of a Switch Group for a given Game Object. */
  30. static const char* getSwitch = "ak.soundengine.getSwitch";
  31. /*! Load a SoundBank. See <tt>AK::SoundEngine::LoadBank</tt>. */
  32. static const char* loadBank = "ak.soundengine.loadBank";
  33. /*! Asynchronously post an Event to the sound engine (by event ID). See <tt>AK::SoundEngine::PostEvent</tt>. */
  34. static const char* postEvent = "ak.soundengine.postEvent";
  35. /*! Display a message in the Profiler's Capture Log view. */
  36. static const char* postMsgMonitor = "ak.soundengine.postMsgMonitor";
  37. /*! Posts the specified Trigger. See <tt>AK::SoundEngine::PostTrigger</tt>. */
  38. static const char* postTrigger = "ak.soundengine.postTrigger";
  39. /*! Register a game object. Registering a game object twice does nothing. Unregistering it once unregisters it no matter how many times it has been registered. See <tt>AK::SoundEngine::RegisterGameObj</tt>. */
  40. static const char* registerGameObj = "ak.soundengine.registerGameObj";
  41. /*! Resets the value of a real-time parameter control to its default value, as specified in the Wwise project. See <tt>AK::SoundEngine::ResetRTPCValue</tt>. */
  42. static const char* resetRTPCValue = "ak.soundengine.resetRTPCValue";
  43. /*! Seeks inside all playing objects that are referenced in Play Actions of the specified Event. See <tt>AK::SoundEngine::SeekOnEvent</tt>. */
  44. static const char* seekOnEvent = "ak.soundengine.seekOnEvent";
  45. /*! Sets the default active listeners for all subsequent game objects that are registered. See <tt>AK::SoundEngine::SetDefaultListeners</tt>. */
  46. static const char* setDefaultListeners = "ak.soundengine.setDefaultListeners";
  47. /*! Sets the Auxiliary Busses to route the specified game object. See <tt>AK::SoundEngine::SetGameObjectAuxSendValues</tt>. */
  48. static const char* setGameObjectAuxSendValues = "ak.soundengine.setGameObjectAuxSendValues";
  49. /*! Set the output bus volume (direct) to be used for the specified game object. See <tt>AK::SoundEngine::SetGameObjectOutputBusVolume</tt>. */
  50. static const char* setGameObjectOutputBusVolume = "ak.soundengine.setGameObjectOutputBusVolume";
  51. /*! Sets a listener's spatialization parameters. This lets you define listener-specific volume offsets for each audio channel. See <tt>AK::SoundEngine::SetListenerSpatialization</tt>. */
  52. static const char* setListenerSpatialization = "ak.soundengine.setListenerSpatialization";
  53. /*! Sets a single game object's active listeners. By default, all new game objects have no listeners active, but this behavior can be overridden with <tt>SetDefaultListeners()</tt>. Inactive listeners are not computed. See <tt>AK::SoundEngine::SetListeners</tt>. */
  54. static const char* setListeners = "ak.soundengine.setListeners";
  55. /*! Sets multiple positions for a single game object. Setting multiple positions for a single game object is a way to simulate multiple emission sources while using the resources of only one voice. This can be used to simulate wall openings, area sounds, or multiple objects emitting the same sound in the same area. See <tt>AK::SoundEngine::SetMultiplePositions</tt>. */
  56. static const char* setMultiplePositions = "ak.soundengine.setMultiplePositions";
  57. /*! Set a game object's obstruction and occlusion levels. This function is used to affect how an object should be heard by a specific listener. See <tt>AK::SoundEngine::SetObjectObstructionAndOcclusion</tt>. */
  58. static const char* setObjectObstructionAndOcclusion = "ak.soundengine.setObjectObstructionAndOcclusion";
  59. /*! Sets the position of a game object. See <tt>AK::SoundEngine::SetPosition</tt>. */
  60. static const char* setPosition = "ak.soundengine.setPosition";
  61. /*! Sets the value of a real-time parameter control. See <tt>AK::SoundEngine::SetRTPCValue</tt>. */
  62. static const char* setRTPCValue = "ak.soundengine.setRTPCValue";
  63. /*! Sets the scaling factor of a game object. You can modify the attenuation computations on this game object to simulate sounds with a larger or smaller affected areas. See <tt>AK::SoundEngine::SetScalingFactor</tt>. */
  64. static const char* setScalingFactor = "ak.soundengine.setScalingFactor";
  65. /*! Sets the State of a State Group. See <tt>AK::SoundEngine::SetState</tt>. */
  66. static const char* setState = "ak.soundengine.setState";
  67. /*! Sets the State of a Switch Group. See <tt>AK::SoundEngine::SetSwitch</tt>. */
  68. static const char* setSwitch = "ak.soundengine.setSwitch";
  69. /*! Stop playing the current content associated to the specified game object ID. If no game object is specified, all sounds are stopped. See <tt>AK::SoundEngine::StopAll</tt>. */
  70. static const char* stopAll = "ak.soundengine.stopAll";
  71. /*! Stops the current content, associated to the specified playing ID, from playing. See <tt>AK::SoundEngine::StopPlayingID</tt>. */
  72. static const char* stopPlayingID = "ak.soundengine.stopPlayingID";
  73. /*! Unload a SoundBank. See <tt>AK::SoundEngine::UnloadBank</tt>. */
  74. static const char* unloadBank = "ak.soundengine.unloadBank";
  75. /*! Unregisters a game object. Registering a game object twice does nothing. Unregistering it once unregisters it no matter how many times it has been registered. Unregistering a game object while it is in use is allowed, but the control over the parameters of this game object is lost. For example, say a sound associated with this game object is a 3D moving sound. It stops moving when the game object is unregistered, and there is no way to regain control over the game object. See <tt>AK::SoundEngine::UnregisterGameObj</tt>. */
  76. static const char* unregisterGameObj = "ak.soundengine.unregisterGameObj";
  77. }
  78. namespace wwise
  79. {
  80. namespace cli
  81. {
  82. /*! Adds a new platform to a project. The platform must not already exist. */
  83. static const char* addNewPlatform = "ak.wwise.cli.addNewPlatform";
  84. /*! External sources conversion. Converts the external sources files for the specified project. Optionally, additional WSOURCES can be specified. External Sources are a special type of source that you can put in a sound object in Wwise. It indicates that the real sound data will be provided at runtime. While external source conversion can be triggered by SoundBank generation, this operation can be used to process sources not contained in the Wwise Project. Refer to \ref integrating_external_sources. */
  85. static const char* convertExternalSource = "ak.wwise.cli.convertExternalSource";
  86. /*! Creates a blank new project. The project must not already exist. If the directory does not exist, it is created. */
  87. static const char* createNewProject = "ak.wwise.cli.createNewProject";
  88. /*! Dump the objects model of a project as a JSON file. */
  89. static const char* dumpObjects = "ak.wwise.cli.dumpObjects";
  90. /*! Execute a Lua script. Optionally, specify additional Lua search paths, additional modules, and additional Lua scripts to load prior to the main script. The script can return a value. All arguments will be passed to the Lua script in the "wa_args" global variable. */
  91. static const char* executeLuaScript = "ak.wwise.cli.executeLuaScript";
  92. /*! SoundBank generation. SoundBank generation is performed according to the settings stored in the project. User SoundBanks Settings are normally ignored when SoundBank generation is launched from the command line. However, when using the Source Control for generated SoundBanks, the User Project Settings are loaded for the Source Control settings. Also, some of these settings can be overridden from the command line. */
  93. static const char* generateSoundbank = "ak.wwise.cli.generateSoundbank";
  94. /*! Migrates and saves the project. */
  95. static const char* migrate = "ak.wwise.cli.migrate";
  96. /*! Moves the project's media IDs from its work units (.wwu) to a single file, <project-name>.mediaid. This command forces a save of all the project's work units. */
  97. static const char* moveMediaIdsToSingleFile = "ak.wwise.cli.moveMediaIdsToSingleFile";
  98. /*! Moves the project's media IDs from a single xml file <project-name>.mediaid to its work units (.wwu). This command forces a save of all the project's work units. */
  99. static const char* moveMediaIdsToWorkUnits = "ak.wwise.cli.moveMediaIdsToWorkUnits";
  100. /*! Imports a tab-delimited file to create and modify different object hierarchies. The project is automatically migrated (if required). It is also automatically saved following the import. */
  101. static const char* tabDelimitedImport = "ak.wwise.cli.tabDelimitedImport";
  102. /*! Loads the project and updates the contents of <project-name>.mediaid, if it exists. */
  103. static const char* updateMediaIdsInSingleFile = "ak.wwise.cli.updateMediaIdsInSingleFile";
  104. /*! Loads the project and does nothing else. This is useful to see the log for verification purposes without actually migrating and saving. */
  105. static const char* verify = "ak.wwise.cli.verify";
  106. /*! Starts a command-line Wwise Authoring API server, to which client applications, using the Wwise Authoring API, can connect. */
  107. static const char* waapiServer = "ak.wwise.cli.waapiServer";
  108. }
  109. namespace console
  110. {
  111. namespace project
  112. {
  113. /*! Closes the current project. This operation is synchronous. */
  114. static const char* close = "ak.wwise.console.project.close";
  115. /*! Creates, saves and opens new empty project, specified by path and platform. The project has no factory setting WorkUnit. This operation is synchronous. */
  116. static const char* create = "ak.wwise.console.project.create";
  117. /*! Opens a project, specified by path. This operation is synchronous. */
  118. static const char* open = "ak.wwise.console.project.open";
  119. }
  120. }
  121. namespace core
  122. {
  123. namespace audio
  124. {
  125. /*! Creates Wwise objects and imports audio files. This function does not return an error when something fails during the import process, please refer to the log for the result of each import command. This function uses the same importation processor available through the Tab Delimited import in the Audio File Importer. The function returns an array of all objects created, replaced or re-used. Use the options to specify how the objects are returned. For more information, refer to \ref waapi_import. */
  126. static const char* import = "ak.wwise.core.audio.import";
  127. /*! Scripted object creation and audio file import from a tab-delimited file. */
  128. static const char* importTabDelimited = "ak.wwise.core.audio.importTabDelimited";
  129. /*! Sent at the end of an import operation. */
  130. static const char* imported = "ak.wwise.core.audio.imported";
  131. /*! Mutes an object. */
  132. static const char* mute = "ak.wwise.core.audio.mute";
  133. /*! Unmute all muted objects. */
  134. static const char* resetMute = "ak.wwise.core.audio.resetMute";
  135. /*! Unsolo all soloed objects. */
  136. static const char* resetSolo = "ak.wwise.core.audio.resetSolo";
  137. /*! Solos an object. */
  138. static const char* solo = "ak.wwise.core.audio.solo";
  139. }
  140. namespace audioSourcePeaks
  141. {
  142. /*! Gets the min/max peak pairs, in the given region of an audio source, as a collection of binary strings (one per channel). The strings are base-64 encoded, 16-bit signed int arrays, with min and max values being interleaved. If getCrossChannelPeaks is true, only one binary string represents the peaks across all channels globally. */
  143. static const char* getMinMaxPeaksInRegion = "ak.wwise.core.audioSourcePeaks.getMinMaxPeaksInRegion";
  144. /*! Gets the min/max peak pairs in the entire trimmed region of an audio source, for each channel, as an array of binary strings (one per channel). The strings are base-64 encoded, 16-bit signed int arrays, with min and max values being interleaved. If getCrossChannelPeaks is true, there is only one binary string representing peaks across all channels globally. */
  145. static const char* getMinMaxPeaksInTrimmedRegion = "ak.wwise.core.audioSourcePeaks.getMinMaxPeaksInTrimmedRegion";
  146. }
  147. /*! Execute a Lua script. Optionally, specify additional Lua search paths, additional modules, and additional Lua scripts to load prior to the main script. The script can return a value. All arguments will be passed to the Lua script in the "wa_args" global variable. */
  148. static const char* executeLuaScript = "ak.wwise.core.executeLuaScript";
  149. /*! Retrieve global Wwise information. */
  150. static const char* getInfo = "ak.wwise.core.getInfo";
  151. /*! Retrieve information about the current project opened, including platforms, languages and project directories. */
  152. static const char* getProjectInfo = "ak.wwise.core.getProjectInfo";
  153. namespace log
  154. {
  155. /*! Adds a new item to the logs on the specified channel. */
  156. static const char* addItem = "ak.wwise.core.log.addItem";
  157. /*! Clears the logs on the specified channel. */
  158. static const char* clear = "ak.wwise.core.log.clear";
  159. /*! Retrieves the latest log for a specific channel. Refer to \ref ak_wwise_core_log_itemadded to be notified when an item is added to the log. The log is empty when used in WwiseConsole. */
  160. static const char* get = "ak.wwise.core.log.get";
  161. /*! Sent when an item is added to the log. This could be used to retrieve items added to the SoundBank generation log. To retrieve the complete log, refer to \ref ak_wwise_core_log_get. */
  162. static const char* itemAdded = "ak.wwise.core.log.itemAdded";
  163. }
  164. namespace object
  165. {
  166. /*! Sent when an attenuation curve is changed. */
  167. static const char* attenuationCurveChanged = "ak.wwise.core.object.attenuationCurveChanged";
  168. /*! Sent when an attenuation curve's link/unlink is changed. */
  169. static const char* attenuationCurveLinkChanged = "ak.wwise.core.object.attenuationCurveLinkChanged";
  170. /*! Sent when an object is added as a child to another object. */
  171. static const char* childAdded = "ak.wwise.core.object.childAdded";
  172. /*! Sent when an object is removed from the children of another object. */
  173. static const char* childRemoved = "ak.wwise.core.object.childRemoved";
  174. /*! Copies an object to the given parent. Note that if a Work Unit is copied, the operation cannot be undone and the project will be saved. */
  175. static const char* copy = "ak.wwise.core.object.copy";
  176. /*! Creates an object of type 'type', as a child of 'parent'. Refer to \ref waapi_import for more information about creating objects. Also refer to \ref ak_wwise_core_audio_import to import audio files to Wwise. To create Effect or Source plug-ins, use \ref ak_wwise_core_object_set, and refer to \ref wobjects_index for the classId. */
  177. static const char* create = "ak.wwise.core.object.create";
  178. /*! Sent when an object is created. */
  179. static const char* created = "ak.wwise.core.object.created";
  180. /*! Sent when one or many curves are changed. */
  181. static const char* curveChanged = "ak.wwise.core.object.curveChanged";
  182. /*! Deletes the specified object. Note that if a Work Unit is deleted, the operation cannot be undone and the project will be saved. */
  183. static const char* delete_ = "ak.wwise.core.object.delete";
  184. /*! Compares properties and lists of the source object with those in the target object. */
  185. static const char* diff = "ak.wwise.core.object.diff";
  186. /*! Performs a query and returns the data, as specified in the options, for each object in the query result. The query can specify either a 'waql' argument or a 'from' argument with an optional 'transform' argument. Refer to \ref waql_introduction or \ref waapi_query for more information. Refer to \ref waapi_query_return to learn about options. */
  187. static const char* get = "ak.wwise.core.object.get";
  188. /*! Gets the specified attenuation curve for a given attenuation object. */
  189. static const char* getAttenuationCurve = "ak.wwise.core.object.getAttenuationCurve";
  190. /*! Retrieves the list of property and reference names for an object. */
  191. static const char* getPropertyAndReferenceNames = "ak.wwise.core.object.getPropertyAndReferenceNames";
  192. /*! Retrieves information about an object property. Note that this function does not return the value of a property. To retrieve the value of a property, refer to \ref ak_wwise_core_object_get and \ref waapi_query_return. */
  193. static const char* getPropertyInfo = "ak.wwise.core.object.getPropertyInfo";
  194. /*! Retrieves the list of property and reference names for an object. */
  195. static const char* getPropertyNames = "ak.wwise.core.object.getPropertyNames";
  196. /*! Retrieves the list of all object types registered in Wwise's object model. This function returns the equivalent of \ref wobjects_index . */
  197. static const char* getTypes = "ak.wwise.core.object.getTypes";
  198. /*! Indicates whether a property, reference, or object list is bound to a particular platform or to all platforms. */
  199. static const char* isLinked = "ak.wwise.core.object.isLinked";
  200. /*! Returns true if a property is enabled based on the values of the properties it depends on. */
  201. static const char* isPropertyEnabled = "ak.wwise.core.object.isPropertyEnabled";
  202. /*! Moves an object to the given parent. Returns the moved object. */
  203. static const char* move = "ak.wwise.core.object.move";
  204. /*! Sent when an object is renamed. Publishes the renamed object. */
  205. static const char* nameChanged = "ak.wwise.core.object.nameChanged";
  206. /*! Sent when the object's notes are changed. */
  207. static const char* notesChanged = "ak.wwise.core.object.notesChanged";
  208. /*! Pastes properties, references and lists from one object to any number of target objects. Only those properties, references and lists which differ between source and target are pasted. Refer to \ref wobjects_index for more information on the properties, references and lists available on each object type. */
  209. static const char* pasteProperties = "ak.wwise.core.object.pasteProperties";
  210. /*! Sent following an object's deletion. */
  211. static const char* postDeleted = "ak.wwise.core.object.postDeleted";
  212. /*! Sent prior to an object's deletion. */
  213. static const char* preDeleted = "ak.wwise.core.object.preDeleted";
  214. /*! Sent when the watched property of an object changes. */
  215. static const char* propertyChanged = "ak.wwise.core.object.propertyChanged";
  216. /*! Sent when an object reference is changed. */
  217. static const char* referenceChanged = "ak.wwise.core.object.referenceChanged";
  218. /*! Allows for batch processing of the following operations: Object creation in a child hierarchy, Object creation in a list, Setting name, notes, properties and references. Refer to \ref waapi_import for more information about creating objects. Also refer to \ref ak_wwise_core_audio_import to import audio files to Wwise. */
  219. static const char* set = "ak.wwise.core.object.set";
  220. /*! Sets the specified attenuation curve for a given attenuation object. */
  221. static const char* setAttenuationCurve = "ak.wwise.core.object.setAttenuationCurve";
  222. /*! Link or unlink a property/reference or object list to a particular platform. */
  223. static const char* setLinked = "ak.wwise.core.object.setLinked";
  224. /*! Renames an object. */
  225. static const char* setName = "ak.wwise.core.object.setName";
  226. /*! Sets the object's notes. */
  227. static const char* setNotes = "ak.wwise.core.object.setNotes";
  228. /*! Sets a property value of an object for a specific platform. Refer to \ref wobjects_index for more information on the properties available on each object type. Refer to \ref ak_wwise_core_object_setreference to set a reference to an object. Refer to \ref ak_wwise_core_object_get to obtain the value of a property for an object. */
  229. static const char* setProperty = "ak.wwise.core.object.setProperty";
  230. /*! Sets the randomizer values of a property of an object for a specific platform. Refer to \ref wobjects_index for more information on the properties available on each object type. */
  231. static const char* setRandomizer = "ak.wwise.core.object.setRandomizer";
  232. /*! Sets an object's reference value. Refer to \ref wobjects_index for more information on the references available on each object type. */
  233. static const char* setReference = "ak.wwise.core.object.setReference";
  234. /*! Sets the State Group objects associated with an object. Note, this will remove any previously associated State Group. */
  235. static const char* setStateGroups = "ak.wwise.core.object.setStateGroups";
  236. /*! Set the state properties of an object. Note, this will remove any previous state property, including the default ones. */
  237. static const char* setStateProperties = "ak.wwise.core.object.setStateProperties";
  238. }
  239. namespace plugin
  240. {
  241. /*! Retrieves the list of all object types registered in Wwise's object model. This function returns the equivalent of \ref wobjects_index . */
  242. static const char* getList = "ak.wwise.core.plugin.getList";
  243. /*! Retrieves the list of property and reference names for an object. */
  244. static const char* getProperties = "ak.wwise.core.plugin.getProperties";
  245. /*! Retrieves information about an object property. Note that this function does not return the value of a property. To retrieve the value of a property, refer to \ref ak_wwise_core_object_get and \ref waapi_query_return. */
  246. static const char* getProperty = "ak.wwise.core.plugin.getProperty";
  247. }
  248. namespace profiler
  249. {
  250. namespace captureLog
  251. {
  252. /*! Sent when a new entry is added to the capture log. Note that all entries are being sent. No filtering is applied as opposed to the Capture Log view. */
  253. static const char* itemAdded = "ak.wwise.core.profiler.captureLog.itemAdded";
  254. }
  255. /*! Specifies the type of data you want to capture. Overrides the user's profiler settings. */
  256. static const char* enableProfilerData = "ak.wwise.core.profiler.enableProfilerData";
  257. /*! Sent when a game object has been registered. */
  258. static const char* gameObjectRegistered = "ak.wwise.core.profiler.gameObjectRegistered";
  259. /*! Sent when the game objects have been reset, such as closing a connection to a game while profiling. */
  260. static const char* gameObjectReset = "ak.wwise.core.profiler.gameObjectReset";
  261. /*! Sent when a game object has been unregistered. */
  262. static const char* gameObjectUnregistered = "ak.wwise.core.profiler.gameObjectUnregistered";
  263. /*! Retrieves the Audio Objects at a specific profiler capture time. */
  264. static const char* getAudioObjects = "ak.wwise.core.profiler.getAudioObjects";
  265. /*! Retrieves the busses at a specific profiler capture time. */
  266. static const char* getBusses = "ak.wwise.core.profiler.getBusses";
  267. /*! Retrieves CPU usage statistics at a specific profiler capture time. This data can also be found in the Advanced Profiler, under the CPU tab. To ensure the CPU data is received, refer to \ref ak_wwise_core_profiler_enableprofilerdata. The returned data includes "Inclusive" and "Exclusive" values, where "Inclusive" refers to the time spent in the element plus the time spent in any called elements, and "Exclusive" values pertain to execution only within the element itself. */
  268. static const char* getCpuUsage = "ak.wwise.core.profiler.getCpuUsage";
  269. /*! Returns the current time of the specified profiler cursor, in milliseconds. */
  270. static const char* getCursorTime = "ak.wwise.core.profiler.getCursorTime";
  271. /*! Retrieves the game objects at a specific profiler capture time. */
  272. static const char* getGameObjects = "ak.wwise.core.profiler.getGameObjects";
  273. /*! Retrieves the loaded media at a specific profiler capture time. This data can also be found in the Advanced Profiler, under the Loaded Media tab. To ensure the Loaded Media data is received, refer to \ref ak_wwise_core_profiler_enableprofilerdata. */
  274. static const char* getLoadedMedia = "ak.wwise.core.profiler.getLoadedMedia";
  275. /*! Retrieves the Performance Monitor statistics at a specific profiler capture time. Refer to \ref globalcountersids for the available counters. */
  276. static const char* getPerformanceMonitor = "ak.wwise.core.profiler.getPerformanceMonitor";
  277. /*! Retrieves active RTPCs at a specific profiler capture time. */
  278. static const char* getRTPCs = "ak.wwise.core.profiler.getRTPCs";
  279. /*! Retrieves the streaming media at a specific profiler capture time. This data can also be found in the Advanced Profiler, under the Streams tab. To ensure the Streams data is received, refer to \ref ak_wwise_core_profiler_enableprofilerdata. */
  280. static const char* getStreamedMedia = "ak.wwise.core.profiler.getStreamedMedia";
  281. /*! Retrieves all parameters affecting voice volume, highpass and lowpass for a voice path, resolved from pipeline IDs. */
  282. static const char* getVoiceContributions = "ak.wwise.core.profiler.getVoiceContributions";
  283. /*! Retrieves the voices at a specific profiler capture time. */
  284. static const char* getVoices = "ak.wwise.core.profiler.getVoices";
  285. /*! Saves profiler as a .prof file according to the given file path. */
  286. static const char* saveCapture = "ak.wwise.core.profiler.saveCapture";
  287. /*! Starts the profiler capture and returns the time at the beginning of the capture, in milliseconds. */
  288. static const char* startCapture = "ak.wwise.core.profiler.startCapture";
  289. /*! Sent when a state group state has been changed. This subscription does not require the profiler capture log to be started. */
  290. static const char* stateChanged = "ak.wwise.core.profiler.stateChanged";
  291. /*! Stops the profiler capture and returns the time at the end of the capture, in milliseconds. */
  292. static const char* stopCapture = "ak.wwise.core.profiler.stopCapture";
  293. /*! Sent when a switch group state has been changed. This function does not require the profiler capture log to be started. */
  294. static const char* switchChanged = "ak.wwise.core.profiler.switchChanged";
  295. }
  296. namespace project
  297. {
  298. /*! Sent when the project has been successfully loaded. */
  299. static const char* loaded = "ak.wwise.core.project.loaded";
  300. /*! Sent when the after the project is completely closed. */
  301. static const char* postClosed = "ak.wwise.core.project.postClosed";
  302. /*! Sent when the project begins closing. */
  303. static const char* preClosed = "ak.wwise.core.project.preClosed";
  304. /*! Saves the current project. */
  305. static const char* save = "ak.wwise.core.project.save";
  306. /*! Sent when the project has been saved. */
  307. static const char* saved = "ak.wwise.core.project.saved";
  308. }
  309. namespace remote
  310. {
  311. /*! Connects the Wwise Authoring application to a Wwise Sound Engine running executable or to a saved profile file. The host must be running code with communication enabled. If only "host" is provided, Wwise connects to the first Sound Engine instance found. To distinguish between different instances, you can also provide the name of the application to connect to. */
  312. static const char* connect = "ak.wwise.core.remote.connect";
  313. /*! Disconnects the Wwise Authoring application from a connected Wwise Sound Engine running executable. */
  314. static const char* disconnect = "ak.wwise.core.remote.disconnect";
  315. /*! Retrieves all consoles available for connecting Wwise Authoring to a Sound Engine instance. */
  316. static const char* getAvailableConsoles = "ak.wwise.core.remote.getAvailableConsoles";
  317. /*! Retrieves the connection status. */
  318. static const char* getConnectionStatus = "ak.wwise.core.remote.getConnectionStatus";
  319. }
  320. namespace sound
  321. {
  322. /*! Sets which version of the source is being used for the specified sound. Use \ref ak_wwise_core_object_get with the 'activeSource' return option to get the active source of a sound. */
  323. static const char* setActiveSource = "ak.wwise.core.sound.setActiveSource";
  324. }
  325. namespace soundbank
  326. {
  327. /*! Converts the external sources files for the project as detailed in the wsources file, and places them into either the default folder, or the folder specified by the output argument. External Sources are a special type of source that you can put in a Sound object in Wwise. It indicates that the real sound data will be provided at run time. While External Source conversion is also triggered by SoundBank generation, this operation can be used to process sources not contained in the Wwise Project. Please refer to Wwise SDK help page "Integrating External Sources". */
  328. static const char* convertExternalSources = "ak.wwise.core.soundbank.convertExternalSources";
  329. /*! Generate a list of SoundBanks with the import definition specified in the WAAPI request. If you do not write the SoundBanks to disk, subscribe to \ref ak_wwise_core_soundbank_generated to receive SoundBank structure info and the bank data as base64. Note: This is a synchronous operation. */
  330. static const char* generate = "ak.wwise.core.soundbank.generate";
  331. /*! Sent when a single SoundBank is generated. This could be sent multiple times during SoundBank generation, for every SoundBank generated and for every platform. To generate SoundBanks, refer to \ref ak_wwise_core_soundbank_generate or \ref ak_wwise_ui_commands_execute with one of the SoundBank generation commands. Refer to \ref globalcommandsids for the list of commands. */
  332. static const char* generated = "ak.wwise.core.soundbank.generated";
  333. /*! Sent when all SoundBanks are generated. Note: This notification is only sent when SoundBanks have been generated, it is not a reliable way to determine when \ref ak_wwise_core_soundbank_generate has completed. */
  334. static const char* generationDone = "ak.wwise.core.soundbank.generationDone";
  335. /*! Retrieves a SoundBank's inclusion list. */
  336. static const char* getInclusions = "ak.wwise.core.soundbank.getInclusions";
  337. /*! Imports SoundBank definitions from the specified file. Multiple files can be specified. See the WAAPI log for status messages. */
  338. static const char* processDefinitionFiles = "ak.wwise.core.soundbank.processDefinitionFiles";
  339. /*! Modifies a SoundBank's inclusion list. The 'operation' argument determines how the 'inclusions' argument modifies the SoundBank's inclusion list; 'inclusions' may be added to / removed from / replace the SoundBank's inclusion list. */
  340. static const char* setInclusions = "ak.wwise.core.soundbank.setInclusions";
  341. }
  342. namespace sourceControl
  343. {
  344. /*! Add files to source control. Equivalent to Mark for Add for Perforce. */
  345. static const char* add = "ak.wwise.core.sourceControl.add";
  346. /*! Check out files from source control. Equivalent to Check Out for Perforce. */
  347. static const char* checkOut = "ak.wwise.core.sourceControl.checkOut";
  348. /*! Commit files to source control. Equivalent to Submit Changes for Perforce. */
  349. static const char* commit = "ak.wwise.core.sourceControl.commit";
  350. /*! Delete files from source control. Equivalent to Mark for Delete for Perforce. */
  351. static const char* delete_ = "ak.wwise.core.sourceControl.delete";
  352. /*! Retrieve all original files. */
  353. static const char* getSourceFiles = "ak.wwise.core.sourceControl.getSourceFiles";
  354. /*! Get the source control status of the specified files. */
  355. static const char* getStatus = "ak.wwise.core.sourceControl.getStatus";
  356. /*! Move or rename files in source control. Always pass the same number of elements in files and newFiles. Equivalent to Move for Perforce. */
  357. static const char* move = "ak.wwise.core.sourceControl.move";
  358. /*! Revert changes to files in source control. */
  359. static const char* revert = "ak.wwise.core.sourceControl.revert";
  360. /*! Change the source control provider and credentials. This is the same setting as the Source Control option in the Project Settings dialog in Wwise. */
  361. static const char* setProvider = "ak.wwise.core.sourceControl.setProvider";
  362. }
  363. namespace switchContainer
  364. {
  365. /*! Assigns a Switch Container's child to a Switch. This is the equivalent of doing a drag&drop of the child to a state in the Assigned Objects view. The child is always added at the end for each state. */
  366. static const char* addAssignment = "ak.wwise.core.switchContainer.addAssignment";
  367. /*! Sent when an assignment is added to a Switch Container. */
  368. static const char* assignmentAdded = "ak.wwise.core.switchContainer.assignmentAdded";
  369. /*! Sent when an assignment is removed from a Switch Container. */
  370. static const char* assignmentRemoved = "ak.wwise.core.switchContainer.assignmentRemoved";
  371. /*! Returns the list of assignments between a Switch Container's children and states. */
  372. static const char* getAssignments = "ak.wwise.core.switchContainer.getAssignments";
  373. /*! Removes an assignment between a Switch Container's child and a State. */
  374. static const char* removeAssignment = "ak.wwise.core.switchContainer.removeAssignment";
  375. }
  376. namespace transport
  377. {
  378. /*! Creates a transport object for the given Wwise object. The return transport object can be used to play, stop, pause and resume the Wwise object via the other transport functions. */
  379. static const char* create = "ak.wwise.core.transport.create";
  380. /*! Destroys the given transport object. */
  381. static const char* destroy = "ak.wwise.core.transport.destroy";
  382. /*! Executes an action on the given transport object, or all transport objects if none is specified. */
  383. static const char* executeAction = "ak.wwise.core.transport.executeAction";
  384. /*! Returns the list of transport objects. */
  385. static const char* getList = "ak.wwise.core.transport.getList";
  386. /*! Gets the state of the given transport object. */
  387. static const char* getState = "ak.wwise.core.transport.getState";
  388. /*! Prepare the object and its dependencies for playback. Use this function before calling PostEventSync or PostMIDIOnEventSync from IAkGlobalPluginContext. */
  389. static const char* prepare = "ak.wwise.core.transport.prepare";
  390. /*! Sent when the transport's state has changed. */
  391. static const char* stateChanged = "ak.wwise.core.transport.stateChanged";
  392. /*! Sets the Original/Converted transport toggle globally. This allows playing the original or the converted sound files. */
  393. static const char* useOriginals = "ak.wwise.core.transport.useOriginals";
  394. }
  395. namespace undo
  396. {
  397. /*! Begins an undo group. Make sure to call \ref ak_wwise_core_undo_endgroup exactly once for every ak.wwise.core.beginUndoGroup call you make. Calls to ak.wwise.core.undo.beginGroup can be nested. When closing a WAMP session, a check is made to ensure that all undo groups are closed. If not, a cancelGroup is called for each of the groups still open. */
  398. static const char* beginGroup = "ak.wwise.core.undo.beginGroup";
  399. /*! Cancels the last undo group. */
  400. static const char* cancelGroup = "ak.wwise.core.undo.cancelGroup";
  401. /*! Ends the last undo group. */
  402. static const char* endGroup = "ak.wwise.core.undo.endGroup";
  403. /*! Redoes the last operation in the Undo stack. */
  404. static const char* redo = "ak.wwise.core.undo.redo";
  405. /*! Undoes the last operation in the Undo stack. */
  406. static const char* undo = "ak.wwise.core.undo.undo";
  407. }
  408. }
  409. namespace debug
  410. {
  411. /*! Sent when an assert has failed. This is only available in Debug builds. */
  412. static const char* assertFailed = "ak.wwise.debug.assertFailed";
  413. /*! Enables debug assertions. Every call to enableAsserts with 'false' increments the ref count. Calling with true decrements the ref count. This is only available with Debug builds. */
  414. static const char* enableAsserts = "ak.wwise.debug.enableAsserts";
  415. /*! Enables or disables the automation mode for Wwise. This reduces the potential interruptions caused by message boxes and dialogs. For instance, enabling the automation mode silently accepts: project migration, project load log, EULA acceptance, project licence display and generic message boxes. */
  416. static const char* enableAutomationMode = "ak.wwise.debug.enableAutomationMode";
  417. /*! Generate a WAV file playing a tone with a simple envelope and save it to the specified location. This is provided as a utility to generate test WAV files. */
  418. static const char* generateToneWAV = "ak.wwise.debug.generateToneWAV";
  419. /*! Retrieves the WAL tree, which describes the nodes that are synchronized in the Sound Engine. Private use only. */
  420. static const char* getWalTree = "ak.wwise.debug.getWalTree";
  421. /*! Restart WAAPI servers. For internal use only. */
  422. static const char* restartWaapiServers = "ak.wwise.debug.restartWaapiServers";
  423. /*! Private use only. */
  424. static const char* testAssert = "ak.wwise.debug.testAssert";
  425. /*! Private use only. */
  426. static const char* testCrash = "ak.wwise.debug.testCrash";
  427. }
  428. namespace ui
  429. {
  430. /*! Bring Wwise main window to foreground. Refer to SetForegroundWindow and AllowSetForegroundWindow on MSDN for more information on the restrictions. Refer to ak.wwise.core.getInfo to obtain the Wwise process ID for AllowSetForegroundWindow. */
  431. static const char* bringToForeground = "ak.wwise.ui.bringToForeground";
  432. /*! Captures a part of the Wwise UI relative to a view. */
  433. static const char* captureScreen = "ak.wwise.ui.captureScreen";
  434. namespace commands
  435. {
  436. /*! Executes a command. Some commands can take a list of objects as parameters. Refer to \ref globalcommandsids for the available commands. */
  437. static const char* execute = "ak.wwise.ui.commands.execute";
  438. /*! Sent when a command is executed. The objects for which the command is executed are sent in the publication. */
  439. static const char* executed = "ak.wwise.ui.commands.executed";
  440. /*! Gets the list of commands. */
  441. static const char* getCommands = "ak.wwise.ui.commands.getCommands";
  442. /*! Registers an array of add-on commands. Registered commands remain until the Wwise process is terminated. Refer to \ref defining_custom_commands for more information about registering commands. Also refer to \ref ak_wwise_ui_commands_executed. */
  443. static const char* register_ = "ak.wwise.ui.commands.register";
  444. /*! Unregisters an array of add-on UI commands. */
  445. static const char* unregister = "ak.wwise.ui.commands.unregister";
  446. }
  447. /*! Retrieves the list of objects currently selected by the user in the active view. */
  448. static const char* getSelectedObjects = "ak.wwise.ui.getSelectedObjects";
  449. namespace project
  450. {
  451. /*! Closes the current project. */
  452. static const char* close = "ak.wwise.ui.project.close";
  453. /*! Creates, saves and opens new empty project, specified by path and platform. The project has no factory setting WorkUnit. Please refer to \ref ak_wwise_core_project_loaded for further explanations on how to be notified when the operation has completed. */
  454. static const char* create = "ak.wwise.ui.project.create";
  455. /*! Opens a project, specified by path. Please refer to \ref ak_wwise_core_project_loaded for further explanations on how to be notified when the operation has completed. */
  456. static const char* open = "ak.wwise.ui.project.open";
  457. }
  458. /*! Sent when the selection changes in the project. */
  459. static const char* selectionChanged = "ak.wwise.ui.selectionChanged";
  460. }
  461. namespace waapi
  462. {
  463. /*! Retrieves the list of functions. */
  464. static const char* getFunctions = "ak.wwise.waapi.getFunctions";
  465. /*! Retrieves the JSON schema of a Waapi URI. */
  466. static const char* getSchema = "ak.wwise.waapi.getSchema";
  467. /*! Retrieves the list of topics to which a client can subscribe. */
  468. static const char* getTopics = "ak.wwise.waapi.getTopics";
  469. }
  470. }
  471. }