Version

menu_open

C++ - WAMP

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.

Building on Windows

The Visual Studio solution is located in "samples/WwiseAuthoringApi/cpp/SampleClient". You must install the Wwise SDK to access it.

Simply open SampleClientWindows_vc120.sln and build the solution.

Note.gif
Note: This example requires Visual Studio 2013 (or more recent).

Building on OS X

The build for OS X uses premake4. You can build with: "samples/WwiseAuthoringApi/cpp/SampleClient/SampleClient/mac_build.sh"

You can edit the script to build any of the following targets:

  • Debug Native 64-bit
  • Debug Native 32-bit
  • Release Native 64-bit
  • Release Native 32-bit

Using the sample

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.

There is a more extended example available, which you can run by using the command line parameter TestWampClient.

C++ client and WAMP library

This sample contains modified versions of the POCO WAMP (itself based on Autobahn|Cpp) and civetweb libraries. 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. You can also use the "session" class directly.

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. 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.

Logging

Logging is optional, but it often helps the debugging process. You can call Logger::Get()->SetLoggerFunction(logFunction) to provide your own logging function.


Was this page helpful?

Need Support?

Questions? Problems? Need more info? Contact us, and we can help!

Visit our Support page

Tell us about your project. We're here to help.

Register your project and we'll help you get started with no strings attached!

Get started with Wwise