Using Bands
A band is a collection of settings for performance channels . Every part in a segment or style plays on a single performance channel, and the most recently applied band determines how sound is synthesized on that channel.
Bands can contain the following information for each channel:
- Instrument, identified by a MIDI patch number and bank select . This setting does not affect WAV parts playing on the channel.
- DLS collection from which to load the instrument. By default, the DLS collection is the standard General MIDI collection.
- Volume.
- Pan.
- Transposition. If this value is not zero, music notes on the channel are automatically transposed for the instrument.
A band does not necessarily contain settings for every performance channel in use, and it does not have to contain every possible setting for channels it does affect. Settings not explicitly changed by a band remain as they were before the band was played. For example, if the application plays a band that does not contain any settings for channel 1, any parts on that channel continue playing on the last instrument assigned to it, and with the same volume, pan, and transposition settings. The band could change a single setting, such as the volume, without affecting any of the other settings currently in effect.
Segments and styles always contain at least one band, called the default band. Styles can contain additional bands. When you load a segment or style, the default band and any other bands are automatically loaded as well. However, you must still download the DLS data for the instruments in any band that you intend to use.
You can retrieve a pointer to the default band by using the IDirectMusicStyle8::GetDefaultBand method.
Other bands might be authored into the style, and can be found and retrieved by using the IDirectMusicStyle8::EnumBand and IDirectMusicStyle8::GetBand methods. Bands can also be obtained from other style files or from band files. When you have obtained an IDirectMusicBand8 interface, you have access to that band and can substitute it for the default band.
See Also