|Microsoft DirectX 9.0|
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.
HRESULT Compose( MUSIC_TIME mtTime, IDirectMusicSegment* pFromSegment, IDirectMusicSegment* pToSegment, IDirectMusicSegment** ppComposedSegment );
Value of type MUSIC_TIME that specifies the time in pFromSegment at which to compose a transition. Set to 0 if pFromSegment is NULL.
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.
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.
Address of a variable that receives the IDirectMusicSegment8 interface pointer of the composed segment, or NULL if the calling segment is to be recomposed.
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.
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.
Header: Declared in dmusici.h.