jsui object reverts back to "blob" type
Hi there,
I recently started to experiment with M4L (which is part of my Ableton Live Suite). In addition to all the VST instruments, I have a real Roland JV-1010 that is controlled as an external instrument via a M4L device that I got from Matthew B on the gumroad website (Roland JV-1010 Controller (for Ableton M4L) 2.0).
This device allows to set all the JV-1010 settings via midi messages (which is great). However, the main control (the Category/Bank selector) does not allow automation / mapping knobs on my keyboard to that control.
Now, digging into the M4L code, this control was/is implemented as a jsui object, more specific, as a jsui 360 dial, with “parameter_mappable” grayed out. Reading through the various articles on js, jsui and parameter mapping, I found that this is because the “type” is set to “blob”, and blob does not allow mapping. So, I changed the type from "blob" to "float", changed the parameter visibility to "Automated and Stored", and made sure that all the js methods are implemented (setvalueof(v), getvalueof()).
Now comes the part that I cannot figure out... When I save these changes using Max's "File/Save", and then lock and freeze the device to test it, the mapping just works fine - I can map the 360 dial to my keyboard, perfectly working. But when I close the Max window, all the changes are lost, the mapping capability is gone. When reopening the Max window, I can see that the type reverted back to "blob"...
What am I doing wrong, or is there a reason that the jsui object is only allowed to be a blob type?
Best,
Uli