MIDI learning toggle (on/off) parameters doesn't work

Using the midi CC learning function of Zynthian, I set a lv2 parameter to be controlled by an external device. The lv2 parameter shows the correct midi channel and CC number of the external device on the zynthian screen.

But the lv2 parameter could only be controlled by the external device if CC number is <= 64.
If I choose a CC number higher than 64, the parameter could not be controlled by the external device.

Is this a bug or by purpose?

I’m on a just updated vangelis system, sending single CC’s to zynthian via CLI from a connected linux terminal.

Is this enough information? Branches are:
zyncoder: vangelis (66fa477)
zynthian-ui: vangelis (1a44522)
zynthian-sys: vangelis (210c2db)
zynthian-data: vangelis (305b301)
zynthian-webconf: vangelis (e240038)

Regards

I made a screenshot video from what I observed and copied it together with the midi log from zynthian.
Regards
CCexternal-bug.zip (1.1 MB)

IMHO this is a clear enough bug that it would make sense to report it via the big button at the bottom of webconf main screen. If @jofemodo or @riban don’t fix it first!

1 Like

Bug report sent!

Regards

1 Like

Sorry, I can’t reproduce!
Did you miss some detail about your setup or config?

Regards

The report is for CC numbers below 64. @jofemodo tested with CC 71. I confirm that CC 11 does not work.

1 Like

The report specifies >=64.

Anyway, it works for me for any CC number from 1 to 120. I can’t reproduce.
Is the controller using some relative mode?

Regards,

@jofemodo, no it doesn’t use relative mode, as in the video you can see switching from 0 to 127 and back. And I can reproduce it. IIRC there was a difference between continuously changing the CC value or changing it by a big step like I did (0->127).
Can you give me a hint where in the software this mapping is made (from external device to lv2 param)?
Is it possible that there is some automation behind the mapping process (for example recognising relative mode or anything similar), that refuses to use a jump from 0 to 127?
I would really like to help finding the error, only thing I can tell is, that before switching from stable to vangelis it was working correctly.
Regards

Regarding your video, I used the second learning mode, to be independent from the midi channel (with the yellow ?? #?? question marks while learning), when I am out of the actual chain.
Regards

And another thing: the error occurs if I use a toggle button on the external device, toggling between 0 and 127, hence to switch on and of a lv2 parameter.
Continuous changing of CC values seems to work, then the to be toggled parameter changes state if the sent CC value >=64 (as expected). But toggling CC106 on (127) and off (0) does not work.
Regards

Strange. Tested here with different controllers, everything works as expected, be it absolute, relative, toggle, MPE, normal frame speeds or high speed USB.
Zynthian Software is:

zyncoder: [vangelis (36691b3) 
zynthian-ui: [vangelis (088958c)
zynthian-sys: [vangelis (050c76d)
zynthian-data: [vangelis (305b301)
zynthian-webconf: [vangelis (d811ea6)

Wich is the newest Vangelis at time of writing.
Could it be the absolute/relative-autodetect interfering here? If so, it may be really a good idea to give an option to define the format at time of learning or some setting matrix in the Midi menus.

If the issue is just with CC toggle buttons, i would bet it’s an issue with the relative mode autodetection algorithm.

Please, after learning push the button several times until it starts to work. Probably it will do at some point (10-12 pushes or so).

Regards

1 Like

I just pushed a patch that should fix the issue when learning a toggle parameter (on/off) with a CC push button.

Apart from this, i would like to highlight there is a “MIDI learning” menu when bold-pushing the zynthian controller (knob). This menu have some interesting options that you should be aware of.

This is for a toggle controller (on/off):

and this for a continuous one:

Regards,

5 Likes

It’s working now, just tested it. Thanks @jofemodo .

I saw your code adjustment. It has been a problem with the automagic midi learning function in zynthian.
This means, that if the lv2 is not a toggle param, but I want to switch to full amount (=127) with the CC value changing from 0 → 127, I have to be aware during learning, because I am triggering the relative mode during midi learning.
My question then is - and this should be written in the user manual - when exactly does this algorithm recognize a CC value as relative CC message during learning?
Regards

Thank you for fixing this! I thought there was something wrong with my midi pedal. Working for me now as well.