It sounds like you're using BASS_MIDI_StreamGetChannel with BASS_MIDI_CHAN_REVERB and applying a VST effect to the returned channel, and now you want to apply the same effect instance to some VST instruments? I haven't tried it myself, but that may be possible by using a DSP function to mix the VST instruments with the data from BASSMIDI before applying the VST effect, ie. the DSP would have a higher "priority" setting than the VST effect. You could use a "push" stream and a BASSmix mixer to do the mixing, something like this:
reverbchan=BASS_MIDI_StreamGetChannel(midi, BASS_MIDI_CHAN_REVERB); // get MIDI stream's reverb channel
reverbmixer=BASS_Mixer_StreamCreate(freq, chans, BASS_SAMPLE_FLOAT|BASS_STREAM_DECODE); // create mixer with same format as reverb channel (always floating-point)
pushstream=BASS_StreamCreate(freq, chans, BASS_SAMPLE_FLOAT|BASS_STREAM_DECODE, STREAMPROC_PUSH, NULL); // create push stream with same format
BASS_Mixer_StreamAddChannel(reverbmixer, pushstream, 0); // plug it into the mixer
// plug VST instruments into the mixer here
BASS_ChannelSetDSP(reverbchan, MixDSP, NULL, 2); // set DSP on reverb handle
// set VST effect on reverbchan with lower "priority" value here
...
void CALLBACK MixDSP(HDSP handle, DWORD channel, void *buffer, DWORD length, void *user)
{
BASS_StreamPutData(pushstream, buffer, length); // pass data to push stream
BASS_ChannelGetData(reverbmixer, buffer, length); // get data back from mixer
}
Note that the VST instrument's level will be affected by the MIDI_EVENT_REVERB_LEVEL setting then, as it's going through the MIDI's reverb channel.