100 uint8_t mask = value >> 7;
101 uint8_t abs = (value + mask) ^ mask;
102 uint8_t sign = mask & 0b01000000;
103 return (abs & 0b00111111) | sign;
120 address = address + 1;
124 long thisDelta = constrain(delta, -15, 15);
Control_Surface_ & Control_Surface
A predefined instance of the Control Surface to use in the Arduino sketches.
relativeCCmode
The encoding to use for relative control change value.
@ KORG_KONTROL_INC_DEC_1
Korg KONTROL in Inc/Dec mode 1.
@ BINARY_OFFSET
Encode negative MIDI CC values by adding a fixed offset of .
@ NEXT_ADDRESS
Encode negative MIDI CC values by incrementing the address if the number is negative,...
@ REAPER_RELATIVE_2
Second relative mode in Reaper.
@ TRACKTION_RELATIVE
Relative mode in Tracktion.
@ REAPER_RELATIVE_1
First relative mode in Reaper.
@ TWOS_COMPLEMENT
Encode negative MIDI CC values as 7-bit two's complement.
@ SIGN_MAGNITUDE
Encode negative MIDI CC values by using the most significant bit as a sign bit, and the six least sig...
@ REAPER_RELATIVE_3
Third relative mode in Reaper.
@ MACKIE_CONTROL_RELATIVE
Relative mode used by the Mackie Control Universal protocol.
#define BEGIN_CS_NAMESPACE
A type-safe utility class for saving a MIDI address consisting of a 7-bit address,...
void sendControlChange(MIDIAddress address, uint8_t value)
Send a MIDI Control Change event.
Class that sends relative/incremental MIDI control change messages.
static uint8_t mapRelativeCC(int8_t value)
Convert an 8-bit two's complement integer to a 7-bit value to send over MIDI.
static relativeCCmode mode
static void setMode(relativeCCmode mode)
Set the relative CC mode that's used.
static uint8_t toTwosComplement7bit(int8_t value)
Convert an 8-bit two's complement integer to a 7-bit two's complement integer.
static uint8_t toBinaryOffset7bit(int8_t value)
Convert an 8-bit two's complement integer to a 7-bit integer with a binary offset of 64.
static void send(long delta, MIDIAddress address)
Send a relative CC message.
static uint8_t toSignedMagnitude7bit(int8_t value)
Convert an 8-bit two's complement integer to 7-bit sign-magnitude format.