I’m trying to understand the the relationship between channels and DSPs. As far as I understand it:
- At the lowest level, we’ve got a graph of
DSP
s - some linear groups of them (DSP Chains) are wrapped up in
Channels
orChannelGroup
s
What I don’t understand is if the Channel
to Channel
relationships are anything separate from the DSP
to DSP
relationships.
For example, I can create 2 channel groups:
FMOD.ChannelGroup cg1, cg2;
coreSystem.createChannelGroup("cg1", out cg1);
coreSystem.createChannelGroup("cg2", out cg2);
which creates this graph
If I connect cg2
to cg1
, like this:
FMOD.ChannelGroup cg1, cg2;
coreSystem.createChannelGroup("cg1", out cg1);
coreSystem.createChannelGroup("cg2", out cg2);
cg2.addGroup(cg1);
I get this graph:
So cg1
was disconnected from the master group and connected to cg2
. I can do seemingly the same thing by manipulating the DSPs:
FMOD.ChannelGroup cg1, cg2;
coreSystem.createChannelGroup("cg1", out cg1);
coreSystem.createChannelGroup("cg2", out cg2);
FMOD.DSP cg1_fader, cg2_fader;
cg1.getDSP(0, out cg1_fader);
cg2.getDSP(0, out cg2_fader);
cg1_fader.disconnectAll(true, true);
cg2_fader.addInput(cg1_fader);
Is this the same thing? One thing that’s confusing is that a ChannelGroup
is only supposed to have 1 parent, but if you’re routing the DSPs there’s nothing stopping you from routing a ChannelGroup
’s output fader to multiple places.
Maybe a more concise wording for my question is "Is the tree of Channel
s and ChannelGroup
s separate from the graph of DSP
s?