use std::time::Duration;
use waapi_rs::ak;
use waapi_rs::WaapiClient;
#[tokio::main]
async fn main() {
env_logger::init();
let client = WaapiClient::connect()
.await
.expect("Failed to connect to WAAPI. Ensure Wwise is running with Authoring API enabled.");
println!(
"Subscribing to {} with callback...",
ak::wwise::ui::SELECTION_CHANGED
);
let handler = client
.subscribe(ak::wwise::ui::SELECTION_CHANGED, None, |kwargs| {
println!("Selection changed: {kwargs:?}");
})
.await
.expect("Subscribe failed");
println!("Waiting 5s (change selection in Wwise to see events)...");
tokio::time::sleep(Duration::from_secs(5)).await;
handler.unsubscribe().await.expect("Unsubscribe failed");
client.disconnect().await;
println!("Disconnected.");
}