I do something like this:
A file decoding stream hBassCh is plugged into a decoding mixer hMix, which is plugged into another (non decoding) mixer hMix2.
hBassCh = BASS_StreamCreateFile(BASSFALSE, StrPtr(Filename), 0, 0, BASS_STREAM_DECODE Or BASS_SAMPLE_FLOAT Or BASS_STREAM_PRESCAN)
hMix = BASS_Mixer_StreamCreate(ChInfo.Freq, 2, BASS_STREAM_DECODE Or BASS_MIXER_POSEX)
...
Debug.Print BASS_Mixer_StreamAddChannel(hMix, hBassCh, BASS_MIXER_MATRIX Or BASS_STREAM_AUTOFREE)
...
hMix2 = BASS_Mixer_StreamCreate(ChInfo.Freq, 2, BASS_MIXER_POSEX)
Call BASS_Mixer_StreamAddChannel(hMix2, hMix, BASS_MIXER_MATRIX)
...
Debug.Print BASS_Mixer_ChannelSetMatrix(hBassCh, MixMatrix(0))
...
Call BASS_Mixer_ChannelSetMatrix(hMix, MixMatrix2(0))
When I change the values on MixMatrix and apply it the sound heard on the speakers doesn't change; it seems to be a one to one assignment (I only tried mono and stereo files).
If I remove the BASS_MIXER_POSEX flag on hMix creation code then the sound heard follows the changes of the values of MixMatrix.
All the functions succeed.
What can I be doing wrong? What tests should I perform?