Using Templates
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.
A template is represented by a DirectMusic segment object.
There are two ways to obtain a template:
- Load it from a segment file or resource. You load it as a DirectMusicObject and query for the IDirectMusicSegment8 interface. For more information, see Loading Audio Data.
- 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.
Once 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 IDirectMusicSegment8 interface. You pass this pointer to the IDirectMusicPerformance8::PlaySegment or IDirectMusicPerformance8::PlaySegmentEx method.