Platform SDK: DirectX

DirectMusicBand.Download

The DirectMusicBandDirectDownload method downloads the DLS data for instruments in the band to a performance object. Once a band has been downloaded, the instruments in the band can be selected, either individually with program change MIDI messages, or all at once by playing a band segment created through a call to the DirectMusicBand.CreateSegment method.

object.Download(performance As DirectMusicPerformance)

Parameters

object
Object expression that resolves to a DirectMusicBand object.
performance
Performance in which the band is to perform. The performance manages the mapping of channels to DirectMusic ports.

Error Codes

If the method fails, it raises an error, and Err.Number can be set to one of the following values:

DMUS_E_NOT_INIT
DMUS_E_OUTOFMEMORY

Remarks

Because a downloaded band uses synthesizer resources, it should be unloaded when no longer needed by using the DirectMusicBand.Unload method.

In the current version of DirectMusic, this method may succeed even though the port does not support DLS.

If DMUS_E_NOT_INIT is raised, it usually means that the performance was not properly connected up to an initialized port. Since this is a complete failure, there is no need to call DirectMusicBand.Unload later.

If the download only partially succeeds, no error is raised but some instruments might not play. The following are some common causes of a partial download: