Assembly: Bass.Net (in Bass.Net.dll) Version: 188.8.131.52
Property ValueType: Int16
To set a continuous controllers use the SetContinuousController(Boolean, Boolean). By default this is never set. In such case this property will return the combined controller value by pairing this contoller value with the one from the PreviousShortMessage. Note: You must explicitly call the SetContinuousController(Boolean, Boolean) method in order to obtain the paired value. There is also no additional check performed (except that the PreviousShortMessage must exist and must have a StatusType of value ControlChange). Setting this member if IsSetAsContinuousController will in such case also modify this short-message as well as the PreviousShortMessage!
Note: Some ControlChange messages might actually use two short messages (e.g. the BankSelect) to support paired values with a higher resolution (16384 instead of 128 values). In such case two messages will be send, where one contains the the LSB value (single steps) in it's Data2 byte and the other on the MSB value (128th steps) in it's Data2 byte.
For this special case it might be useful to keep in your MIDIINPROC handler always the current and the last message.
You might use the GetPairedData(Byte, Byte), GetPairedData2(MidiShortMessage, MidiShortMessage) resp. the GetPairedData1(MidiShortMessage, MidiShortMessage) method to retrieve a combined value from two short messages resp. two data value.