DMUS_CURVE_PMSG
Contains information about a curve message.
Type DMUS_CURVE_PMSG
beat As Byte
ccData As Byte
curveShape As Byte
endValue As Integer
flags As Byte
grid As Byte
measure As Integer
MergeIndex As Integer
mtDuration As Long
mtOriginalStart As Long
mtResetDuration As Long
offset As Integer
ParamType As Integer
resetValue As Integer
startValue As Integer
type As Byte
End Type
Members
- beat
- Beat count (within a measure) at which this curve occurs.
- ccData
- Controller number, if type is DMUS_CURVET_CCCURVE.
- curveShape
- Shape of the curve. This can be one of the values from the CONST_DMUS_CURVES enumeration.
- endValue
- End value of the curve.
- flags
- Flags. Can be 0 or one or more constants from the CONST_DMUS_CURVE_FLAGS enumeration.
- grid
- Grid offset from a beat at which this curve occurs. In application-created messages, should be 0.
- measure
- Measure in which this curve occurs. In application-created messages, should be 0.
- MergeIndex
- Merge index. Supported for pitch bend, volume, and expression controllers. See Remarks.
- mtDuration
- How long the curve lasts. This value is in music time unless DMUS_PMSGF_LOCKTOREFTIME is present in the flags parameter of DirectMusicPerformance8.SendCurvePMSG, in which case it is in milliseconds and is unaffected by a change in tempo.
- mtOriginalStart
- Original start time, in music time. In application-created messages, must be 0.
- mtResetDuration
- Length of time after the end of the curve during which a reset can take place in response to an invalidation. Ignored if DMUS_CURVE_RESET is not in the flags member. This value is in music time unless DMUS_PMSGF_LOCKTOREFTIME is present in the flags parameter of DirectMusicPerformance8.SendCurvePMSG, in which case it is in milliseconds and is unaffected by a change in tempo.
- offset
- Offset from a grid at which this curve occurs, in music time.
- ParamType
- MIDI parameter number. See Remarks.
- resetValue
- Value to set after a flush or invalidation.
- startValue
- Start value of the curve.
- type
- Type of curve. This can be one of the values from the CONST_DMUS_CURVET enumeration.
Remarks
An RPN or NRPN curve type in ParamType is stored as two bytes with seven significant bits. For example, if the MSB is 0x23 and the LSB is 0x74, the value in ParamType is 0x2374.
Data in startValue, endValue, and resetValue is limited to 14 bits. For MIDI data consisting of two seven-bit bytes, the value is stored as a word with the upper two bits empty.
All curves with MergeIndex of 0 override each other. If the merge index is another value, the values generated by the curve are added to the values for merge index 0. For example, if an application uses curves with indexes of 0 and 3, the 0 curves always replace each other but add to the 3 curves, and the 3 curves also always replace each other and add to the 0 curves.
See Also
DirectMusicPerformance8.SendCurvePMSG