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