Share via


DMUS_IO_CURVE_ITEM

The DMUS_IO_CURVE_ITEM structure contains information about a curve event in a track. Used in the Sequence Track Chunk.

Syntax

typedef struct _DMUS_IO_CURVE_ITEM {
  MUSIC_TIME  mtStart;
  MUSIC_TIME  mtDuration;
  MUSIC_TIME  mtResetDuration;
  DWORD   dwPChannel;
  short   nOffset;
  short   nStartValue;
  short   nEndValue;
  short   nResetValue;
  BYTE    bType;
  BYTE    bCurveShape;
  BYTE    bCCData;
  BYTE    bFlags;
  WORD    wParamType;
  WORD    wMergeIndex
} DMUS_IO_CURVE_ITEM;

Members

mtStart

Start time of the curve.

mtDuration

Duration of the curve.

mtResetDuration

Time after the curve is finished during which a reset can occur.

dwPChannel

Performance channel for the event.

nOffset

Offset from the grid boundary at which the curve occurs, in music time. Because MIDI curves are associated with the closest grid when loaded, this value can be positive or negative.

nStartValue

Start value.

nEndValue

End value.

nResetValue

Reset value, set upon a flush or invalidation within the time set by mtResetDuration.

bType

Type of curve. The following types are defined as shown.

Type Description
DMUS_CURVET_CCCURVE Continuous controller curve (MIDI Control Change channel voice message; status byte &HBn, where n is the channel number).
DMUS_CURVET_MATCURVE Monophonic aftertouch curve (MIDI Channel Pressure channel voice message; status byte &HDn).
DMUS_CURVET_PATCURVE Polyphonic aftertouch curve (MIDI Poly Key Pressure channel voice message, status byte &HDn).
DMUS_CURVET_PBCURVE Pitch-bend curve (MIDI Pitch Bend channel voice message; status byte &HEn).
DMUS_CURVET_NRPNCURVE NRPN curve.
DMUS_CURVET_RPNCURVE RPN curve.

bCurveShape

Shape of curve. The following shapes are defined as shown.

Shape Description
DMUS_CURVES_EXP Exponential curve shape.
DMUS_CURVES_INSTANT Instant curve shape (beginning and end of curve happen at essentially the same time).
DMUS_CURVES_LINEAR Linear curve shape.
DMUS_CURVES_LOG Logarithmic curve shape.
DMUS_CURVES_SINE Sine curve shape.

bCCData

CC number if this is a control change type.

bFlags

Set to DMUS_CURVE_RESET if the nResetValue must be set when an invalidation occurs because of a transition. If 0, the curve stays permanently at the new value. All other bits are reserved.

wParamType

Parameter number for RPN and NRPN types.

wMergeIndex

Merge index. Supported for mod wheel, reverb send, chorus send, pitch bend, volume, and expression controllers.

Requirements

**  Header:** Dmusicf.h

See Also

© 2004 Microsoft Corporation. All rights reserved.