Hi Guys - a quick update here. I have managed to finish implementing all of the functionality for all types of actuators and it almost works. Handshaking and assigning simple toggle actuators works fine. Also, assigning continuous actuators to a potentiometer-type control also works fine. I have coded up an oscillating signal on my extension pedal and can assign it to a control and see it oscillate in realtime in the GUI. Very cool!
However, I am having troubles when I assign a list of items (CC_MODE_OPTIONS). It generally seems unreliable. Sometimes it works, sometimes it doesn’t. I have enabled debug messages in the control chain daemon and it seems like I get an assignment timeout when it doesn’t work. However, the message got through to my extension pedal just fine, and I sent back an acknowledgement. Then I start sending update messages, but the UI gives me an error that the assignment failed and at this point the state between the two devices is messed up and I am generally screwed until I reset both devices.
I don’t know why the other types of assignments are so reliable but the options lists are not. From what I can see, it looks like it is only an issue with longer lists of options (for instance the cabinet model or preamp type of the Guitarix AmpX Stereo plugin). I think what is likely happening is that the time taken to receive and decode this larger message is chewing up most of the assignment timeout, and ultimately it fails.
Is it possible for you to test assigning a very long list of options to a pushbutton on the moddevices footswitch or the expression pedal to see if it is a real issue? Perhaps this timeout could be made longer?