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:** Dmusicf.h
See Also