Community Q&A

Where Wwise users help each other out!

Audiokinetic's Community Q&A is the forum where Wwise users ask and answer questions within the Wwise community. Contact Sales if your project requires a support plan.

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 in General Discussion by Michelle A. (150 points)

1 Answer

+1 vote

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 by Bernard R. (Audiokinetic) (25,360 points)
edited May 1 by Bernard R. (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)
...