[EDIT, see original post below] I realise I have been describing roughly the functionality of the 'shaper' agent in eigenD. So new question, is this agent suitable for compressing signals at audio data rates, and can we add a sidechain to this easily?
[original post]
I've been thinking of an eigenD setup in which you could set a drum loop running, and then play a bass or synth part that would use a compressor to 'duck' under the drum part.
In a DAW or something like mainstage, you would setup a compressor as an audio unit effects plugin, put it downstream of the bass/synth, and then feed the drums into its sidechain.
Since the audio unit agent in eigenD has no sidechain input, compressor plugins can't be used this way. (At least not natively, without using an external host to hook up the compressor and driving the bass/synth over MIDI).
To get round this, there are 2 possible solutions I can think of:
1 - add a sidechain to the AU agent. This strikes me as a job that is not for mere mortals as the AU host agent is likely pretty big a complex/
2 - make a standalone compressor agent, that can compress any signal within eigenD. I imagine it would have some fast inputs for some audio channels, and another set for the sidechain, plus some slow inputs to configure the threshold/attack/realease/knee width etc.
My question to the eigenD experts is: are either of these going to be good ways of going about this, or are they both fraught with unseen difficulty?
Could the compressor agent be implemented within the cfilter framework shown at the developer's conference?