New Bindings System Available Now (build 4100)

Addendum: now with my songs loading, I’m getting crashes on manually triggering bindings (via the “play” icon). With these crashes, Cantabile does get to the crash report stage, so crash data should be with @brad

Thanks Torsten… I’ll check these out first thing Monday morning.

3 posts were split to a new topic: Hanging Notes in 4104

C4104 was loaded today on my practice laptop. My system has an Art X-11 foot pedal that sends program changes to Cantabile which then sends MIDI to an X32 mixer and a Kemper Profiler. As set of bass pedals are also connected to Cantabile to run some VSTs or be midi-filtered to send more MIDI to the X32 or Kemper. Some My comment are below.

  1. Backed up operating system and MyDocs (where all the C4 files are stored)

  2. Had to update license on this Laptop (it was running 4062 with a license?)

  3. Installed C4104 with no problem after License updated

  4. All VST2 seem to show in VST list (no JBridge or VST3 are used)

  5. WebServer for floor video monitor working

  6. First issue was background rack not sending program change signals to Kemper. Had to change Background rack from “load by program” to “load by index”. Swapping back to “program” stops all patch changes. Looking at the saved Background Rack from C4062 in Notepad, “targetBindingPointName”: “loadSongByProgramInstant”, so I can’t comment on why Index had to be used with C4104. But it appears to be working.

  7. Transport will not play from rack binding. When any note is received from Bass Pedals, the transport is supposed to start. I deleted and reentered the binding, but still no go. Complementary binding for note off is to stop transport does not work, either.

  8. Expression pedals are “flaky.” The smooth 1-127 CC14/15 are visible going into a footpedal rack, but only 127, 104, and 0 exit the rack. The way it used to work is CC14 (pedal 1) was input 0-127 and CC15 (pedal 2) was input 0-127. The CC14/15 are bound to the rack output gain (with jump prevention) then the output gain is bound to CC11 to send to the Kemper (CC11 on Kemper is Morph CC). Foot pedal behaves as such:

CC14/CC15 outputs 104-127 >>>>> C11 is 127 (multiple CC11=127 when moving)
When CC14/15 gets to 104 >>>>> C11 is 104 (single CC11 104)
CC14/15 moves to 0 >>>>> C11 finally single 0 at bottom of pedal stroke.

“Foot Pedal Rack” converts CC14/15 inputs to CC11 and outputs CC11 to Kemper.

Input from EXP1 (CC14) mapped to Rack Gain. Range is 6-121 because sometimes foot pedals don’t always make it to end stroke.

Input from EXP2 (CC15) mapped to Rack Gain.

Bass Pedals can input C11 for note on/off scenario with midi filters. Map to Rack Gain.

Convert Rack Gain to CC11 and output to Kemper.

The rack worked great in C4062 and it looks like it should work now. C4062 has a max Rack Gain of 14dB and C4104 has a max of 30dB (maybe related?)

1 Like

Hi Torsten,

Can you send song or rack that I can reproduce this with. I’ve been looking into it and it seems to be related to load state bindings, but I can’t reproduce it and I want to understand it properly instead of just patching it.

Brad

That’s odd, nothing in that area has changed since the previous build. Do you happen to have a backup of you settings folder from before upgrading? What build were you running before?

Again, nothing has changed with MIDI routing so surprised to hear this. How are you switching state - via GUI, via binding, via binding in background rack, something else?

Brad

Checked your license and this makes sense. 4062 was released in Feb, your subscription renewed in April, 4100 released in June. ie: your subscription elapsed between the two builds, but because 4062 was happy to run on old license it didn’t renew itself.

The other issues you’ve reported I’ll work through today. There’s definitely some issues with range mapping between some binding points. In case I need it, can you send me a copy of your foot pedal rack.

Brad

Yes, the licensing sequence makes sense. I just wasn’t expecting that. Other information is on the way. That C4104 update was for 45 song conversions and there were only two problems. Pretty good batting average. Thanks for looking.

You have mail :wink:

1 Like

Still working through these range mapping bugs so no build today, but I have added this…

When mapping a switch or value condition to a command you can now choose exactly when the target should be invoked:

  • If True - any incoming value that matches the condition invokes the command
  • If False - any incoming value that doesn’t match the condition invokes the command
  • On True Edge - when the value transitions from False to True
  • On False Edge - when the value transitions from True to False
  • On Either Edge - when the value transitions in either direction
  • Repeat While True - auto-repeat invoke the command while the condition is true
  • Repeat While False - auto-repeat invoke the command while the condition is false

This combines the old “Inverted” and “Auto-Repeat” settings along with a few more possibilities and should provide a fix @easteelreath issue of try to map any note press to a command (transport play).

2 Likes

Thanks… I’ll check it out. (might be a few days as I’ve got a bit of backlog of things to look into).

Hi @Organist

I’ve been looking into this issue with unknown plugins and believe it’s related to this item from build 4063:

