Microsoft DirectX 8.0 (C++)

IDirectMusicComposer8::ComposeTransition

Composes a transition from a measure inside one segment to another.

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 another value defined by the content provider. 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 of the DMUS_COMPOSEF_FLAGS enumerated type values.
pChordMap
Pointer to the IDirectMusicChordMap8 interface chordmap to be used when composing the transition. See Remarks.
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 following error values:

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 style.

Requirements

  Header: Declared in dmusici.h.

See Also

IDirectMusicComposer8::AutoTransition, Using Transitions