DirectX SDK |
Under Windows 95 and Windows 98, DirectMusic supports legacy ports—that is, it sequences output data to a MIDI device that uses FM or hardware wave-table synthesis.
Legacy ports have the following restrictions in DirectMusic:
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.
You can recognize a legacy port by the DMUS_PORT_WINMM_DRIVER flag in the dwType member of the DMUS_PORTCAPS structure returned by the IDirectMusic::EnumPort or the IDirectMusicPort::GetCaps method.
Legacy ports also differ from others in that the application determines whether channels on the legacy port are shared between logical 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.
You can recognize a legacy port by the DMUS_PORT_WINMM_DRIVER flag in the lType member of the DMUS_PORTCAPS type returned by DirectMusicPerformance.GetPortCaps.