Hi, I found veeeery strange behavior with multiple output connections:
1. I have to connect channel except default channel to 3 other DSP channels for processing, so I did.
2. I can connect/disconnect to first or second or third or any combination of this DSP channels and I can see in profiler appropriate network.
3. If I connect only 1 additional DSP channel (first or second or third) – everything is fine and I get appropriate sound data in DSP callback.
3. BUT If I connect MORE than 1 DSP channel (for example first and third) in addition to default sound channel, ONLY ONE DSP callback receives data, another one doesn’t.

Here is puctures:
0. Main channel & 0 DSP channel are connected – OK
1. Main channel & 1 DSP channel are connected – OK
2. Main channel & 2 DSP channel are connected – Bad
3. Main channel & 3 DSP channel are connected – Bad

I use addInput/disconnectFrom to connect/disconnect channels

What’s wrong with my network?

  • You must to post comments

It looks like the issue is the resampler unit. It is ticking the units below it multiple times making the wavetable be executed more times than it should be.

I would suggest dropping usage of playDSP to add sendstream/senddirect/send020, and instead just use ChannelGroup::getDSPHead, then DSP::addinput to add those 3 units.

This will remove the resamplers and it should then be fine.

  • You must to post comments

just to let you know i’ve made a change which will stop the badness, but because the resampler pulls in more data than the channelgroup would, there is phasing, so its still a good idea to remove those resamplers.

  • You must to post comments

Thank you, Brett.

addInput works fine in my case.
I wonder where I could read in details about some technical details, like "active"/"passive" objects, who is really pulling and in which tread ?


  • You must to post comments
Showing 3 results
Your Answer

Please first to submit.