I’m sending CC 39 in the range 60-71 from a rotary (EC4) encoder to trigger a set of “Controller to Switch” (aka “Value to Switch”) bindings. I also fire one of those bindings directly during Song On Load.
The bindings work about 94.5% of the time. I am concerned that CC 39 might be a “special” CC for some reason …
Here’s one of those bindings:
I am wondering whether it is because I am using CC 39, which has some special meaning at some other point in the MIDI path to binding resolution??
They do not seem to work when I have just switched Cantabile songs from another song that has the same rack in which these bindings reside.
In this video:
First I am turning the encoder knob (off screen) for the first few seconds. Note that the bindings are not firing.
Then I issue an On Load (actually a simulation of On-Load, fired from my [F5] key). You can see a string of initialization CCs in the MIDI monitor.
Lastly, I turn the encoder knob again, and this time the bindings do fire. Maybe the intervening initialization CCs have cleared some MIDI “state” having to do with CC 39 that lets them operate?? Or maybe this is some transient C4 issue??
The same scenarios happens with initialization Song On Load bindings as with the rotary encoder - they do not work if I am changing from a song that has the Rack loaded.
In general, are there some MIDI CC numbers that I should avoid???
(I’ve generally assumed that all CC’s can be used, and I’ve used about 120 of them in the MIDI Channel that I use for control …)
Hit this issue repeatedly during a rehearsal yesterday. Discouraging. I could never be sure if my song was initialized correctly and the expected routes were enabled. Often resulted in “No Sound” …
Came home and I’ve spent hours attempting to subset the problem in a separate Cantabile Configuration for study and diagnosis. But every time I simplified anything (like removing plugins from a song file, or taking irrelevant bindings out of the Background Rack, or altering bindings in a linked rack), the issue vanished.
It does not seem to me that the issue is related to the particular CC I’m using (#39), so I’ve change the title of this thread from ‘Are some MIDI controllers “Special”?’ to “Bindings Not Firing, Round 2”.
I believe this is related to the Bindings Not Firing issue from a year ago. However, that’s just a hunch - I have no direct evidence.
The issues seems highly dependent on what is in memory - removing even one plugin can cause the issue to vanish. Changing which song was previously loaded can cause the issue to come and go.
I’ve addressed the issue previously by switching from bindings that send CCs to a linked rack to bindings that fire global triggers. That sledge hammer solution doesn’t work in my current scenario, since I need to send a a value along with the message output by the binding …
The video …
… does show the issue happening from an (off screen) rotary encoder, but it also happens if I fire the binding from the enclosing song file by explicitly triggering the binding by clicking on the “fire binding” widget.
I suspect the issue may be related to timing and the delays I have installed on various bindings to get things to work. I don’t fully understand (read: “I barely understand the basics of …”) Cantabile’s timing controls on bindings.
What part of the timing & delays do you not understand Clint? Maybe we can help out …
Thanks for the assistance @dave_dore !
I’ve reviewed all the info I could locate on binding delays (Bindings - Cantabile - Software for Performing Musicians plus a few posts on this forum). One culprit I suspected:
The "Pause song and state load operations until complete" option
specifies what happens if certain major operations occur
(such as song or state switch, engine shutdown etc...)
while the binding is in the pre-delay period:
* When disabled, the binding will be canceled and wont fire.
However, that was a red herring: I wrote a script to check every song file and linked rack I have for bindings with Pause song and state load operations until complete unchecked (I looked for blockingDelay set to false). No dice … that option was true in ALL song and linked rack files.
My video does not show it, but even when I clicked on the right-facing triangle widget on the row with the affected binding, the binding firing green widget did not light up and the binding action was not executed.
Today (after a reboot and some song file changes), I cannot recreate the issue … but I hear it whispering …
“I’ll be Baaaahhhckkk”