Lav_PUBLIC_FUNCTION LavError Lav_bufferLoadFromArray(LavHandle bufferHandle, int sr, int channels, int frames, float* data) { PUB_BEGIN auto buff=incomingObject<Buffer>(bufferHandle); LOCK(*buff); buff->throwIfInUse(); buff->loadFromArray(sr, channels, frames, data); PUB_END }
Lav_PUBLIC_FUNCTION LavError Lav_bufferNormalize(LavHandle bufferHandle) { PUB_BEGIN auto b = incomingObject<Buffer>(bufferHandle); LOCK(*b); b->throwIfInUse(); b->normalize(); PUB_END }
Lav_PUBLIC_FUNCTION LavError Lav_bufferLoadFromFile(LavHandle bufferHandle, const char* path) { PUB_BEGIN auto buff =incomingObject<Buffer>(bufferHandle); FileReader f{}; f.open(path); float* data = allocArray<float>(f.getSampleCount()); f.readAll(data); { LOCK(*buff); buff->throwIfInUse(); buff->loadFromArray(f.getSr(), f.getChannelCount(), f.getSampleCount()/f.getChannelCount(), data); } freeArray(data); PUB_END }