create static method

Future<DiveAudioMeterSource?> create({
  1. required DiveSource source,
})

Creat an audio meter for a source.

Implementation

static Future<DiveAudioMeterSource?> create({required DiveSource source}) async {
  final sourcePointer = source.pointer;
  if (sourcePointer == null || sourcePointer.isNull) return null;

  final pointer = obslib.volumeMeterCreate();
  if (pointer.isNull) return null;

  final rv = obslib.volumeMeterAttachSource(pointer, sourcePointer);
  if (!rv) {
    print("DiveAudioMeterSource.create: volumeMeterAttachSource failed");
    destroy(pointer);
    return null;
  }

  final volumeMeter = DiveAudioMeterSource(pointer);
  await volumeMeter.initialize();
  return volumeMeter;
}