A template is a segment that can be used in composing a playable segment of music at run time. The template sets the length of the segment and any loop points. It can provide the command track, which controls changes in the and the choice of embellishment . It also prescribes how the is used in composing the segment, by specifying from which signpost group each new chord must come. For a conceptual overview, see Templates.
There are two ways to obtain a template:
- Load it from a segment file or resource, and request the IDirectMusicSegment8 interface.
- Create it from a shape, using the IDirectMusicComposer8::ComposeTemplateFromShape method. You choose the length, the overall shape, whether intro and end embellishment patterns are to be played, and how long the ending is to be. You get back a pointer to the IDirectMusicSegment interface from which you can obtain IDirectMusicSegment8.
After you have obtained a template segment object, you can pass it to the IDirectMusicComposer8::ComposeSegmentFromTemplate method, along with pointers to a and a chordmap. You also supply a rate of harmonic motion, which sets the frequency of chord changes. The ComposeSegmentFromTemplate method creates a segment and returns a pointer to its IDirectMusicSegment interface.