]> Shamusworld >> Repos - ardour-manual/blob - include/generic-midi-and-encoders.html
Ruler/markers rewrite part 7 of N
[ardour-manual] / include / generic-midi-and-encoders.html
1
2 <p>
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.
6 </p>
7 <p>
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>.
10 </p>
11 <P>
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.
14 </p>
15 <p>
16   The 4 kinds of 7 bit encoders supported are:
17 </p>
18 <ul>
19 <li>
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>&lt;Binding channel="1" enc-r="13" &hellip;</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.
25 </li>
26 <li>
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>&lt;Binding channel="1" enc-l="13" &hellip;</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>
34 <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>&lt;Binding channel="1" enc-2="13" &hellip;</code>
39 </li>
40 <li>
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>&lt;Binding channel="1" enc-b="13" &hellip;</code>
44 </li>
45 </ul>
46 <p>
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.
51 </p>
52 <p>
53   Many controllers have more than one choice as well, check the manual for
54   the surface.
55 </p>
56
57 14 bit encoders are also supported with:
58 <ul>
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>
63 </ul>