Hello MidiBox users,
Here is the idea and a problem:
I want to use encoder to select different sounds from my sound module. I want to have sounds organised in logical groups like: Pianos,Electric Pianos, Strings…etc. I aslo need to use CC0 for bank changes. I know that ProgramChange is not supported by MAPS, so I have a following idea:
Assign 2 EVENT_ENC to 1 hw_id encoder . First Event encoder would change CC#0 using maps, second encoder would use undefined cc to select values from second map : for example cc 14. Number of entries would be the same in both maps. So configuration would look like this:
EVENT_ENC id=1 hw_id=1 enc_mode=Absolute range=map1 type=CC ch=2 cc=0
EVENT_ENC id=2 hw_id=1 enc_mode=Absolute range=map2 type=CC ch=2 cc=14
MAP1 64 0 8 16 62 63 64 0 1 2 8 62 63 0 64 0 8 0 64 0 8 62 63 64 0 8 9 64 0 8
MAP2 0 0 0 0 0 0 1 1 1 1 1 1 1 3 6 6 6 7 2 2 2 2 2 4 4 4 4 5 5 5
Now - plan was to use EVENT_RECEIVER and EVENT_SENDER to change second values from CC14 to ProgramChange. This part of the experiment works ok, however there is a problem how encoder “reads” the map.
when I turn the encoder - on the first map it only goes to 63 - when it finds repeated value “64” it goes back to first “64” and keeps going :0,8,16,62,63…and back to 64 . On second encoder I only get value 0. I have performed tests with different maps and it always do the same action. Whenever there is repeated value in the MAP - it will go back to to the same value at the beginning of the MAP.
For example if we use velocity map:
MAP1 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 \
32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 \
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 \
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 \
96 96 97 97 98 98 99 99 100 100 101 101 102 102 103 103 \
104 104 105 105 106 106 107 107 108 108 109 109 110 110 111 111 \
112 112 113 113 114 114 115 115 116 116 117 117 118 118 119 119 \
120 120 121 121 122 122 123 123 124 124 125 125 126 126 127 127
Highest value I can get is 96. After this value encoder will only repeat 96.
Is there any way that encoder can accept the same value twice in the MAP? I tried different versions of firmware…always the same results.
Regards,