BASS_MIDI_StreamGetChannel
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 );
Parameters
handle | The MIDI stream. | ||||||
chan | The MIDI channel... 0 = channel 1. Or one of the following special channels.
|
Return value
If successful, the MIDI channel's stream handle is returned, else 0 is returned. Use BASS_ErrorGetCode to get the error code.Error codes
BASS_ERROR_HANDLE | handle is not valid. |
BASS_ERROR_ILLPARAM | chan is not valid. |
Remarks
By default, MIDI channels do not have streams assigned to them; a MIDI channel only gets a stream when this function is called, which it then keeps until the MIDI stream is freed. MIDI channel streams can also be freed before then via BASS_StreamFree. Each MIDI channel stream increases the CPU usage slightly, even if there are no DSP/FX set on them, so for optimal performance they should not be activated unnecessarily.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.
Platform-specific
This function is not available on the Android armeabi architecture.Example
Apply some DX8 distortion to channel 1 of a MIDI stream.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