3 Encoders are showing up more frequently on controllers. However, they use
4 the same MIDI events as Continuous Controllers and they have no standard
5 way of sending that information as MIDI events.
8 Encoders that send the same continuous values as a pot would are not
9 discussed here as they are already supported by <code>ctl</code>.
12 Encoders as this page talks about them send direction and offset that the
13 DAW will add to or subtract from the current value.
16 The 4 kinds of 7 bit encoders supported are:
20 enc-r: Relative Signed Bit. If the most sign bit is set, Then
21 the offset is positive. The lower 6 significant bits are the
22 offset. <code><Binding channel="1" enc-r="13" …</code>
23 The offset value is formed as <code>0svvvvvv</code>. Where s is the
24 sign or direction and vvvvvv is the number of ticks turned.
27 enc-l: Relative Signed Bit 2". If the most sign bit is unset,
28 Then the offset is positive. The lower 6 significant bits are the
29 offset. This is the same as enc-r but with the direction of turn
30 reversed. This is the method the Mackie Control Protocol
31 uses. <code><Binding channel="1" enc-l="13" …</code>
32 The offset value is formed as <code>0svvvvvv</code>. Where s is the
33 sign or direction and vvvvvv is the number of ticks turned.</li>
35 enc-2: Relative 2s Complement. Positive offsets are sent as normal
36 from 1 to 64 and negative offsets are sent as 2s complement negative
37 numbers. This is a signed 7 bit int.
38 <code><Binding channel="1" enc-2="13" …</code>
41 enc-b: Relative Binary Offset. Positive offsets are sent as offset
42 plus 64 and negative offsets are sent as 64 minus offset. 64 is zero,
43 65 is +1, 63 is -1. <code><Binding channel="1" enc-b="13" …</code>
47 If the wrong one is chosen, either the positive or negative side will act
48 incorrectly. It is not really possible to auto detect which one the
49 controller is using. Trial and error is the only way if the specification
50 of the controller is not known.
53 Many controllers have more than one choice as well, check the manual for
57 14 bit encoders are also supported with:
59 <li>rpn-delta - The value is expected to be a signed 14bit value
60 that is added to the current value. For use with encoders</li>
61 <li>nrpn-delta - The value is expected to be a signed 14bit value
62 that is added to the current value. For use with encoders</li>