Share via


DMUS_INSTRUMENT

The DMUS_INSTRUMENT structure contains an instrument definition in a DLS download chunk.

Syntax

typedef struct {
  ULONG ulPatch;
  ULONG ulFirstRegionIdx;
  ULONG ulGlobalArtIdx;
  ULONG ulFirstExtCkIdx;
  ULONG ulCopyrightIdx;
  ULONG ulFlags;
} DMUS_INSTRUMENT;

Members

ulPatch

Patch number of instrument.

ulFirstRegionIdx

Index of first region chunk (see DMUS_REGION) within the instrument. There should always be a region, but for compatibility with future synthesizer architectures, it is acceptable to have 0 in this member.

ulGlobalArtIdx

Index, in the DMUS_OFFSETTABLE structure, of the global articulation chunk (see DMUS_ARTICULATION and DMUS_ARTICULATION2) for the instrument. If 0, the instrument does not have global articulation.

ulFirstExtCkIdx

Index, in the DMUS_OFFSETTABLE structure, of the first extension chunk (see DMUS_EXTENSIONCHUNK) within the instrument. This is used to add new chunks that DirectMusic is unaware of. If 0, no third-party extension chunks are associated with the instrument.

ulCopyrightIdx

Index, in the DMUS_OFFSETTABLE structure, of an optional copyright chunk (see DMUS_COPYRIGHT). If 0, no copyright information is associated with the instrument.

ulFlags

Additional flags for the instrument. The following flag is defined:

Flag Description
DMUS_INSTRUMENT_GM_INSTRUMENT The instrument is a standard General MIDI instrument. In the case of patch overlap, GM instruments always have lower priority than other DLS instruments. For example, if a GM instrument is downloaded with patch 0 and a non-GM instrument is also downloaded at patch 0, the non-GM instrument is always selected for playback.

Requirements

**  Header:** Dmdls.h

See Also

© 2004 Microsoft Corporation. All rights reserved.