Microsoft DirectX 9.0 SDK Update (October 2004) |
The ComposeTransition method composes a transition from a measure inside one segment to another segment.
Syntax
HRESULT ComposeTransition(
IDirectMusicSegment* pFromSeg,
IDirectMusicSegment* pToSeg,
MUSIC_TIME mtTime,
WORD wCommand,
DWORD dwFlags,
IDirectMusicChordMap* pChordMap,
IDirectMusicSegment** ppTransSeg
);
Parameters
pFromSeg
Segment from which to compose the transition.
pToSeg
Segment to which the transition should smoothly flow. Can be NULL if dwFlags does not include DMUS_COMPOSEF_MODULATE.
mtTime
Time in pFromSeg from which to compose the transition.
wCommand
Embellishment to use when composing the transition. This can be one of the DMUS_COMMANDT_TYPES enumeration, or a value defined in DirectMusic Producer as a custom embellishment. If this value is DMUS_COMMANDT_ENDANDINTRO, the method composes a segment containing both an ending to pFromSeg and an introduction to pToSeg.
dwFlags
Composition options. This parameter can contain one or more values from the DMUS_COMPOSEF_FLAGS enumerated type.
pChordMap
Pointer to the IDirectMusicChordMap8 interface of the
ppTransSeg
Address of a variable that receives a pointer to the created segment.
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 |
E_INVALIDARG |
E_OUTOFMEMORY |
E_POINTER |
Remarks
The value in pChordMap can be NULL. If it is, an attempt is made to obtain a chordmap from a chordmap track, first from pToSeg, and then from pFromSeg. If neither of these segments contains a chordmap track, the chord occurring at mtTime in pFromSeg is used as the chord in the transition.
The composer looks for a tempo, first in pFromSeg, and then in pToSeg. If neither of those segments contains a tempo track, the tempo for the transition segment is taken from the
Requirements
Header: Dmusici.h
Library: Dmcompos.dll, Dmcompod.dll
See Also