Firelight Technologies FMOD Studio API
Sets a 2D pan matrix that maps input channels (columns) to output speakers (rows).
FMOD_RESULT Channel::setMixMatrix(
float *matrix,
int outchannels,
int inchannels,
int inchannel_hop
);
FMOD_RESULT FMOD_Channel_SetMixMatrix(
FMOD_CHANNEL *channel,
float *matrix,
int outchannels,
int inchannels,
int inchannel_hop
);
If the function succeeds then the return value is FMOD_OK.
If the function fails then the return value will be one of the values defined in the FMOD_RESULT enumeration.
Levels can be below 0 to invert a signal and above 1 to amplify the signal. Note that increasing the signal level too far may cause audible distortion.
The matrix size will generally be the size of the number of channels in the current speaker mode. Use System::getSoftwareFormat to determine this.
If a matrix already exists then the matrix passed in will applied over the top of it. The input matrix can be smaller than the existing matrix.
A 'unit' matrix allows a signal to pass through unchanged. For example for a 5.1 matrix a unit matrix would look like this:
[ 1 0 0 0 0 0 ]
[ 0 1 0 0 0 0 ]
[ 0 0 1 0 0 0 ]
[ 0 0 0 1 0 0 ]
[ 0 0 0 0 1 0 ]
[ 0 0 0 0 0 1 ]
Version 1.03.06 Built on Apr 17, 2014