I have 3 channel groups. On the main system I have 2 DSP’s, a custom DSP that writes the audio to WAV and a reverb DSP. I am trying to write to WAV one channel group that has the reverb DSP combined with one that is plain while excluding the third group. I’ve successfully done this by adding the DSP to a master channel group but then the reverb is not written to the WAV since it is system wide. I’ve reduced the reverb for the plain channels by setting FMOD_REVERB_CHANNELPROPERTIES but I need to exclude one group completely from the WAV DSP. Is there a way to exclude the channel group from being written from within the custom DSP or is there a better way to achieve this?
- NetGuru asked 5 years ago
[quote="peter":191lslh8]ChannelGroups form a hierarchy, so you can add channelgroups to other groups. Just add the two channelgroups that you do want to record to a new group, then put your recording DSP on that new group.[/quote:191lslh8]
When I set it up this way the recording works with the correct groups but it is not recording the system reverb. I can hear it being played but it records without it, here is the flow –
// Reverb ***
FMOD_REVERB_PROPERTIES prop_concert = FMOD_PRESET_CONCERTHALL;
prop_concert.Room = mRev;
result = FMODsystem->setReverbProperties(&prop_concert);
// Groups ***
result = FMODsystem->createChannelGroup("Group1", &group1);
result = FMODsystem->createChannelGroup("Group2", &group2);
result = FMODsystem->createChannelGroup("Group3", &group3);
// Record Group ***
result = FMODsystem->getMasterChannelGroup(&masterGroup);
result = masterGroup->addGroup(group1);
result = masterGroup->addGroup(group2);
// RECORD DSP **
strcpy(dspdesc.name, "My first DSP unit");
dspdesc.channels = 0; // 0 = whatever comes in, else specify.
dspdesc.read = myDSPCallback;
dspdesc.userdata = (void *)outFile;
result = FMODsystem->createDSP(&dspdesc, &mydsp); result = masterGroup->addDSP(mydsp, NULL);
- NetGuru answered 5 years ago
Please login first to submit.