Wwise SDK 2023.1.8
|
This page explains an example on how to use the Wwise Authoring API in C++. It also contains the library code supporting the WAMP protocol used by Wwise, which you can use in your own C++ project.
The Visual Studio solution is located in "samples/WwiseAuthoringApi/cpp/SampleClient". You must install the Wwise SDK to access it.
Simply open SampleClientWindows_TOOLSET.sln (where TOOLSET is vc160 or vc170) build the solution.
Note: This example requires Visual Studio 2019 (vc160) or 2022 (vc170). |
You can build all targets with: "samples/WwiseAuthoringApi/cpp/SampleClient/mac_build.sh"
This sample runs on the command line. By default, when no parameter is provided, it runs the getInfo RPC call to Wwise Authoring and displays basic information.
More extended examples are available, which you can run by using the associated command line parameter:
TestWampClient:
Example demonstrating basic operations such as connect, call and subscribe, using the AkJson
class.TestWampClientJsonString:
Mostly the same as TestWampClient
, but using std::string
for JSON instead of the AkJson
class.PerfTest:
Basic performance test which repeatedly makes the same call and displays the average execution time per call, as well as the total time.TestErrors:
Generates and handles different kinds of errors and shows how to use the logging feature.TestMonitoring:
This example demonstrates how to monitor the current status of Wwise. It detects when Wwise starts, exits, loads or closes a project, and which project is loaded at any given time.This sample contains the AkAutobahn library, which is a modified version of the WAMP_POCO library (itself based on Autobahn|Cpp), civetweb library and the Client
class. AkAutobahn is provided as part of the Wwise SDK. The class Client
provides a simple interface to our API, internally using the "session" class to connect to Wwise Authoring using the WAMP protocol. Feel free to use the Client
as-is or modify it to better suit your needs.
Out of convenience, the Client
class uses blocking calls (by calling std::future::get). Therefore, the caller thread gets blocked until Wwise Authoring provides a result. A timeout parameter is available to block for only a specific amount of time. The "session" class returns std::future for thread synchronization, which means that you could implement your own asynchronous version of the Client
class if it better suits your needs.
The Client
class does not support being called from within a callback. In other words, you should not call a method of Client
when Client
is already calling you.
Logging is optional, but it often helps the debugging process. You can call Logger::Get()->SetLoggerFunction(logFunction)
to provide your own logging function.
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