A class that handles the asynchronous adding / removal of Processor objects to the signal path. More...
Public Member Functions | |
void | addAsync (Processor *p, const SafeFunctionCall::Function &addFunction) |
Asynchronously adds a module. More... | |
void | removeAsync (Processor *p, const SafeFunctionCall::Function &removeFunction) |
Asynchronously removes the module. More... | |
A class that handles the asynchronous adding / removal of Processor objects to the signal path.
void addAsync | ( | Processor * | p, |
const SafeFunctionCall::Function & | addFunction | ||
) |
Asynchronously adds a module.
It will be activated, initialised and added to the parent on the sample loading thread like defined in the addFunction
Then in the message thread, it will call all listeners.
The ownership must be transferred in the addFunction
void removeAsync | ( | Processor * | p, |
const SafeFunctionCall::Function & | removeFunction | ||
) |
Asynchronously removes the module.
It will be deactivated and removed from it's parent on the Sample loading thread Then it will call all listeners and be finally removed on the message thread.
The removeFunction you pass in must not delete the processor!