Audio Processing Framework (APF)  version 0.3.0

For class documentation see apf::MimoProcessor.

How to use the class MimoProcessor?

You can see the full example there: examples/dummy_example.cpp

First, we include the main header file ...

... then some policies (see Policies for more information).

[class definition]

class MyProcessor : public apf::MimoProcessor<MyProcessor
, apf::pointer_policy<float*>, apf::dummy_thread_policy>

[input typedef]

using Input = MimoProcessorBase::DefaultInput;


class MyIntermediateThing : public ProcessItem<MyIntermediateThing>

[MyIntermediateThing process]

// you can create other classes and use them in their own RtList, as
// long as they are derived from ProcessItem<YourClass> and have a
// Process class publicly derived from ProcessItem<YourClass>::Process.
// This can be facilitated with this macro call:
APF_PROCESS(MyIntermediateThing, ProcessItem<MyIntermediateThing>)
// do your processing here!


[output class]

class Output : public MimoProcessorBase::DefaultOutput

[output ctor]

explicit Output(const Params& p)
: MimoProcessorBase::DefaultOutput(p)


APF_PROCESS(Output, MimoProcessorBase::DefaultOutput)
// this->buffer.begin() and this->buffer.end(): access to audio data



MyProcessor(const apf::parameter_map& p)
: MimoProcessorBase(p)
, _intermediate_list(_fifo)

[inside ctor]

_intermediate_list.add(new MyIntermediateThing());


~MyProcessor() { this->deactivate(); }

[private members]

APF_PROCESS(MyProcessor, MimoProcessorBase)
// input/output lists are processed automatically before/after this:
rtlist_t _intermediate_list;

And that's it! That's you own class based on apf::MimoProcessor!