waapi_client_dart 1.0.1 copy "waapi_client_dart: ^1.0.1" to clipboard
waapi_client_dart: ^1.0.1 copied to clipboard

Wwise Authoring API (Waapi) Client for Dart. Provides waapi function calls and topic subscriptions.

example/waapi_client_dart_example.dart

import 'package:waapi_client_dart/waapi_client_dart.dart';

void main() async {
  final client = WaapiClient();
  try {
    await client.connect();
    await waapiCalls(client);
    await waapiSubscriptions(client);
  } finally {
    await client.disconnect();
  }
}

Future<void> waapiCalls(WaapiClient client) async {
  final wwiseInfo = await client.getWwiseInfo();
  print('Wwise info: $wwiseInfo');

  final projPath = await client.queryProjectPath();
  print('Project path: $projPath');

  final object = await client.call(
    WaapiUri.akWwiseCoreObjectGet,
    args: {
      'from': {
        'path': ['\\Actor-Mixer Hierarchy\\Default Work Unit'],
      }
    },
    options: {
      'return': ['id', 'name', 'type', '@Inclusion'],
    },
  );
  print('Object get: $object');
}

Future<void> waapiSubscriptions(WaapiClient client) async {
  final objectDeleteStream =
      await client.subscribe(WaapiUri.akWwiseCoreObjectPostDeleted);
  final objectDeleteSub = objectDeleteStream.listen((event) {
    print('Object deleted: $event');
  });

  final objectCreateStream =
      await client.subscribe(WaapiUri.akWwiseCoreObjectCreated);
  final objectCreateSub = objectCreateStream.listen((event) async {
    print('Object created: $event');
    await Future.delayed(const Duration(milliseconds: 200));
    await client.call(WaapiUri.akWwiseCoreObjectDelete, args: {
      'object': event?['object']['id'],
    });
  });

  await client.call(
    WaapiUri.akWwiseCoreObjectCreate,
    args: {
      'parent': '\\Actor-Mixer Hierarchy\\Default Work Unit',
      'type': 'RandomSequenceContainer',
      'name': 'RandomSequenceContainer',
      'onNameConflict': 'rename',
    },
  );
  await Future.delayed(const Duration(milliseconds: 300));
  await objectDeleteSub.cancel();
  await objectCreateSub.cancel();
}
1
likes
140
points
26
downloads

Publisher

verified publishertgalpha.top

Weekly Downloads

Wwise Authoring API (Waapi) Client for Dart. Provides waapi function calls and topic subscriptions.

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

logger, wamp_client

More

Packages that depend on waapi_client_dart