Batch editing bindings

As I’m trying new things with DMX, I’m wondering if it will be possible to edit bindings in a certain way.

In a global repertory for my DMX midi control, I would like to move all a group of bindings earlier from few milliseconds to balance latency due to wireless HF DMX.
It would be great to have that “mathematic” option to change a group of bindings.

Is it possible to create and bring that command ? Is it just impossible ?
Let me know before I change thousands of values:):slight_smile:

Thanx a lot:)

There’s not currently anything like this either in Cantabile now, nor planned - simply because I never considered it and it’s never been asked for.

My suggestion would be to consider writing a script to do it… Cantabile files are plain text json files and pretty easy to modify with standard JSON manipulation libraries.

1 Like

@daveurope - If you download Notepad ++ and open the Cantabile file that contains the bindings and from the Notepad ++ file menu choose Language -> J -> JSON you can easily see the bindings. This would make it easier for you to explain to someone who codes what you want to have done to the transport values.


Thank you for the answer. Never try to code… don’t think it’s easy:):slight_smile:

1 Like

Just remember to back up the file before tinkering so you can make a mess of it and recover it. You can then explore and learn :slight_smile:


Notepad++ is cool and I used to use it a lot, but my fave text editor these days is VS Code - amazing extensibility for everything from simple plain text/JSON/markdown files to full development environment.

1 Like

I’m open to improving batch editing bindings, but curious what this would look like to you? What commands/actions would you like to see added?

Hello Brad,

Useful commands would be to have interactions with several bindings at once.

The question is how… For me,

1)When you select a repertory you can apply the same parameter to all the bindings in here wirh a editor.

2)or when you mark or select specific bindings, you can open an editor.

For me, I need to back all my dmx bindings a little to match the correct timing for my lights.
In fact, I can see a little Latency and I need to edit a lot of bindings. One song is 200 bidings… Si it’s hard each time I want to modify.

Other functionnalities ? 3 ideas this morning😁

  • a quantize function activation helping in placing bindings. So many time we need to write the correct number manually and adjust.

-a global change for a repertory. Example, I need to change the type of action for the ‘transport’ for all the repertory…

-and a order function in the repertory, by time position.

I need to go but will appreciate discuss it more.
See you

1 Like

Thanks for VS Code recommendation - bonus would be if it doesn’t constantly notify me about plugin updates :grinning:

+1 for some sort of way to edit fields in multiple bindings/routes at once. IE changing the target of several bindings to the same all at once.



By “repertory” do you mean song?

The biggest issue with editing multiple bindings at the same time is that different bindings have different properties. eg: if you select a MIDI CC -> Gain binding and a MIDI Button -> Load Next Song binding, they each have very different settings.

In the new binding system, the properties for each binding are much more clearly defined internally so there’s definitely a possibility for building a UI that only shows the properties common to all selected bindings. Not something I’m planning right now, but a possibility.

Also, I’m not sure what the UI for adjusting a setting like delay times would look like. eg: the UI to set all bindings to have the same delay time makes sense, but what if you want to shift all delay times by N milliseconds?

I’ve looked into providing sorting of bindings before, but…

  1. What exactly is the time position? Is the it delay setting, or is it the position/range of a transport trigger?
  2. The order of bindings is important. By re-ordering bindings like this you can affect the behaviour. That would be a subtle, non-obvious way to possibly break an existing working setup.


There’s “do not disturb mode” (see here).


From here:

1 Like

-Repertory is simply folder where all bindings in here have the same properties :grin: so all bindings could be moved in one time.

Sorry… English/french bad translation.

-Yes, reordering is about having the binding ordered by time position.

I think it’s important to have a clear chronologic view to make a good job.

Thank you

Nb : in other term, when I put several dmx bindings (transport position) , I put them manually at simple fractionnable positions like 3 0.000, 5 2.000, 7 3.500, 21 4.750…

And I would love to shit them all from 185 ms to be in perfect time… By a function ’ shit back from N ms.’ that would be exactly what I need.

Right now, I need to calculate a lot.

But I understand it’s sort of complex thing. Thank you for trying to understand my questions😊

The beauty of an international forum in all its glory. :laughing:
Just a suggestion here, maybe I’m missing the objective, but is it not possible to run these bindings via a MIDI file? And if that is the case, isn’t it pretty easy to edit that file?


Yes, editing a midi file is maybe a solution.
But all the work is done within Cantabile… And I never tried dmx control with a daw… Easy or not ?..

I have zero expertise in this DMX field, and I’m sure there are folks here who are using lighting rigs controlled by Cantabile who can advise, but it sounds like you already have the appropriate interface between MIDI and DMX.
Assuming that’s true, you can sync your DAW to Cantabile with loopMIDI and audition your cues in realtime. When it’s right, just export a MIDI file and load into a Cantabile Media player. I’m guessing, but I can’t think of a reason that would not work well. You could easily compensate for any latency by advancing all events in the DAW as there could be some slight difference in timing between DAW/loopMIDI and a MIDI file played back directly in Cantabile.
I hope I’m not sending you off on a wild goose chase. :crazy_face:
Just remembered you already have your work in Cantabile.
You can just record the MIDI from Cantabile back into your DAW. You’ll need to get your MIDI sync correct and watch out for feedback loops.

Record the BINDING list as a midi file, that’s the idea. Is it possible ?

Just so I’m clear, your bindings are issuing MIDI data?
And that data is triggered by locations on the timeline?
If that is the case, route that MIDI into a DAW and record it, making sure you’re sync’d, of course.

Ade is onto a good idea I think. But you can record the MIDI output port that goes to the lights in Cantabile directly without the need for a DAW with the proper setup.

1 Like

Just thinking in terms of sync, @dave_dore
I just have a feeling there’s a gotcha there somewhere if you don’t pay attention to that journey to the DAW and back.