Microsoft DirectX 8.1 (C++)

DMUS_APATH_SHARED_STEREOPLUSREVERB

Sets up buffers of type Reverb and Stereo.

The Stereo buffer is shared among multiple audiopaths. It is a sink-in buffer, meaning that it accepts data directly from the synthesizer, not from other buffers.

Applications can obtain an interface to the Stereo buffer by calling one of the GetObjectInPath methods with dwStage set to DMUS_PATH_BUFFER and dwBuffer set to 0.

The Reverb buffer is also a shared sink-in buffer. Unlike the Stereo buffer, it accepts a mono input from the synthesizer and converts the data to stereo format.

Applications can obtain an interface to the Reverb buffer by calling one of the GetObjectInPath methods with dwStage set to DMUS_PATH_BUFFER and dwBuffer set to 1.

The following sample code, where g_pPerf is an IDirectMusicPerformance8 interface, retrieves an IDirectSoundFXWavesReverb8 interface to the DMO in the Reverb buffer on a default DMUS_APATH_SHARED_STEREOPLUSREVERB audiopath:

IDirectMusicAudioPath8 * pAudioPath;
IDirectSoundFXWavesReverb8 * pEffectDMO;
HRESULT hr;
 
hr = g_pPerf->GetDefaultAudioPath(&pAudioPath);
if (SUCCEEDED(hr))
{
  HRESULT hr = pAudioPath->GetObjectInPath(DMUS_PCHANNEL_ALL,
    DMUS_PATH_BUFFER_DMO, 1,
    GUID_All_Objects, 0, IID_IDirectSoundFXWavesReverb8,
    (LPVOID*) &pEffectDMO);
}