Microsoft DirectX 8.1 (Visual Basic) |
It is often necessary to retrieve a particular object within the audiopath. Common reasons to do so include the following:
Objects can be retrieved from an audiopath by calling DirectMusicAudioPath8.GetObjectInPath. The following table gives information about the parameters to this method.
lStage | guidObject | lPChannel used? |
lIndex used? |
iidInterface (typical) |
DMUS_PATH_AUDIOPATH | Not supported in DirectX for Visual Basic. The application already has the DirectMusicAudioPath8 object from which GetObjectInPath was called. | |||
DMUS_PATH_AUDIOPATH_GRAPH | Not supported in DirectX for Visual Basic. | |||
DMUS_PATH_AUDIOPATH_TOOL | Not supported in DirectX for Visual Basic. | |||
DMUS_PATH_BUFFER | GUID_ALL | Yes | No, identify by dwBuffer. | IID_DirectSoundSecondaryBuffer8 |
DMUS_PATH_BUFFER_DMO | DMO class ID, such as GUID_DSFX_STANDARD_GARGLE, or GUID_ALL to enumerate |
Yes | No, identify by dwBuffer. | IID for standard DMO, such as IID_DirectSoundGargle |
DMUS_PATH_MIXIN_BUFFER | GUID_ALL | No | Yes | IID_DirectSoundSecondaryBuffer8 |
DMUS_PATH_MIXIN_BUFFER_DMO | DMO class GUID, or GUID_ALL to enumerate |
No | Yes | IID for standard DMO, such as IID_DirectSoundFXI3DL2Reverb |
DMUS_PATH_PERFORMANCE | Not supported in DirectX for Visual Basic. | |||
DMUS_PATH_PERFORMANCE_GRAPH | Not supported in DirectX for Visual Basic. | |||
DMUS_PATH_PERFORMANCE_TOOL | Not supported in DirectX for Visual Basic. | |||
DMUS_PATH_PORT | Not supported in DirectX for Visual Basic. | |||
DMUS_PATH_PRIMARY_BUFFER | GUID_ALL | No | No | IID_DirectSound3DListener8 |
DMUS_PATH_SEGMENT (*) | GUID_ALL | No | No | IID_DirectMusicSegment8 |
DMUS_PATH_SEGMENT_GRAPH (*) | Not supported in DirectX for Visual Basic. | |||
DMUS_PATH_SEGMENT_TOOL (*) | Not supported in DirectX for Visual Basic. | |||
DMUS_PATH_SEGMENT_TRACK (*) | Not supported in DirectX for Visual Basic. |
For more information on the values for lIndex when retrieving standard buffers, see Standard Audiopaths.
If you already have an object for an effects buffer, it is also possible to retrieve a
You can retrieve a DirectSoundSecondaryBuffer8 object for any buffer in the audiopath, but some methods are not valid. For more information, see DirectSoundSecondaryBuffer8.
If you set a global variable to a buffer object obtained from the audiopath, be sure to set the variable to Nothing before calling DirectMusicPerformance8.CloseDown. If you fail to do so, CloseDown will destroy the buffer and then a memory access violation can occur when the variable goes out of scope as the program exits.