The ComposeSegmentFromTemplate method creates an original segment from a style , a chordmap , and a template .
HRESULT ComposeSegmentFromTemplate( IDirectMusicStyle* pStyle, IDirectMusicSegment* pTemplate, WORD wActivity, IDirectMusicChordMap* pChordMap, IDirectMusicSegment** ppSegment );
IDirectMusicStyle8 interface pointer that specifies the style from which to create the segment.
IDirectMusicSegment8 interface pointer that specifies the template from which to create the segment.
Rate of harmonic motion. Valid values are 0 through 3. Lower values mean more chord changes.
IDirectMusicChordMap8 interface pointer that specifies the chordmap from which to create the segment.
Address of a variable that receives a pointer to the created segment.
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 pStyle is not NULL, it is used in composing the segment; if it is NULL, a style is retrieved from the template specified in pTempSeg. Similarly, if pChordMap is not NULL, it is used in composing the segment; if it is NULL, a chordmap is retrieved from the template.
If pStyle is NULL and there is no style track in the template, or pChordMap is NULL and there is no chordmap track, the method returns E_INVALIDARG.
The length of the segment is equal to the length of the template passed in.
The default start point and loop points of the created segment are 0, regardless of the values in the template segment.
** Header:** Dmusici.h
Library: Dmcompos.dll, Dmcompod.dll
- IDirectMusicComposer8 Interface
- Using Templates