I’ve been able to reproduce the exact thing in the insert plugin window however only when reverting to build 4062 after running 4063 or 41xx - and that’s expected because the plugin database format changed in 4063 in a way that 4062 doesn’t understand.

Can you confirm you’re getting this in 4104 after upgrading from 4062? Seems the problem should only happen when downgrading from 4104 to 4062.

Brad

Thanks for confirming… yes, that’s expected behaviour. When downgrading to pre-4063 you need to run a full plugin scan again to restore the plugin database.

To clarify the difference between these binding points:

  • Load by Program - loads a program from the set list with program number matching the entered value for the song in the set list. eg: a Load by Program with program 23 will load that song from the set list no matter where it is in the order.
  • Load by Index - loads a song by its position in the set list. eg Load By Index with index of 2 will load the second song in the set list, regardless of its program number.

Load by Program is better when you want to load a specific song. Load by Index is for when you want to cycle through your set list, or otherwise use the order of the songs in the set list. If switching to Load by Index fixed your issue then you must have all your set list songs ordered sequentially and starting at program 1.

As for the bindings there was a couple of issues here with the upgrade where this type of binding was upgraded to a value range mapping. ie: trying map the program number range to the full set of available program numbers. Basically it was broken and needs a different type of mapping - a direct mapping.

I’ve addressed this by making the mapping mode selection smarter such than when mapping to a index, program number or banked program number target, it will choose direct mapping mode. This mirrors functionality of the old bindings system, but more explicitly.

Also, there’s now a concept of “Automatic” mapper where Cantabile chooses what it thinks is the most appropriate or likely mapping mode. Or, you can explicitly choose the mapper you want:

eg: because this target is expecting a program number, it’s doesn’t (usually) make sense to do range mapping so the preferred automatic mode is “direct”:

eg 2: compare to if you mapped a program change to a gain setting. In that case you almost certainly want a range mapping:

This was an oversight where the new mapper always wanted to check for a value condition when mapping a value to a command. I’ve addressed this by adding a new value condition “Always” and an invoke mode “If True” (which is hidden when Always is selected since it’s the only thing that makes sense).

So, that binding should now upgrade to this:

These improvements will be in the next build, but still looking at other issues… stay tuned.

1 Like

Hi @easteelreath,

Regarding your foot pedal rack, as you suspected this is related to the incorrect mapping of binding range to “+30dB”. Old builds were upgrading your rack to this:

but should have been upgraded to this:

The special value “(Max)” means the max value supported by the MIDI control curve (which is about 7.3 for the default curve). Basically your mapping to the gain setting was getting clipped back to that 7.3 which reduced your output range to 0-54ish.

However… the fix for the Max/30dB bug was fixed in 4104 so it should work in 4104 if you upgrade from pre4100 file (as opposed to opening in 4104 from an earlier 41xx build). Did you originally upgrade this file in 4100-4103?

Testing here in the next build, upgrading your original rack seems to work fine. Using the already converted rack doesn’t (but can be fixed by changing all those 30dbs to max)

1 Like

I’ll check when I get home. Drive was “Reflected” back to C4062 yesterday, so t=0 is ready for comparison. Excuse my brevity as I’ve only got a phone. On a side note, I was as Duran Duran in Nashville last night. This Cantabile crowd seems more like a Rick Wakeman bunch, but I always liked Nick Rhodes.

3 Likes

Well, good musical taste (for lack of a better word, atm) is good musical taste, whatever the number of notes-per-second. :wink: And Rhodes has good musical taste (as a matter of fact I have Rio on my playlist right now, together with IQ and a lot of other prog stuff).

Going back in topic, unfortunately this time of the year I am so busy at work that I don’t have any time left for playing…so i didn’t have a chance to try the new 4100 series. On the up side, I will benefit from the debug of the other members of the community (not that I am doing that on purpose…). :innocent:

Gabriel

3 Likes

@brad,

I upgraded from C4062 directly to C4104.

When the program changes were not working, I had already sorted the set list and reassigned program numbers within the set list in C4062, so either Program or Index song load bindings would work the same way. In C4104, the midi program change did nothing in Program binding mode. No songs were loaded. I understand about program vs. index, but when the set list is sorted and “Re-assigned Program numbers” starting at 1, program OR index selection should be the same.

When I see C4105. I’ll try again with the Transport binding and the Foot Pedal Rack.

Eric

Hey @Torsten,

Thanks for sending the files… checked it out this morning, found the issue, will be fixed in next build.

fwiw: the case where this happened was the second time a MIDI source binding is manually invoked. When invoked from the actual MIDI source there was no issue. The exception was an internal sanity check to ensure an async completion callback was invoked - which it wasn’t from the test button. ie: this was deliberately inserted exception designed to catch an otherwise silent bug - which it did :slight_smile:

Fix will be in 4105, coming soon hopefully.

Brad

4105 is up now: (see first post in this topic for release notes)

cc: @dave_dore, @Torsten, @easteelreath,

1 Like