Firelight Technologies FMOD Studio API
Channel::getMixMatrix
Retrieves a 2D pan matrix that maps input channels (columns) to output speakers (rows).
C++ Syntax
FMOD_RESULT Channel::getMixMatrix(
float *matrix,
int *outchannels,
int *inchannels,
int matrixhop
);
C Syntax
FMOD_RESULT FMOD_Channel_GetMixMatrix(
FMOD_CHANNEL *channel,
float *matrix,
int *outchannels,
int *inchannels,
int matrixhop
);
C# Syntax
RESULT Channel.getMixMatrix(
float[] matrix,
out int outchannels,
out int inchannels,
int inchannel_hop
);
JavaScript Syntax
Channel.getMixMatrix(
matrix, // writes value to matrix.val
outchannels, // writes value to outchannels.val
inchannels, // writes value to inchannels.val
inchannel_hop
);
Parameters
- matrix
- Address of a 2 dimensional array of volume levels in row-major order. Each row represents an output speaker, each column represents an input channel.
- outchannels
- Address of a variable to receive the number of output channels (rows) in the matrix being passed in.
- inchannels
- Address of a variable to receive the number of input channels (columns) in the matrix being passed in.
- matrixhop
- The width (total number of columns) of the matrix. Optional. If this is 0, inchannels will be taken as the width of the matrix. Maximum of FMOD_MAX_CHANNEL_WIDTH.
Return Values
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.
Remarks
The gain for input channel 's' to output channel 't' is matrix[t * matrixhop + s].
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.
Passing NULL for 'matrix' will allow you to query 'outchannels' and 'inchannels' without copying any data.
See Also
Version 1.10.03 Built on Feb 1, 2018