Microsoft DirectX 9.0

DMUS_REGION

The DMUS_REGION structure defines a region for a DLS download. One or more regions can be embedded in an instrument buffer and referenced by the instrument header chunk, DMUS_INSTRUMENT.

Syntax

typedef struct {
  RGNRANGE RangeKey;
  RGNRANGE RangeVelocity;
  USHORT fusOptions;
  USHORT usKeyGroup;
  ULONG  ulRegionArtIdx;
  ULONG  ulNextRegionIdx;
  ULONG  ulFirstExtCkIdx;
  WAVELINK WaveLink;
  WSMPL  WSMP;
  WLOOP  WLOOP[1];
} DMUS_REGION;

Members

RangeKey

Key range for this region.

RangeVelocity

Velocity range for this region.

fusOptions

Options for the synthesis of this region. The following flag is defined:

Flag Description
F_RGN_OPTION_SELFNONEXCLUSIVE If a second note-on for the same note is received by the synthesis engine, the second note is played, as well as the first. This option is off by default so that the synthesis engine forces a note-off of the first note.

usKeyGroup

Key group for a drum instrument. Key group values allow multiple regions within a drum instrument to belong to the same group. If a synthesis engine is instructed to play a note with a key group setting and any other notes are currently playing with this same key group, the synthesis engine turns off all notes with the same key group value as soon as possible. Currently, key groups from 1 through 15 are legal, and 0 indicates no key group.

ulRegionArtIdx

Index, in the DMUS_OFFSETTABLE structure, of the global articulation chunk for the region. If 0, the region does not have an articulation and relies on the instrument's global articulation.

ulNextRegionIdx

Index, in the DMUS_OFFSETTABLE structure, of the next region in the region list. If 0, there are no more regions.

ulFirstExtCkIdx

Index, in the DMUS_OFFSETTABLE structure, of the third-party extension chunk list. If 0, no extension chunks are associated with the region.

WaveLink

Standard DLS structure (declared in the Dls1.h header file) for managing a link from the region to a waveform. The ulTableIndex member of the WAVELINK structure contains the download identifier of the associated buffer. (For more information, see DMUS_DOWNLOADINFO and Low-Level DLS.)

WSMP

Standard DLS structure (declared in Dls1.h) for managing the playback of the waveform. If the cSampleLoops member is 1, the following WLOOP structure carries the loop start and end points.

WLOOP[ ]

Structure describing a loop. The WLOOP type is declared in Dls1.h.

Requirements

  Header: Declared in dmdls.h.

See Also