I understand the pattern of using
ProcessorDuplicator to duplicate mono processors and then using a
ProcessorState to share state between them.
But what if the mono processor being managed by the
ProcessorDulplicator doesn’t, or can’t use a
ProcessorState for its state handling? How can I e.g. access a mono processor instance in order to call setter methods on it?
An example would be any state that utilises
LinearSmoothedValue. If such state is shared amongst multiple instances in a
ProcessorDuplicator then each instance is going to get every nth value from
n is the number of duplicated instances, which obviously doesn’t work.
With the current API, the only way I can see around this is to make processors multi-channel, so a
ProcessorDuplicator isn’t needed for multi-channel support, but this seems a waste given the convenience of
It seems like
ProcessorDuplicator needs a
getInstance(int index) method analogous to
ChainBase::get() that enables individual instances to be accessed after creation.