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.

Wwise Authoring API (Waapi) Client for Dart.

Features #

  • Waapi call function
  • Waapi subscribe topic
  • Waapi uri constants
  • TODO:
    • Typed Waapi objects
    • Wrapped functions

Usage #

Waapi call #

import 'package:waapi_client_dart/waapi_client_dart.dart';

void main() async {
  final client = WaapiClient();
  try {
    await client.connect();

    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');
  } finally {
    await client.disconnect();
  }
}

Waapi subscribe #

import 'package:waapi_client_dart/waapi_client_dart.dart';

void main() async {
  final client = WaapiClient();
  try {
    await client.connect();

    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();
  } finally {
    await client.disconnect();
  }
}
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