The Wwise Authoring API provides a comprehensive query system allowing you to retrieve the most important aspects of the Wwise project. More specifically, it allows you to retrieve any object in the project.
The query system is built into the ak.wwise.core.object.get function. Refer to its reference documentation for more details.
Queries are structured into two parts:
Additionally, queries take options which can specify:
The from statement provides several points for the query to start:
\Actor-Mixer Hierarchy\Default Work Unit\MySound
.The transform statement provides several transformation functions that can be used to transform the objects being selected. The first transformation is applied on the objects selected by the from statement. The other transformations are applied on the results of the previous transformation.
Multiple transformations can be added in sequence.
The return statement (expression) is executed once at the end of all transformations or directly from the from statement if no transformation was specified. The return expression specifies what elements of the Wwise objects to return. Any number of elements can be returned.
The return expression can contain properties and references, when prefixed with '@'. For example, it could contain '@Volume' or '@OutputBus'. When prefixed with a double '@@', the return will use the source of override, which is determined by the different values of 'override parent' in the hierarchy.
If an item of the return expression is incompatible or not present in the returned object, it won't be part of the results.
Refer to Project Code for initialization.
Return the ID, name, and voice volume for a list of objects:
var query = { from: { id: [ '{A076AA65-B71A-45BB-8841-5A20C52CE727}', '{2028C899-8300-4667-ADD0-ED10467BD91E}', '{24979032-B170-43E3-A2E4-469E0193E2C3}' ] } }; var options = { return: ['id', 'name', '@Volume'] }; session.call('ak.wwise.core.object.get', [], query, options).then( function (res) { // Print the name and volume var objects = res.kwargs.return; for(let i = 0; i < objects.length;++i ){ console.log(`${objects[i].name}: ${objects[i]['@Volume']}`); } }, function (error) { console.log(`error: ${error}`); } );
Return the ID and name of every object in the Actor-Mixer Hierarchy starting with 'My', using a regular expression:
var query = { from:{path:['\\Actor-Mixer Hierarchy']}, transform:[ {select:['descendants']}, {where:['name:matches','^My']} ] }; var options = { return: ['id', 'name'] }; session.call('ak.wwise.core.object.get', [], query, options).then( function (res) { // Print the name var objects = res.kwargs.return; for(let i = 0; i < objects.length;++i ){ console.log(`${objects[i].name}`); } }, function (error) { console.log(`error: ${error}`); } );
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