New Bindings System Available Now (build 4100)

4108 is up now - just a small fix for some excessive debug logging.

Currently known issues still to be addressed:

  • Value to Value mapping between MIDI and gain settings don’t work correctly if non-standard MIDI Control Curve selected (ie: not “Cantabile (New)”).
  • Some issues with Options dialog sizing (old bug, never noticed before).
4 Likes

I’m seeing a problem with “On Load” bindings not executing with C4107/8. Song binding below should send a Program Change with a value of 1 to output defined midi port (Kemper).

When song loads, no program change is sent. But, the binding can be run from the rack and the program change is sent. I upgraded from C4107 to C4108 and problem persists. I’m positive this was working in the C4104 build because my entire system would not have worked. Note that Cantabile is receiving the program change and changing songs, but the “On Load” binding above is not executing. Update: Reverted to C4104 and program changes are sent out with each song load.

Thanks for reporting, fixed in 4109.

Build 4109 is now up and fixes the three issues mentioned above.

I ran through my set list and all my previous problems are fixed with C4109. I’ll keep playing with it this weekend.

Went through the songs again in more detail and still no problems. Seems like the midi program changes sent to Kemper have more of a delay, but maybe I’m just listening for problems. I may “Reflect” back to C4062 to see how it behaves then upgrade to C4109 for kicks.

1 Like

I have no rehearsals at the moment, and am chin-deep in an album project, so I just wanted to say a huge:

“THANK YOU”

…to those of you who are testing the new versions and helping to improve Cantabile for everyone.

4 Likes

“Reflected” back to C4062 then upgraded directly to C4109 with no issue. All the patches still work. My comment about a longer delay from Cantabile Song Load with and On Song Load sending a program change is the same for both C4062 and C4109 (Same delay).

On song load, Cantabile changes songs immediately, but sending the program changes (song load binding) to the external midi gear has a 2.0 second delay (stopwatch). All the songs in the set are preloaded, so I’m wondering why the delay on On Song Load binding(s)? If a program change is sent from within the song, say from a foot pedal activation, the external midi program changes are immediate. 'Twould be nice to be able to execute the midi program change send (or anything leaving Cantabile) on song load immediately.

Hi @easteelreath

Thanks for testing this… getting there slowly.

Regarding the slow program changes, off hand nothing comes to mind that might cause this. Could I get you to create a debug log for me:

  1. Start Cantabile
  2. Go to Tools -> Options -> Diagnostics
  3. Turn on Write Log File (probably already on) and Log Bindings
  4. Close Options and reproduce the problem a couple of times
  5. From the Tools menu, choose Open Settings Folder.
  6. Close Cantabile (important)

From the folder opened in step 5, send me the files log.txt and settings.json. Also perhaps a couple of the song or rack and a note on which song load and program changes are problematic.

I’ll see if I can trace through the log and figure out where the delay is.

Brad

Incredible job, thank you very much @brad!

Build 4110 fixes a couple of rack binding points that we’re upgrading correctly (thanks @dave_dore for reporting).

3 Likes

Build 4111 available now:

  • Fixed plugin.suspend binding point not upgrading
  • Fixed bindings shown as missing when containing rack is unloaded
  • Fixed jump prevention incorrect set on some upgraded bindings
  • A number of improvements to audio engine event dispatching and route manager integration.

That last point might affect stability in the short term, but long term should improve stability and performance of the Route Manager (the internal thing that runs anytime routing changes such as enabling a route, switching a route, loading a song, switching states etc…) It’s a crucial piece of code that I’ve been reluctant to change, but now’s the time…

5 Likes

OK, I think I caught another one: in my Background Rack, I have a couple of “routing racks” with their own bindings. In one of these, I have bindings that listen to CC commands (no edge, because these buttons only send CC x - 127 when pressed) and output first a note on and then a note off:

Loading the same Background Rack with 4111, I get this:

Looks like the translation loses the target velocity value, so no note-on commands are sent:

Need to fix that translation so it correctly adopts the “value” field from the original binding. Not sure if that only applies to bindings within racks within racks?

Cheers,

Torsten

Hi Torsten,

I just tried a similar setup here and it seemed to upgrade just fine. Did you upgrade this file from pre4100 using 4111 or with an earlier 41xx build? There was an issue with this in an earlier build. Please try reverting all your files to pre4100 and then running 4111 and hopefully it will sort it out.

Failing that, can you send me a copy of the pre4100 rack file and I’ll check it out.

Brad

Build 4112 up now, fixes some bugs:

4 Likes

I’ve checked both file change date (April) and my Git version control - no changes to this file, so it doesn’t seem to have been upgraded and saved with any 41xx version.

Loading it in 4111 and 4112 produces the shown results; it loads perfectly on my live cubes with build 4063

You have mail with the rack file :wink:

Cheers,

Torsten

Build 4113 up now, fixes some bugs…

4 Likes

Just upgraded from C4062 to C4113 and no issues with set list. Existing background rack, song bindings, linked racks, etc. function as expected.

Midi Program change to Kemper was 2 seconds in C4109. Now getting 0.8 seconds in C4113. That’s still a noticeable delay, but much improved.

1 Like

Build 4114 up now, fixes a hang.

2 Likes

I waited until it was a teenager to install it.
First impression: wow, Brad.

1 Like

When will this “teenager” be considered stable? I’m still running C4062 for practice until C41XX is ready for prime time.