I am trying to route the channels of a 3 channel wav stored in a Studio event to certain channels in a 7.1 setup. This should be possible using setMixMatrix on the ChannelGroup of the event. I use the C# wrapper and use the ASIO driver (which tells it is running in RAW speaker mode although I initialized it in 7.1) with 20 output channels reported by getDriverInfo(…). The signal should be routed to output channels 4, 7 and 8 (with 1 being the front left channel).
The matrix I use to store the mix matrix has 400 float elements (20x20) and is set to 0.0f except the following:
ego_mix_matrix[33 + 0] = 1.0f;
ego_mix_matrix[63 + 1] = 1.0f;
ego_mix_matrix[7*3 + 2] = 1.0f;
Then I call
FMOD_ego_vibration_channelgroup.setMixMatrix(ego_mix_matrix, num_output_channels, 3, 3);
This produces an output on the front left, right and center channel (channels 1,2,3). I also tried to route only one input channel to a certain output channel, then in some cases the center channel also gets a signal (which should not happen in my understanding).
What is the exact meaning of the “inchannel_hop” parameter? In the examples it is not used (is this still up to date??) and the explanation in the documentation makes no sense to me. The setMixMatrix call only works when using an inchannel_hop of 3, not 400 as it would be following the documentation.
Sorry for the long post! Hope someone out there has an idea…