MIDIOUTCAPS structure

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

Syntax

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

Members

wMid

Manufacturer identifier of the device driver for the MIDI output device. Manufacturer identifiers are defined in Manufacturer and Product Identifiers.

wPid

Product identifier of the MIDI output device. Product identifiers are defined in Manufacturer and Product Identifiers.

vDriverVersion

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

Product name in a null-terminated string.

wTechnology

Type of the MIDI output device. This value can be one of the following:

Name Description
MOD_MIDIPORT
MIDI hardware port.
MOD_SYNTH
Synthesizer.
MOD_SQSYNTH
Square wave synthesizer.
MOD_FMSYNTH
FM synthesizer.
MOD_MAPPER
Microsoft MIDI mapper.
MOD_WAVETABLE
Hardware wavetable synthesizer.
MOD_SWSYNTH
Software synthesizer.

wVoices

Number of voices supported by an internal synthesizer device. If the device is a port, this member is not meaningful and is set to 0.

wNotes

Maximum number of simultaneous notes that can be played by an internal synthesizer device. If the device is a port, this member is not meaningful and is set to 0.

wChannelMask

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 that transmit on all channels set this member to 0xFFFF.

dwSupport

Optional functionality supported by the device. It can be one or more of the following:

Name Description
MIDICAPS_CACHE
Supports patch caching.
MIDICAPS_LRVOLUME
Supports separate left and right volume control.
MIDICAPS_STREAM
Provides direct support for the midiStreamOut function.
MIDICAPS_VOLUME
Supports volume control.
 

If a device supports volume changes, the MIDICAPS_VOLUME flag will be set for the dwSupport member. 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 member.

Requirements

   
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Header mmeapi.h (include Windows.h)

See Also

MIDI Structures

Musical Instrument Digital Interface (MIDI)

midiStreamOut