11 #include <rtti/rtti.h>
14 #include <utility/threading.h>
17 #include <audio/utility/asyncobserver.h>
18 #include <audio/utility/audiotypes.h>
19 #include <audio/utility/safeptr.h>
79 int getBufferSize()
const;
84 float getSampleRate()
const;
115 virtual void process() = 0;
121 virtual void setBufferSize(
int bufferSize) { bufferSizeChanged(bufferSize); }
127 void setSampleRate(
float sampleRate) { sampleRateChanged(sampleRate); }
129 NodeManager* mNodeManager =
nullptr;
133 std::atomic<bool> mRegisteredWithNodeManager = {
false };
161 nodeManager), mThreadPool(threadPool), mAsyncObserver(observer)
168 mAsyncObserver(parent.mAsyncObserver)
179 void removeChild(
Process& child);
185 void processParallel();
190 void processSequential();
195 void process()
override;
212 std::vector<Process*> mChildren;
213 std::atomic<Mode> mMode = {Mode::Sequential};