Another way to use the pedal point chord playmode is with secondary Segments or motifs. If you play a really long note with the Don't Cut Off and Regenerate on Chord Change flags specified in the note's properties page, some cool harmonies can result. In the tutorial project, visit the Regeneration bookmark. Play the Segment featuring the Chord Track using the main Play button, and then play the other Segment with the secondary Segment toolbar. The notes continue past the end of the Segment, adjusting to every new chord that comes along! In this case, the pedal point chord playmode setting is not specified in the part but on the notes themselves.
There are other things that you can do to individual notes using their properties pages. You can tell the engine to harmonize a note to a chord that has not arrived by tweaking the map to chord value. This is great for pickups. You can avoid having one note randomly transpose an octave because it hit a range limit. Do this by setting groups of notes to transpose together with the Override Inv. Group feature. You can tweak the scale and chromatic offsets that we discussed earlier in the Note Properties box. You can tell a note when it is appropriate for it to cut off. For example, you can tell DirectMusic to cut off the note if it is not in the new chord's scale or chord tone list.
ChordLevels and Inversions
You can specify what kinds of chord tones pattern parts are supposed to play. This is done with ChordLevels or Inversions. Earlier you were told to always edit chords in the bottom row labeled 1. The bottom level consists of chords that the various instrument parts within a pattern respond to, but you can define deeper chord levels. This is especially useful for more complex harmonies, such as those in jazz.
If you have a G13b9 chord, you probably don't want the extensions to be played by the lower instruments. The strategy to use is to place the basic chord tones in the first level and the upper extensions into the upper chord levels. Open the ChordLevel bookmark to see an example. The first three chords are simple and have the same note for each level. When the more complex chords start in bar four, only the trumpets play the dissonant tones. This is because in the pattern the trumpet part is set to chord level three via its properties page under Default Play Mode. All the extension notes are placed in level three in the chords (see Figure 6-9). That way, the trombones and bass play the fundamental chord level one tones, and the trumpets play the extended level three tones.
Figure 6-9: Chord levels.
You could also define for DirectMusic whether specific inversions are allowed through the chords. The Inversions bookmark illustrates this. The first set of chords has different inversions defined for the second chord level, but the second set does not. The Style's part is set to play on level two. You hear the first four bars inverted, but the last four are not, since all the chord levels are in root position in the second half of the Segment. One last thing that could be done with this feature is to implement a polychordal texture as bookmark 21 of the Demo8 project that comes with what Producer demonstrates. The Demo8 project is a demo that, in our opinion, is the best way to learn the basics of DirectMusic. The project has a series of bookmarks that lead you through an excellent tutorial. Find it on the web at:
It is also on the DirectX SDK CD. Run this file to install it: E:\DXF\DXSDK\essentls\DMusProd\DemoContent\DMPDemoCont ent.exe.