Audiokinetic's Community Q&A is the forum where users can ask and answer questions within the Wwise and Strata communities. If you would like to get an answer from Audiokinetic's Technical support team, make sure you use the Support Tickets page.

Best way to find Event references for Audio objects via WAAPI

0 votes
Hi,

When I use the WAAPI call ak.wwise.core.object.getPropertyAndReferenceNames, how can I best use the results of this information to find all the Event references for that Audio object?

What would the WAAPI call(s) and results look like if I want to get the Event references for a given Audio object?

Thanks!
asked Apr 30, 2019 in General Discussion by Michelle A. (220 points)

1 Answer

+1 vote
 
Best answer

ak.wwise.core.object.getPropertyAndReferenceNames is not what you are looking for. ak.wwise.core.object.getPropertyAndReferenceNames serve as an introspection service. It can tell you what are the properties & references available for a specific object type.

For your situation, you are looking for the equivalent of the Reference View. This is available with the referencesTo select statement in ak.wwise.core.object.get.

Here is the python code:

from waapi import WaapiClient
import pprint

# Connect (default URL)
client = WaapiClient()

# Return all events referencing the specified object
args = {
    "from": {"path": ['\\Actor-Mixer Hierarchy\\Default Work Unit\\MySound']},
    "transform": [
        {"select": ['referencesTo']},
        {"where": ['type:isIn', ['Action']]},
        {"select": ['parent']},
        "distinct",
    ]}
options = {
"return": ['id', 'name','type']
}

result = client.call("ak.wwise.core.object.get", args, options=options)
pprint.pprint(result)
-->
{'return': [{'id': '{C4C14D5C-F6AA-4534-98A0-398BA5026F37}',
             'name': 'Play_MySound',
             'type': 'Event'},
            {'id': '{13D67C80-0900-4CE0-BBC4-3DC3D696DCBC}',
             'name': 'Stop_MySound',
             'type': 'Event'}]}

 https://gist.github.com/decasteljau/fc2d6a62480ec2a124c1f72495eeb753

answered May 1, 2019 by Bernard R. (Audiokinetic) (35,090 points)
selected Jun 3, 2020 by Mads Maretty S. (Audiokinetic)
Ah, I see, thank you!

Can this also work inversely?  Can I find all the objects referenced by an Event, or would this not be possible since referencesTo only works one direction?

Thanks!
You could achieve that with:

args = {
    "from": {"path": ['\\Events\\Default Work Unit\\Play_MySound']},
    "transform": [
        {"select": ['children']},
    ]
}

options = {
    "return": ['id', 'name','@ActionType','@Target']
}
result = client.call("ak.wwise.core.object.get", args, options=options)
...