Delphi 2005 Pro, WinXP SP2, ASIO4ALL
Help (BASSASIO) file says:
BOOL BASS_ASIO_ChannelSetVolume(
BOOL input,
DWORD channel,
float volume
);
bassasio.pas doesn't have a declaration BASS_ASIO_ChannelSetVolume. So I added:
function BASS_ASIO_ChannelSetVolume(input:BOOL; channel:DWORD; volume: single): BOOL; stdcall; external bassasiodll;
and it works.
Now the problem. I'm doing a simple test playing 4 stereo streams. Look at the code:
BASS_ASIO_SetDevice(0);
BASS_ASIO_ChannelEnable(False, 0, @AsioProc, 0);
BASS_ASIO_ChannelJoin(False, 1, 0);
BASS_ASIO_ChannelSetFormat(False, 0, BASS_ASIO_FORMAT_FLOAT);
BASS_ChannelGetInfo(Drums, ChanInfo);
BASS_ASIO_ChannelSetRate(False, 0, ChanInfo.freq);
BASS_ASIO_ChannelReset(False, 0, BASS_ASIO_RESET_VOLUME);
BASS_ASIO_ChannelEnable(False, 2, @AsioProc, 1);
BASS_ASIO_ChannelJoin(False, 3, 2);
BASS_ASIO_ChannelSetFormat(False, 2, BASS_ASIO_FORMAT_FLOAT);
BASS_ChannelGetInfo(Bas, ChanInfo);
BASS_ASIO_ChannelSetRate(False, 2, ChanInfo.freq);
BASS_ASIO_ChannelReset(False, 2, BASS_ASIO_RESET_VOLUME);
and so on (next two channels). But in the final mix channels 4-5 (3rd stereo stream) and 6-7 (4th stereo stream) play with lower level (-6 dB ? or more...). It's the same with "speakers" demo. Any solution? Is it an ASIO (ASIO4ALL) or BASS_ASIO bug?
Regards,
Jacek