MIDIOUTCAPS

The MIDIOUTCAPS structure describes the capabilities of a MIDI output device.

typedef struct midioutcaps_tag {
    WORD  wMid;
    WORD  wPid;
    VERSION  vDriverVersion;
    char  szPname[MAXPNAMELEN];
    WORD  wTechnology;
    WORD  wVoices;
    WORD  wNotes;
    WORD  wChannelMask;
    DWORD  dwSupport;
} MIDIOUTCAPS;

Fields

The MIDIOUTCAPS structure has the following fields:

wMid

Specifies a manufacturer ID for the device driver for the MIDI output device. Manufacturer IDs are defined in Appendix B, “Manufacturer ID and Product ID Lists.”

wPid

Specifies a product ID for the MIDI output device. Product IDs are defined in Appendix B, “Manufacturer ID and Product ID Lists.”

vDriverVersion

Specifies the version number of the device driver for the MIDI output device. The high-order byte is the major version number, and the low-order byte is the minor version number.

szPname[MAXPNAMELEN]

Specifies the product name in a NULL-terminated string.

wTechnology

Describes the type of the MIDI output device according to one of the following flags:

MOD_MIDIPORT

Indicates the device is a MIDI hardware port.

MOD_SQSYNTH

Indicates the device is a square wave synthesizer.

MOD_FMSYNTH

Indicates the device is an FM synthesizer.

MOD_MAPPER

Indicates the device is the Microsoft MIDI Mapper.

wVoices

Specifies the number of voices supported by an internal synthesizer device. If the device is a port, the field is not meaningful and will be set to 0.

wNotes

Specifies the maximum number of simultaneous notes that may be played by an internal synthesizer device. If the device is a port, the field is not meaningful and will be set to 0.

wChannelMask

Specifies the channels that an internal synthesizer device responds to, where the least significant bit refers to channel 0 and the most significant bit to channel 15. Port devices transmit on all channels and so will set this field to 0xFFFF.

dwSupport

Specifies optional functionality supported by the device.

MIDICAPS_VOLUME

Supports volume control.

MIDICAPS_LRVOLUME

Supports separate left and right volume control.

MIDICAPS_CACHE

Supports patch caching.

Comments

If a device supports volume changes, the MIDICAPS_VOLUME flag will be set for the dwSupport field. If a device supports separate volume changes on the left and right channels, both the MIDICAPS_VOLUME and the MIDICAPS_LRVOLUME flags will be set for this field.

See Also

midiOutGetDevCaps