Unfortunately the new bindings don’t show what regional setting is being used when entering those values like the old system which is leading to your confusion. I’ll see if I can get it to display that somewhere.
Also, the Language setting in Options only controls the actual language used for display - not regional settings like this. Regional settings are always what you have configured in Windows.
Don’t worry - I did try ; right away, it did not work due to my pedal turned out to be defect and sending slightly distorted messages. So I think it is ok as it is. Maybe a mouse-over message could be helpful for the next one with a faulty midi source
if I recall correctly, in the old system bindings toggling/cycling between values of a VST parameter were able to read the current state of that parameter and react accordingly. E.g. a binding that switched Leslie speed fast/slow would recognize that the leslie was slow and toggle it to fast and vice versa, without needing to hit the pedal twice depending on the current internal state of the binding vs. the plugin:
It seems the new implementation of the bindings has lost that capability - the shown binding doesn’t seem to react to the current state of the plugin (e.g. depending on plugin state loaded or switching leslie via modwheel), but rather simply toggles between its “internal” binding state 1 and 0.
It would be great if the “old” behavior could be brought into the new world…
I’m sure it was mentioned somewhere but I wanted to comment on the fact that in 41XX you can set up bi-directional bindings between Cantabile sliders in the routing and on the Controller bar with Control knobs in your VSTs. The old version only allowed binding to external MIDI ports with their associated controllers if I’m not mistaken and would reject trying to bidirectionally bind 2 software controllers. Not anymore, you can now bi-directionally bind almost anything with a slider or knob on it to another knob or slider .
This binding, which is supposed to turn a drone sound on and off by sending alternatively note on and off, now only sends note-on and no more note-off commands (note-on with vel 0). It should alternate the velocity between 127 and 0, but doesn’t:
Thanks for reporting. Looked into it and this is actually a different issue related to the fact the binding mapper can’t read back the current value from a MIDI target. The target was incorrectly returning a fallback value of 0, which caused the mapper to always pick 127 to send.
Anyway, fixed for next build which I’ll try to get out later today.
I assumed something like this - since the ability to read back current value from a binding target was just re-introduced in 4138, I assumed the binding was now trying to read back a value where none made sense…
I have noticed something strange in the “Learn binding” dialog.
Most of my plugins live within linked racks. With the previous binding system, when I wanted to make the plugin “learn” a new binding (e.g. using ALT+B in the plugin window), the incoming MIDI messages appeared, in the “Learn Binding” dialog, as coming from the “Rack: MIDI In” port (*). This make sense to me, because in this way the plugin reacts to messages arriving at the MIDI In of the Rack in which it is located (not to messages arriving from the Main Keyboard input).
With the new binding system, instead, all MIDI messages appear as coming from “MIDI Ports - Main Keyboard (in)” so that, after closing the dialog, I have to edit the binding and change the source object into “Rack” and the “point” into “MIDI in: MIDI in”. I would really like to have at least the choice between the “Main Keyboard” and the Racks MIDI in port as before.
I am presently on Cantabile 4139.
Gabriel
(*) To be sure, I checked with Cantabile 3, which I have still installed on my PC, that the behavior of the previous system was the one I described above. I can’t check with Cantabile 4 pre-4100, since I’d have to install it again and I don’t want to mess things to much.
To better clarify my point, I have made the following gifs. In the first one, I use C3. I create a new (blank) song and I add a new Linked Rack. The Main Keyboard has a route to the Rack MIDI in.
Then I add a plugin to the rack and I create a new binding using the “Create parameter binding” menu. As you can see, the Mod Wheel appears as coming from the Rack MIDI In.
Then I do the same in C4. Now the Mod Wheel appears as coming from the Main Keyboard input (though I have checked with the MIDI Monitor that the Rack MIDI In also receives the CC #1 message). I have to manually change the binding to use the Rack MIDI In as a source.
It is not clear to me if the difference can be due to some setting in Cantabile which could be different in my C3 setting with respect to C4 ones or something else. I hope someone (@brad?) can help out me on this.
I need to review the appearance of environment level ports in rack bindings, but that’s a separate issue. At least now you’ll be able to learn from the rack ports.
< BEGIN GORY Details >
I use expressions heavily to align Cantabile faders and level displays to RME interfaces and their TotalMix system. This lets me do direct monitoring through the RME and keep both RME and Cantabile displays in sync.
This involves a custom control curve with gnarly expressions to convert back and forth between Cantabile levels and RME levels. It looks like those are still working in v4153.
This scheme also involves more gnarly expressions in the Controller Bar Layout files to convert values for display. I hope those still work (looks like those expressions are are still present).
However, there are cases in binding where I use expressions (I think it’s for this RME control curve thing) and those expressions (shown above) seem to have been stripped in the v4153 rack files.
< END Gory Details >
This turned out to be my blunder. No SysExExpressions were lost.
I was reading the pre-4100 JSON file for the rack, which had remnants from previous selections in some of the bindings.
I am now up to speed on how to run a pre-4100 version of Cantabile alongside later versions, so I can diagnose any issues directly, rather than trying to read the JSON files.