Mercurial > hg > pub > prymula > com
view DPF-Prymula-audioplugins/dpf/distrho/src/clap/audio-buffer.h @ 3:84e66ea83026
DPF-Prymula-audioplugins-0.231015-2
author | prymula <prymula76@outlook.com> |
---|---|
date | Mon, 16 Oct 2023 21:53:34 +0200 |
parents | |
children |
line wrap: on
line source
#pragma once #include "private/std.h" #ifdef __cplusplus extern "C" { #endif // Sample code for reading a stereo buffer: // // bool isLeftConstant = (buffer->constant_mask & (1 << 0)) != 0; // bool isRightConstant = (buffer->constant_mask & (1 << 1)) != 0; // // for (int i = 0; i < N; ++i) { // float l = data32[0][isLeftConstant ? 0 : i]; // float r = data32[1][isRightConstant ? 0 : i]; // } // // Note: checking the constant mask is optional, and this implies that // the buffer must be filled with the constant value. // Rationale: if a buffer reader doesn't check the constant mask, then it may // process garbage samples and in result, garbage samples may be transmitted // to the audio interface with all the bad consequences it can have. // // The constant mask is a hint. typedef struct clap_audio_buffer { // Either data32 or data64 pointer will be set. float **data32; double **data64; uint32_t channel_count; uint32_t latency; // latency from/to the audio interface uint64_t constant_mask; } clap_audio_buffer_t; #ifdef __cplusplus } #endif