initMultibandEq method
Implementation
void initMultibandEq(
int bands,
List<double> frequencies, {
List<double>? qFactors,
}) {
if (_engine == ffi.nullptr) return;
if (frequencies.length != bands) return;
if (qFactors != null && qFactors.length != bands) return;
final freqPtr = _malloc(bands * ffi.sizeOf<ffi.Float>()).cast<ffi.Float>();
final freqList = freqPtr.asTypedList(bands);
freqList.setAll(0, frequencies);
ffi.Pointer<ffi.Float> qPtr = ffi.nullptr;
if (qFactors != null) {
qPtr = _malloc(bands * ffi.sizeOf<ffi.Float>()).cast<ffi.Float>();
final qList = qPtr.asTypedList(bands);
qList.setAll(0, qFactors);
}
try {
_initMultibandEq(_engine, bands, freqPtr, qPtr);
} finally {
_freePtr(freqPtr.cast<ffi.Void>());
if (qPtr != ffi.nullptr) {
_freePtr(qPtr.cast<ffi.Void>());
}
}
}