Microsoft DirectX 9.0 SDK Update (October 2004) |
The Compose method composes all tracks flagged as DMUS_TRACKCONFIG_COMPOSING and places the composed tracks in this segment or in a copy of this segment.
Syntax
HRESULT Compose(
MUSIC_TIME mtTime,
IDirectMusicSegment* pFromSegment,
IDirectMusicSegment* pToSegment,
IDirectMusicSegment** ppComposedSegment
);
Parameters
mtTime
Value of type MUSIC_TIME that specifies the time in pFromSegment at which to compose a transition. Set to 0 if pFromSegment is NULL.
pFromSegment
Pointer to an IDirectMusicSegment8 interface that specifies the segment leading to a transition. This value is NULL if the calling segment is not a transition.
pToSegment
Pointer to the IDirectMusicSegment8 interface that specifies the segment following a transition. This value is NULL if the calling segment is not a transition or if the transition is an ending.
ppComposedSegment
Address of a variable that receives the IDirectMusicSegment8 interface pointer of the composed segment, or NULL if the calling segment is to be recomposed.
Return Values
If the method succeeds, the return value is S_OK.
If it fails, the method can return one of the error values shown in the following table.
Return code |
DMUS_E_NOT_FOUND |
E_FAIL |
E_OUTOFMEMORY |
E_POINTER |
Remarks
If the pointer parameters are all NULL, the segment calls IDirectMusicTrack8::Compose on all its tracks. Any composing tracks search for other tracks necessary for composition; if a needed track is not found, DMUS_E_NOT_FOUND is returned.
If ppComposedSegment is not NULL, the method creates a copy of the original segment that contains the recomposed tracks. If either pFromSegment or pToSegment is not NULL, the calling segment is assumed to be a transition and might include tracks that contain only headers referring to one of the bracketing segments.
Requirements
Header: Dmusici.h
Library: Dmime.dll, Dmimed.dll
See Also