Microsoft DirectX 9.0

DMUS_IO_INSTRUMENT

The DMUS_IO_INSTRUMENT structure contains information about an instrument. Used in the Band Form.

Syntax

typedef struct _DMUS_IO_INSTRUMENT {
  DWORD  dwPatch;
  DWORD  dwAssignPatch;
  DWORD  dwNoteRanges[4];
  DWORD  dwPChannel;
  DWORD  dwFlags; 
  BYTE bPan;
  BYTE bVolume;
  short  nTranspose;
  DWORD  dwChannelPriority;
  short  nPitchBendRange;
} DMUS_IO_INSTRUMENT;

Members

dwPatch

MSB, LSB, and program change to define instrument.

dwAssignPatch

MSB, LSB, and program change to assign to instrument when downloading.

dwNoteRanges

128 bits; one for each MIDI note that the instrument must be able to play.

dwPChannel

Performance channel that the instrument plays on.

dwFlags

Control flags. The following values are defined as shown.

Value Description
DMUS_IO_INST_ASSIGN_PATCH The dwAssignPatch member is valid.
DMUS_IO_INST_BANKSELECT The dwPatch member contains a valid bank select, both MSB and LSB.
DMUS_IO_INST_CHANNEL_PRIORITY The dwChannelPriority member is valid.
DMUS_IO_INST_GM Instrument is from the General MIDI collection.
DMUS_IO_INST_GS Instrument is from the Roland GS collection.
DMUS_IO_INST_NOTERANGES The dwNoteRanges member is valid.
DMUS_IO_INST_PAN The bPan member is valid.
DMUS_IO_INST_PATCH The dwPatch member is valid.
DMUS_IO_INST_PITCHBENDRANGE The nPitchBendRange member is valid.
DMUS_IO_INST_TRANSPOSE The nTranspose member is valid.
DMUS_IO_INST_USE_DEFAULT_GM_SET The default General MIDI instrument set should be downloaded to the port, even if the port has GM in hardware. When a MIDI file that contains an XG or GS reset  is parsed, the bank-select message is sent, whether or not GUID_StandardMIDIFile was commanded on the band. In other words, GUID_StandardMIDIFile is effective only for pure GM files.
DMUS_IO_INST_VOLUME The bVolume member is valid.
DMUS_IO_INST_XG Instrument is from the Yamaha XG collection.

bPan

Pan for the instrument.

bVolume

Volume for the instrument.

nTranspose

Number of semitones to transpose notes.

dwChannelPriority

Channel priority. For a list of defined values, see IDirectMusicPort8::GetChannelPriority.

nPitchBendRange

Number of semitones shifted by pitch bend.

Requirements

  Header: Declared in dmusicf.h.

See Also