|
Note: If you are using Python 2.7, you will need to install Microsoft Visual C++ Compiler for Python 2.7. |
Run the following command from any directory to install dependencies:
pip install autobahn
If you are using Python 2.7, run the following command to install additional packages:
pip install trollius futures
|
Note: The line It is located in Note that the additional file, |
Locate the sample file <Wwise installation path>/SDK/samples/WwiseAuthoringAPI/python/wwise-pubsub-wamp/get_ancestors_py2.py
.
This file contains the following code, which allows you to connect to the Wwise Authoring API.
import sys import os import trollius as asyncio from trollius import From from autobahn.asyncio.wamp import ApplicationRunner from ak_autobahn import AkComponent # You may also copy-paste the waapi.py file alongside this sample sys.path.append(os.path.join(os.path.dirname(__file__), '../../../../include/AK/WwiseAuthoringAPI/py')) from waapi import WAAPI_URI done = False class MyComponent(AkComponent): def onJoin(self, details): def on_object_created(**kwargs): result = kwargs[u"object"] print("The object was created in the category: {}".format(result[u"category"])) arguments = { "from": {"id": [result.get("id")]}, "transform": [{"select": ["ancestors"]}], "options": { "return": ["name"] } } res = yield From(self.call(WAAPI_URI.ak_wwise_core_object_get, **arguments)) ancestors = res.kwresults[u"return"] print(u"Ancestor of {}:".format(result[u"id"])) for ancestor in ancestors: print("\t{}".format(ancestor[u"name"])) global done if not done: self.leave() # Disconnect done = True subscribe_args = { "options": { "return": ["id", "name", "category"] } } # Subscribe to ak.wwise.core.object.created # Calls on_object_created whenever the event is received yield From(self.subscribe(on_object_created, WAAPI_URI.ak_wwise_core_object_created, **subscribe_args)) print("Create an object in the Project Explorer") def onDisconnect(self): print("The client was disconnected.") asyncio.get_event_loop().stop() if __name__ == '__main__': runner = ApplicationRunner(url=u"ws://127.0.0.1:8080/waapi", realm=u"get_ancestors_demo") try: runner.run(MyComponent) except Exception as e: print(type(e).__name__ + ": Is Wwise running and Wwise Authoring API enabled?")
Locate the sample file <Wwise installation path>/SDK/samples/WwiseAuthoringAPI/python/wwise-pubsub-wamp/get_ancestors_py3.py
.
This file contains the following code, which allows you to connect to the Wwise Authoring API.
import asyncio import sys import os from autobahn.asyncio.wamp import ApplicationRunner from ak_autobahn import AkComponent # You may also copy-paste the waapi.py file alongside this sample sys.path.append(os.path.join(os.path.dirname(__file__), '../../../../include/AK/WwiseAuthoringAPI/py')) from waapi import WAAPI_URI done = False class MyComponent(AkComponent): def onJoin(self, details): def on_object_created(**kwargs): result = kwargs[u"object"] print("The object was created in the category: {}".format(result[u"category"])) arguments = { "from": {"id": [result.get("id")]}, "transform": [{"select": ["ancestors"]}], "options": { "return": ["name"] } } res = yield from self.call(WAAPI_URI.ak_wwise_core_object_get, **arguments) ancestors = res.kwresults[u"return"] print(u"Ancestor of {}:".format(result[u"id"])) for ancestor in ancestors: print("\t{}".format(ancestor[u"name"])) global done if not done: self.leave() # Disconnect done = True subscribe_args = { "options": { "return": ["id", "name", "category"] } } # Subscribe to ak.wwise.core.object.created # Calls on_object_created whenever the event is received yield from self.subscribe(on_object_created, WAAPI_URI.ak_wwise_core_object_created, **subscribe_args) print("Create an object in the Project Explorer") def onDisconnect(self): print("The client was disconnected.") asyncio.get_event_loop().stop() if __name__ == '__main__': runner = ApplicationRunner(url=u"ws://127.0.0.1:8080/waapi", realm=u"get_ancestors_demo") try: runner.run(MyComponent) except Exception as e: print(type(e).__name__ + ": Is Wwise running and Wwise Authoring API enabled?")
Run the sample file from its directory using the following command:
Python 2.7:
python get_ancestors_py2.py
Python 3.6:
python get_ancestors_py3.py
Create an object in the Project Explorer and the list of its ancestors will be displayed. The sample terminates the connection after the ancestors are retrieved.
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