Hi.
Here I have a controller with rotary encoders that send only values <64 for decrease and >64 for increase of a CC, the larger the difference from 64, the more increase or decrease.
There are no values 64 sent.
Is there a way to get this to work in zynthian?
Sending absolute CC values makes very little sense to me, as there is no catch-up/magnetic or similar logic, thus causing unexpected jumps in CC values, instantly destroying the sound.
Hi @fussl!
Your question comes at a most opportune moment. We are currently testing support for relative CC control. I worked also like to add the magnetic mode you mention for absolute controllers.
None of this is currently available in the Oram stable release. Stay tuned for updates
On which of the many testing repositories can I find it?
Just daubing around with midi CC mode for ui, i’ve again shredded my Zynthian’s brain inscriptions… ERROR Zyncore… good enough I’ve made a recovery stick
Hi @fussl !
For testing the new features you must change to the development branch (“Vangelis”).
Please, what is your controller brand and model? Could you send us a capture from the MIDI log to see the exact format it uses for sending relative MIDI CC?
Does you controller support just one relative mode or several ones that can be configured for each knob/fader?
Thanks!
Yes, I’ve set the Zynthian to Vangelis and updated. Still, I can not find any hint about Relative CC
Here is what the Midi Log shows when slowly turning a knob left-right-left:
CH#01 CONTROL_CHANGE 16 => 63
CH#01 CONTROL_CHANGE 16 => 63
CH#01 CONTROL_CHANGE 16 => 63
CH#01 CONTROL_CHANGE 16 => 63
CH#01 CONTROL_CHANGE 16 => 63
CH#01 CONTROL_CHANGE 16 => 63
CH#01 CONTROL_CHANGE 16 => 63
CH#01 CONTROL_CHANGE 16 => 65
CH#01 CONTROL_CHANGE 16 => 65
CH#01 CONTROL_CHANGE 16 => 65
CH#01 CONTROL_CHANGE 16 => 65
CH#01 CONTROL_CHANGE 16 => 65
CH#01 CONTROL_CHANGE 16 => 65
CH#01 CONTROL_CHANGE 16 => 65
CH#01 CONTROL_CHANGE 16 => 65
CH#01 CONTROL_CHANGE 16 => 65
CH#01 CONTROL_CHANGE 16 => 65
CH#01 CONTROL_CHANGE 16 => 63
CH#01 CONTROL_CHANGE 16 => 63
CH#01 CONTROL_CHANGE 16 => 63
Brand and model are confidential. NDA, sorry.
It looks like the controller sends CC value 63 for CCW and 65 for CW. Does it send different values for faster rotation? My Axiom 61 has a configuration to allow single step or various acceleration settings to send higher values for faster rotation.
The current auto-detect mechanism does not detect this mode of operation. @jofemodo is busy working on this.
In the meantime, I have raised ticket 1258 to request soft take mode to handle absolute encoders like pots and sliders.
Yes, if turning really fast ccw, it can send 63, 62, 61, 60 and for cw sends 65, 66, 67, 68.
lower values when faster ccw and higher when faster cw.
The 64 never shows.
To me this seems to be logic, as sending a NOP value of 64 would uselessly congest the Midi bus.
OK! I did some modifications and now It should work. Please, @fussl , update (vangelis) and try to learn your relative knobs.
Regards!
02:34 after midnight …
It works! so nice, big THANK YOU!
Seriously testing revealed no flaws with Relative CC.
Even high rate resulted in no missing actions, that is, setting the controller to a value and snapping back and forth, after returning to the start position, the CC value is the same as in the beginning. This is fantastic!
Ha, an update! disregard this posting. It now works perfectly with both relative and absolute CC, as far as i can test.
Ooops, sorry to nag again, but unfortunately, the “Relative CC Autodetect” has caused some other trouble, this time with normal CC.
In this video, it shows the modulation pedal, which is a normal CC on the same controller, moved from min to max, back to min and again to max.
Here is the Midi Log:
CH#01 CONTROL_CHANGE 1 => 1
CH#01 CONTROL_CHANGE 1 => 2
CH#01 CONTROL_CHANGE 1 => 3
CH#01 CONTROL_CHANGE 1 => 4
CH#01 CONTROL_CHANGE 1 => 5
CH#01 CONTROL_CHANGE 1 => 6
CH#01 CONTROL_CHANGE 1 => 7
CH#01 CONTROL_CHANGE 1 => 8
CH#01 CONTROL_CHANGE 1 => 9
CH#01 CONTROL_CHANGE 1 => 10
CH#01 CONTROL_CHANGE 1 => 11
CH#01 CONTROL_CHANGE 1 => 12
CH#01 CONTROL_CHANGE 1 => 13
CH#01 CONTROL_CHANGE 1 => 14
CH#01 CONTROL_CHANGE 1 => 15
CH#01 CONTROL_CHANGE 1 => 16
CH#01 CONTROL_CHANGE 1 => 17
CH#01 CONTROL_CHANGE 1 => 18
CH#01 CONTROL_CHANGE 1 => 19
CH#01 CONTROL_CHANGE 1 => 20
CH#01 CONTROL_CHANGE 1 => 21
CH#01 CONTROL_CHANGE 1 => 22
CH#01 CONTROL_CHANGE 1 => 23
CH#01 CONTROL_CHANGE 1 => 24
CH#01 CONTROL_CHANGE 1 => 25
CH#01 CONTROL_CHANGE 1 => 26
CH#01 CONTROL_CHANGE 1 => 27
CH#01 CONTROL_CHANGE 1 => 28
CH#01 CONTROL_CHANGE 1 => 29
CH#01 CONTROL_CHANGE 1 => 30
CH#01 CONTROL_CHANGE 1 => 31
CH#01 CONTROL_CHANGE 1 => 32
CH#01 CONTROL_CHANGE 1 => 33
CH#01 CONTROL_CHANGE 1 => 34
CH#01 CONTROL_CHANGE 1 => 35
CH#01 CONTROL_CHANGE 1 => 36
CH#01 CONTROL_CHANGE 1 => 37
CH#01 CONTROL_CHANGE 1 => 38
CH#01 CONTROL_CHANGE 1 => 39
CH#01 CONTROL_CHANGE 1 => 40
CH#01 CONTROL_CHANGE 1 => 41
CH#01 CONTROL_CHANGE 1 => 42
CH#01 CONTROL_CHANGE 1 => 43
CH#01 CONTROL_CHANGE 1 => 44
CH#01 CONTROL_CHANGE 1 => 45
CH#01 CONTROL_CHANGE 1 => 46
CH#01 CONTROL_CHANGE 1 => 47
CH#01 CONTROL_CHANGE 1 => 48
CH#01 CONTROL_CHANGE 1 => 49
CH#01 CONTROL_CHANGE 1 => 50
CH#01 CONTROL_CHANGE 1 => 51
CH#01 CONTROL_CHANGE 1 => 52
CH#01 CONTROL_CHANGE 1 => 53
CH#01 CONTROL_CHANGE 1 => 54
CH#01 CONTROL_CHANGE 1 => 55
CH#01 CONTROL_CHANGE 1 => 56
CH#01 CONTROL_CHANGE 1 => 57
CH#01 CONTROL_CHANGE 1 => 58
CH#01 CONTROL_CHANGE 1 => 59
CH#01 CONTROL_CHANGE 1 => 60
CH#01 CONTROL_CHANGE 1 => 61
CH#01 CONTROL_CHANGE 1 => 62
CH#01 CONTROL_CHANGE 1 => 63
CH#01 CONTROL_CHANGE 1 => 64
CH#01 CONTROL_CHANGE 1 => 65
CH#01 CONTROL_CHANGE 1 => 66
CH#01 CONTROL_CHANGE 1 => 67
CH#01 CONTROL_CHANGE 1 => 68
CH#01 CONTROL_CHANGE 1 => 69
CH#01 CONTROL_CHANGE 1 => 70
CH#01 CONTROL_CHANGE 1 => 71
CH#01 CONTROL_CHANGE 1 => 72
CH#01 CONTROL_CHANGE 1 => 73
CH#01 CONTROL_CHANGE 1 => 74
CH#01 CONTROL_CHANGE 1 => 75
CH#01 CONTROL_CHANGE 1 => 76
CH#01 CONTROL_CHANGE 1 => 77
CH#01 CONTROL_CHANGE 1 => 78
CH#01 CONTROL_CHANGE 1 => 79
CH#01 CONTROL_CHANGE 1 => 80
CH#01 CONTROL_CHANGE 1 => 81
CH#01 CONTROL_CHANGE 1 => 82
CH#01 CONTROL_CHANGE 1 => 83
CH#01 CONTROL_CHANGE 1 => 84
CH#01 CONTROL_CHANGE 1 => 85
CH#01 CONTROL_CHANGE 1 => 86
CH#01 CONTROL_CHANGE 1 => 87
CH#01 CONTROL_CHANGE 1 => 88
CH#01 CONTROL_CHANGE 1 => 89
CH#01 CONTROL_CHANGE 1 => 90
CH#01 CONTROL_CHANGE 1 => 91
CH#01 CONTROL_CHANGE 1 => 92
CH#01 CONTROL_CHANGE 1 => 93
CH#01 CONTROL_CHANGE 1 => 94
CH#01 CONTROL_CHANGE 1 => 95
CH#01 CONTROL_CHANGE 1 => 96
CH#01 CONTROL_CHANGE 1 => 97
CH#01 CONTROL_CHANGE 1 => 98
CH#01 CONTROL_CHANGE 1 => 99
CH#01 CONTROL_CHANGE 1 => 100
CH#01 CONTROL_CHANGE 1 => 101
CH#01 CONTROL_CHANGE 1 => 102
CH#01 CONTROL_CHANGE 1 => 103
CH#01 CONTROL_CHANGE 1 => 104
CH#01 CONTROL_CHANGE 1 => 105
CH#01 CONTROL_CHANGE 1 => 106
CH#01 CONTROL_CHANGE 1 => 107
CH#01 CONTROL_CHANGE 1 => 108
CH#01 CONTROL_CHANGE 1 => 109
CH#01 CONTROL_CHANGE 1 => 110
CH#01 CONTROL_CHANGE 1 => 111
CH#01 CONTROL_CHANGE 1 => 112
CH#01 CONTROL_CHANGE 1 => 113
CH#01 CONTROL_CHANGE 1 => 114
CH#01 CONTROL_CHANGE 1 => 115
CH#01 CONTROL_CHANGE 1 => 116
CH#01 CONTROL_CHANGE 1 => 117
CH#01 CONTROL_CHANGE 1 => 118
CH#01 CONTROL_CHANGE 1 => 119
CH#01 CONTROL_CHANGE 1 => 120
CH#01 CONTROL_CHANGE 1 => 121
CH#01 CONTROL_CHANGE 1 => 122
CH#01 CONTROL_CHANGE 1 => 123
CH#01 CONTROL_CHANGE 1 => 124
CH#01 CONTROL_CHANGE 1 => 125
CH#01 CONTROL_CHANGE 1 => 126
CH#01 CONTROL_CHANGE 1 => 127
CH#01 CONTROL_CHANGE 1 => 126
CH#01 CONTROL_CHANGE 1 => 125
CH#01 CONTROL_CHANGE 1 => 124
CH#01 CONTROL_CHANGE 1 => 123
CH#01 CONTROL_CHANGE 1 => 122
CH#01 CONTROL_CHANGE 1 => 121
CH#01 CONTROL_CHANGE 1 => 120
CH#01 CONTROL_CHANGE 1 => 119
CH#01 CONTROL_CHANGE 1 => 118
CH#01 CONTROL_CHANGE 1 => 117
CH#01 CONTROL_CHANGE 1 => 116
CH#01 CONTROL_CHANGE 1 => 115
CH#01 CONTROL_CHANGE 1 => 114
CH#01 CONTROL_CHANGE 1 => 113
CH#01 CONTROL_CHANGE 1 => 112
CH#01 CONTROL_CHANGE 1 => 111
CH#01 CONTROL_CHANGE 1 => 110
CH#01 CONTROL_CHANGE 1 => 109
CH#01 CONTROL_CHANGE 1 => 108
CH#01 CONTROL_CHANGE 1 => 107
CH#01 CONTROL_CHANGE 1 => 106
CH#01 CONTROL_CHANGE 1 => 105
CH#01 CONTROL_CHANGE 1 => 104
CH#01 CONTROL_CHANGE 1 => 103
CH#01 CONTROL_CHANGE 1 => 102
CH#01 CONTROL_CHANGE 1 => 101
CH#01 CONTROL_CHANGE 1 => 100
CH#01 CONTROL_CHANGE 1 => 99
CH#01 CONTROL_CHANGE 1 => 98
CH#01 CONTROL_CHANGE 1 => 97
CH#01 CONTROL_CHANGE 1 => 96
CH#01 CONTROL_CHANGE 1 => 95
CH#01 CONTROL_CHANGE 1 => 94
CH#01 CONTROL_CHANGE 1 => 93
CH#01 CONTROL_CHANGE 1 => 92
CH#01 CONTROL_CHANGE 1 => 91
CH#01 CONTROL_CHANGE 1 => 90
CH#01 CONTROL_CHANGE 1 => 89
CH#01 CONTROL_CHANGE 1 => 88
CH#01 CONTROL_CHANGE 1 => 87
CH#01 CONTROL_CHANGE 1 => 86
CH#01 CONTROL_CHANGE 1 => 85
CH#01 CONTROL_CHANGE 1 => 84
CH#01 CONTROL_CHANGE 1 => 83
CH#01 CONTROL_CHANGE 1 => 82
CH#01 CONTROL_CHANGE 1 => 81
CH#01 CONTROL_CHANGE 1 => 80
CH#01 CONTROL_CHANGE 1 => 79
CH#01 CONTROL_CHANGE 1 => 78
CH#01 CONTROL_CHANGE 1 => 77
CH#01 CONTROL_CHANGE 1 => 76
CH#01 CONTROL_CHANGE 1 => 75
CH#01 CONTROL_CHANGE 1 => 74
CH#01 CONTROL_CHANGE 1 => 73
CH#01 CONTROL_CHANGE 1 => 72
CH#01 CONTROL_CHANGE 1 => 71
CH#01 CONTROL_CHANGE 1 => 70
CH#01 CONTROL_CHANGE 1 => 69
CH#01 CONTROL_CHANGE 1 => 68
CH#01 CONTROL_CHANGE 1 => 67
CH#01 CONTROL_CHANGE 1 => 66
CH#01 CONTROL_CHANGE 1 => 65
CH#01 CONTROL_CHANGE 1 => 64
CH#01 CONTROL_CHANGE 1 => 63
CH#01 CONTROL_CHANGE 1 => 62
CH#01 CONTROL_CHANGE 1 => 61
CH#01 CONTROL_CHANGE 1 => 60
CH#01 CONTROL_CHANGE 1 => 59
CH#01 CONTROL_CHANGE 1 => 58
CH#01 CONTROL_CHANGE 1 => 57
CH#01 CONTROL_CHANGE 1 => 56
CH#01 CONTROL_CHANGE 1 => 55
CH#01 CONTROL_CHANGE 1 => 54
CH#01 CONTROL_CHANGE 1 => 53
CH#01 CONTROL_CHANGE 1 => 52
CH#01 CONTROL_CHANGE 1 => 51
CH#01 CONTROL_CHANGE 1 => 50
CH#01 CONTROL_CHANGE 1 => 49
CH#01 CONTROL_CHANGE 1 => 48
CH#01 CONTROL_CHANGE 1 => 47
CH#01 CONTROL_CHANGE 1 => 46
CH#01 CONTROL_CHANGE 1 => 45
CH#01 CONTROL_CHANGE 1 => 44
CH#01 CONTROL_CHANGE 1 => 43
CH#01 CONTROL_CHANGE 1 => 42
CH#01 CONTROL_CHANGE 1 => 41
CH#01 CONTROL_CHANGE 1 => 40
CH#01 CONTROL_CHANGE 1 => 39
CH#01 CONTROL_CHANGE 1 => 38
CH#01 CONTROL_CHANGE 1 => 37
CH#01 CONTROL_CHANGE 1 => 36
CH#01 CONTROL_CHANGE 1 => 35
CH#01 CONTROL_CHANGE 1 => 34
CH#01 CONTROL_CHANGE 1 => 33
CH#01 CONTROL_CHANGE 1 => 32
CH#01 CONTROL_CHANGE 1 => 31
CH#01 CONTROL_CHANGE 1 => 30
CH#01 CONTROL_CHANGE 1 => 29
CH#01 CONTROL_CHANGE 1 => 28
CH#01 CONTROL_CHANGE 1 => 27
CH#01 CONTROL_CHANGE 1 => 26
CH#01 CONTROL_CHANGE 1 => 25
CH#01 CONTROL_CHANGE 1 => 24
CH#01 CONTROL_CHANGE 1 => 23
CH#01 CONTROL_CHANGE 1 => 22
CH#01 CONTROL_CHANGE 1 => 21
CH#01 CONTROL_CHANGE 1 => 20
CH#01 CONTROL_CHANGE 1 => 19
CH#01 CONTROL_CHANGE 1 => 18
CH#01 CONTROL_CHANGE 1 => 17
CH#01 CONTROL_CHANGE 1 => 16
CH#01 CONTROL_CHANGE 1 => 15
CH#01 CONTROL_CHANGE 1 => 14
CH#01 CONTROL_CHANGE 1 => 13
CH#01 CONTROL_CHANGE 1 => 12
CH#01 CONTROL_CHANGE 1 => 11
CH#01 CONTROL_CHANGE 1 => 10
CH#01 CONTROL_CHANGE 1 => 9
CH#01 CONTROL_CHANGE 1 => 8
CH#01 CONTROL_CHANGE 1 => 7
CH#01 CONTROL_CHANGE 1 => 6
CH#01 CONTROL_CHANGE 1 => 5
CH#01 CONTROL_CHANGE 1 => 4
CH#01 CONTROL_CHANGE 1 => 3
CH#01 CONTROL_CHANGE 1 => 2
CH#01 CONTROL_CHANGE 1 => 1
CH#01 CONTROL_CHANGE 1 => 0
CH#01 CONTROL_CHANGE 1 => 1
CH#01 CONTROL_CHANGE 1 => 2
CH#01 CONTROL_CHANGE 1 => 3
CH#01 CONTROL_CHANGE 1 => 4
CH#01 CONTROL_CHANGE 1 => 5
CH#01 CONTROL_CHANGE 1 => 6
CH#01 CONTROL_CHANGE 1 => 7
CH#01 CONTROL_CHANGE 1 => 8
CH#01 CONTROL_CHANGE 1 => 9
CH#01 CONTROL_CHANGE 1 => 10
CH#01 CONTROL_CHANGE 1 => 11
CH#01 CONTROL_CHANGE 1 => 12
CH#01 CONTROL_CHANGE 1 => 13
CH#01 CONTROL_CHANGE 1 => 14
CH#01 CONTROL_CHANGE 1 => 15
CH#01 CONTROL_CHANGE 1 => 16
CH#01 CONTROL_CHANGE 1 => 17
CH#01 CONTROL_CHANGE 1 => 18
CH#01 CONTROL_CHANGE 1 => 19
CH#01 CONTROL_CHANGE 1 => 20
CH#01 CONTROL_CHANGE 1 => 21
CH#01 CONTROL_CHANGE 1 => 22
CH#01 CONTROL_CHANGE 1 => 23
CH#01 CONTROL_CHANGE 1 => 24
CH#01 CONTROL_CHANGE 1 => 25
CH#01 CONTROL_CHANGE 1 => 26
CH#01 CONTROL_CHANGE 1 => 27
CH#01 CONTROL_CHANGE 1 => 28
CH#01 CONTROL_CHANGE 1 => 29
CH#01 CONTROL_CHANGE 1 => 30
CH#01 CONTROL_CHANGE 1 => 31
CH#01 CONTROL_CHANGE 1 => 32
CH#01 CONTROL_CHANGE 1 => 33
CH#01 CONTROL_CHANGE 1 => 34
CH#01 CONTROL_CHANGE 1 => 35
CH#01 CONTROL_CHANGE 1 => 36
CH#01 CONTROL_CHANGE 1 => 37
CH#01 CONTROL_CHANGE 1 => 38
CH#01 CONTROL_CHANGE 1 => 39
CH#01 CONTROL_CHANGE 1 => 40
CH#01 CONTROL_CHANGE 1 => 41
CH#01 CONTROL_CHANGE 1 => 42
CH#01 CONTROL_CHANGE 1 => 43
CH#01 CONTROL_CHANGE 1 => 44
CH#01 CONTROL_CHANGE 1 => 45
CH#01 CONTROL_CHANGE 1 => 46
CH#01 CONTROL_CHANGE 1 => 47
CH#01 CONTROL_CHANGE 1 => 48
CH#01 CONTROL_CHANGE 1 => 49
CH#01 CONTROL_CHANGE 1 => 50
CH#01 CONTROL_CHANGE 1 => 51
CH#01 CONTROL_CHANGE 1 => 52
CH#01 CONTROL_CHANGE 1 => 53
CH#01 CONTROL_CHANGE 1 => 54
CH#01 CONTROL_CHANGE 1 => 55
CH#01 CONTROL_CHANGE 1 => 56
CH#01 CONTROL_CHANGE 1 => 57
CH#01 CONTROL_CHANGE 1 => 58
CH#01 CONTROL_CHANGE 1 => 59
CH#01 CONTROL_CHANGE 1 => 60
CH#01 CONTROL_CHANGE 1 => 61
CH#01 CONTROL_CHANGE 1 => 62
CH#01 CONTROL_CHANGE 1 => 63
CH#01 CONTROL_CHANGE 1 => 64
CH#01 CONTROL_CHANGE 1 => 65
CH#01 CONTROL_CHANGE 1 => 66
CH#01 CONTROL_CHANGE 1 => 67
CH#01 CONTROL_CHANGE 1 => 68
CH#01 CONTROL_CHANGE 1 => 69
CH#01 CONTROL_CHANGE 1 => 70
CH#01 CONTROL_CHANGE 1 => 71
CH#01 CONTROL_CHANGE 1 => 72
CH#01 CONTROL_CHANGE 1 => 73
CH#01 CONTROL_CHANGE 1 => 74
CH#01 CONTROL_CHANGE 1 => 75
CH#01 CONTROL_CHANGE 1 => 76
CH#01 CONTROL_CHANGE 1 => 77
CH#01 CONTROL_CHANGE 1 => 78
CH#01 CONTROL_CHANGE 1 => 79
CH#01 CONTROL_CHANGE 1 => 80
CH#01 CONTROL_CHANGE 1 => 81
CH#01 CONTROL_CHANGE 1 => 82
CH#01 CONTROL_CHANGE 1 => 83
CH#01 CONTROL_CHANGE 1 => 84
CH#01 CONTROL_CHANGE 1 => 85
CH#01 CONTROL_CHANGE 1 => 86
CH#01 CONTROL_CHANGE 1 => 87
CH#01 CONTROL_CHANGE 1 => 88
CH#01 CONTROL_CHANGE 1 => 89
CH#01 CONTROL_CHANGE 1 => 90
CH#01 CONTROL_CHANGE 1 => 91
CH#01 CONTROL_CHANGE 1 => 92
CH#01 CONTROL_CHANGE 1 => 93
CH#01 CONTROL_CHANGE 1 => 94
CH#01 CONTROL_CHANGE 1 => 95
CH#01 CONTROL_CHANGE 1 => 96
CH#01 CONTROL_CHANGE 1 => 97
CH#01 CONTROL_CHANGE 1 => 98
CH#01 CONTROL_CHANGE 1 => 99
CH#01 CONTROL_CHANGE 1 => 100
CH#01 CONTROL_CHANGE 1 => 101
CH#01 CONTROL_CHANGE 1 => 102
CH#01 CONTROL_CHANGE 1 => 103
CH#01 CONTROL_CHANGE 1 => 104
CH#01 CONTROL_CHANGE 1 => 105
CH#01 CONTROL_CHANGE 1 => 106
CH#01 CONTROL_CHANGE 1 => 107
CH#01 CONTROL_CHANGE 1 => 108
CH#01 CONTROL_CHANGE 1 => 109
CH#01 CONTROL_CHANGE 1 => 110
CH#01 CONTROL_CHANGE 1 => 111
CH#01 CONTROL_CHANGE 1 => 112
CH#01 CONTROL_CHANGE 1 => 113
CH#01 CONTROL_CHANGE 1 => 114
CH#01 CONTROL_CHANGE 1 => 115
CH#01 CONTROL_CHANGE 1 => 116
CH#01 CONTROL_CHANGE 1 => 117
CH#01 CONTROL_CHANGE 1 => 118
CH#01 CONTROL_CHANGE 1 => 119
CH#01 CONTROL_CHANGE 1 => 120
CH#01 CONTROL_CHANGE 1 => 121
CH#01 CONTROL_CHANGE 1 => 122
CH#01 CONTROL_CHANGE 1 => 123
CH#01 CONTROL_CHANGE 1 => 124
CH#01 CONTROL_CHANGE 1 => 125
CH#01 CONTROL_CHANGE 1 => 126
CH#01 CONTROL_CHANGE 1 => 127
It looks like the Autodetect Logic is interfering with the interpretation of the Midi CC data. Those jumps are audible, depending on controlled parameter.
What about checking for relative or normal only at learn and then store the result along with the learning? Or what about using knob turn as a modifier when learning, like push and turn left = normal, push and turn right = relative, just push do like before?
Edit: Much easier, first click Chain Learn, second Global Learn, third(new) Chain Learn Relative, fourth(new) Global Learn Relative: Yes, four clicks, but better than suddenly sqealing sound in a live performance.
Or some sort of matrix for each controller/Midi Input, one axis Channel, one axis CC and the fields show relative or absolute/normal, so one could always correct/override the stored behaviour?