DMUS_IO_CURVE_ITEM
Contains information about a curve event in a track. Used in the Sequence Track Chunk.
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 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:
- 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:
- 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.
Header: Declared in dmusicf.h.
See Also
DMUS_IO_SEQ_ITEM, Curves