Microsoft DirectX 9.0 |
This standard audiopath 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 example function retrieves an IDirectSoundFXWavesReverb8 interface to the
HRESULT GetDMO(IDirectMusicPerformance8* pPerf,IDirectSoundFXWavesReverb8** ppEffectDMO)
{
IDirectMusicAudioPath8 * pAudioPath;
HRESULT hr;
hr = 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*) ppEffectDMO);
}
return hr;
}
See Also