6class BelaContextSplitter {
8 BelaContextSplitter(
unsigned int in = 1,
unsigned int out = 1,
const BelaContext* context =
nullptr)
10 setup(in, out, context);
12 ~BelaContextSplitter(){cleanup();}
53 static bool contextEqual(
const InternalBelaContext* ctx1,
const InternalBelaContext* ctx2);
57 static void contextCopy(
const InternalBelaContext* src, InternalBelaContext* dst);
63 static void contextCopyData(
const InternalBelaContext* src, InternalBelaContext* dst);
64 static void contextAllocate(InternalBelaContext* ctx);
67 static void resizeContext(InternalBelaContext& context,
size_t in,
size_t out);
68 static void stackFrames(
bool interleaved,
const float* source,
float* dest,
unsigned int channels,
unsigned int sourceStartFrame,
unsigned int destStartFrame,
unsigned int sourceFrames,
unsigned int destFrames);
69 std::vector<InternalBelaContext> outContexts;
71 unsigned int inLength;
72 unsigned int outCount;
73 unsigned int outLength;
87 struct streamOffsets {
89 unsigned int channels;
92 uint32_t getFramesForStream(
const struct streamOffsets& o,
const InternalBelaContext* context);
93 uint32_t getChannelsForStream(
const struct streamOffsets& o,
const InternalBelaContext* context);
94 float* getDataForStream(
const struct streamOffsets& o,
const InternalBelaContext* context);
95 struct streamOffsets offsets[kNumStreams];
96 direction_t direction;
int setup(unsigned int in, unsigned int out, const BelaContext *context)
int push(const BelaContext *inContext)
static void contextCopy(const InternalBelaContext *src, InternalBelaContext *dst)
BelaContext * getContext()
static void contextCopyData(const InternalBelaContext *src, InternalBelaContext *dst)
Structure holding audio and sensor settings and pointers to I/O data buffers.
Definition Bela.h:231