setPlaylist method

bool setPlaylist(
  1. List<String> paths
)

Implementation

bool setPlaylist(List<String> paths) {
  if (_engine == ffi.nullptr || paths.isEmpty) return false;

  final ptrArray = _malloc(
    ffi.sizeOf<ffi.Pointer<ffi.Char>>() * paths.length,
  ).cast<ffi.Pointer<ffi.Char>>();
  final allocated = <ffi.Pointer<ffi.Char>>[];

  try {
    for (var i = 0; i < paths.length; i++) {
      final c = _toNativeChar(paths[i]);
      allocated.add(c);
      ptrArray[i] = c;
    }
    return _setPlaylist(_engine, ptrArray, paths.length) != 0;
  } finally {
    for (final p in allocated) {
      _freePtr(p.cast<ffi.Void>());
    }
    _freePtr(ptrArray.cast<ffi.Void>());
  }
}