Microsoft DirectX 9.0 SDK Update (October 2004)

IDirectMusicComposer8::ComposeTransition

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

Requirements

  Header: Dmusici.h
  Library: Dmcompos.dll, Dmcompod.dll

See Also


© 2004 Microsoft Corporation. All rights reserved.