Legacy Ports

Under Windows 95 and Windows 98, DirectMusic supports legacy ports—that is, it will sequence output data to a MIDI device that uses FM or hardware wavetable synthesis. You can recognize a legacy port by the DMUS_PORT_WINMM_DRIVER flag in the dwType member of the DMUS_PORTCAPS structure returned by IDirectMusic::EnumPort or IDirectMusicPort::GetCaps.

Legacy ports have the following restrictions in DirectMusic:

Another respect in which legacy ports differ from others is that the application determines whether channels on the legacy port are to be shared between ports, by setting the fShare member of the DMUS_PORTPARAMS structure. This member is relevant only for ports that have the DMUS_PC_SHAREABLE flag in the dwFlags member of DMUS_PORTCAPS, as is always the case for legacy ports.

Most applications do not need to consider the presence of legacy ports, because the Microsoft Software Synthesizer produces consistent results on all output devices capable of playing waveform audio.