AudiokineticのコミュニティQ&AはWwiseやStrataのコミュニティ内でユーザ同士が質問・回答をし合うことができるフォーラムです。Audiokineticテクニカルサポートチームからの回答をご希望の場合は、必ず サポートチケットページ をご利用ください。

Best way to find Event references for Audio objects via WAAPI

0 支持
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!
Michelle A. (220 ポイント) 2019 4/30 質問 General Discussion

回答 1

+1 支持
 
ベストアンサー

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

Bernard R. (Audiokinetic) (35,110 ポイント) 2019 5/1 回答
Mads Maretty S. (Audiokinetic) 2020 6/3 選択
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)
...