MCPcopy Create free account
hub / github.com/csound/csound / Framebuffer_writeBuffer

Function Framebuffer_writeBuffer

Opcodes/framebuffer.c:266–287  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

264}
265
266void Framebuffer_writeBuffer(CSOUND *csound, Framebuffer *self,
267 MYFLT *inputSamples, int32_t inputSamplesCount)
268{
269 IGN(csound);
270 if (self->writeIndex + inputSamplesCount <= self->elementCount) {
271
272 memcpy(&self->buffer[self->writeIndex], inputSamples,
273 sizeof(MYFLT) * inputSamplesCount);
274 self->writeIndex += self->ksmps;
275 self->writeIndex %= self->elementCount;
276 }
277 else {
278
279 int32_t firstHalf = self->elementCount - self->writeIndex;
280 memcpy(&self->buffer[self->writeIndex], inputSamples,
281 sizeof(MYFLT) * firstHalf);
282 int32_t secondHalf = inputSamplesCount - firstHalf;
283 memcpy(self->buffer, &inputSamples[firstHalf],
284 sizeof(MYFLT) * secondHalf);
285 self->writeIndex = secondHalf;
286 }
287}
288
289void Framebuffer_readBuffer(CSOUND *csound, Framebuffer *self,
290 MYFLT *outputSamples, int32_t outputSamplesCount)

Calls

no outgoing calls

Tested by

no test coverage detected