Retrieves a MIDI channel's stream handle, which can be used to set DSP/FX on it. Can also replace the default reverb and chorus processing.
HSTREAM BASS_MIDI_StreamGetChannel( HSTREAM handle, DWORD chan );
|handle||The MIDI stream.|
|chan||The MIDI channel... 0 = channel 1. Or one of the following special channels.|
|BASS_ERROR_HANDLE||handle is not valid.|
|BASS_ERROR_ILLPARAM||chan is not valid.|
A MIDI channel stream receives the channel's dry mix, and its output is then sent through the normal reverb/chorus/userfx processing, but drum key reverb/chorus/userfx settings get ignored as it is impossible to apply different reverb/chorus/userfx levels to individual keys in this case (they have already been mixed).
MIDI channel streams can only be used to set DSP/FX on the channels. They cannot be used with BASS_ChannelGetData or BASS_ChannelGetLevel to visualise the channels, for example, but that could be achieved with a DSP function instead. A MIDI channel stream's sample format is always floating-point, regardless of the MIDI stream's sample format.
HSTREAM chan1=BASS_MIDI_StreamGetChannel(midi, 0); // get a stream for MIDI channel 1 HFX fx=BASS_ChannelSetFX(chan1, BASS_FX_DX8_DISTORTION, 0); // set the DX8 distortion effect on it