DirectX SDK |
Before a band can be used, the instruments that it refers to must be downloaded to the performance. This step maps the instruments to PChannels and downloads the DLS data to the port.
By default, the application is responsible for downloading any band that it uses. However, you can turn on automatic downloading of bands. When automatic downloading is on, the instruments in the band are downloaded when the segment containing the band is cued. The instruments are automatically unloaded when the segment is stopped, unless another segment using the same instruments is cued to play immediately or is currently playing.
Note Automatic downloading should be used only when the timing of segment starts is not critical. Repeated loading and unloading of instruments takes time and can cause serious degradation of performance in complex musical environments.
Be aware also that automatic unloading, which is part of the automatic downloading mechanism, can lead to undesired results. For example, suppose you play a short secondary segment that changes the instrument on a channel. The instrument is automatically downloaded when the secondary segment starts, replacing the existing instrument. When the secondary segment ends, the instrument is automatically unloaded. Therefore, there is no instrument on that channel, and the channel plays silence.
Downloading a band makes the band available to the performance but does not perform any program changes. Program changes take place in response to messages generated by the segment's band track, which is typically authored into a segment file. For information on how to make program changes at run time, see Making Band Changes Programmatically.
Information about how to implement downloading and unloading of bands is contained in the following topics: