DirectX SDK

DMUS_CURVE_PMSG

DMUS_CURVE_PMSG is a message structure that represents a curve (for example, a sequence of continuous controller events).

typedef struct DMUS_CURVE_PMSG {
    DMUS_PMSG_PART
    MUSIC_TIME mtDuration;
    MUSIC_TIME mtOriginalStart;
    MUSIC_TIME mtResetDuration;
    short      nStartValue;
    short      nEndValue;
    short      nResetValue;
    WORD       wMeasure;
    short      nOffset;
    BYTE       bBeat;
    BYTE       bGrid;
    BYTE       bType;
    BYTE       bCurveShape;
    BYTE       bCCData;
    BYTE       bFlags;
} DMUS_CURVE_PMSG;
DMUS_PMSG_PART
Macro for common message members. See DMUS_PMSG.
mtDuration
Duration of the curve.
mtOriginalStart
Original start time. Must be set to either 0 when this message is created, or to the original start time of the curve.
mtResetDuration
How long after the curve is finished until the reset value is set. Ignored if DMUS_CURVE_RESET is not in bFlags.
nStartValue
Start value of the curve.
nEndValue
End value of the curve.
nResetValue
Reset value of the curve, set after mtResetDuration or upon a flush or invalidation. Ignored if DMUS_CURVE_RESET is not in bFlags.
wMeasure
Measure in which this curve occurs.
nOffset
Offset from the grid at which this curve occurs, in music time.
bBeat
Beat count (within a measure) at which this curve occurs.
bGrid
Grid offset from the beat at which this curve occurs.
bType
Type of curve. This can be one of the following values:
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).
bCurveShape
Shape of curve. This can be one of the following values:
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 nResetValue must be set when the time is reached or an invalidation occurs because of a transition. If 0, the curve stays permanently at the new value. All other bits are reserved.

Requirements

  Windows NT/2000: Requires Windows 2000.
  Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
  Header: Declared in dmusici.h.

See Also

IDirectMusicPerformance::SendPMsg