Trying to get midi bindings from network api

Tags: #<Tag:0x00007f97779ddda0>

Hi all,

Been lurking for a couple of years.

Has anyone been playing with the network api?
I’m trying to make a page that will show the levels of all the current bindings as I find the differing plugin UIs messy and unclear.
I’ve had a look at the output of api/bindings/availableBindingPoints but it shows mostly just system bindings.

Is this a thing that cantabile supports or could support? Maybe Brad knows?
I’d probably want to query the bindings of a song or rack when a song/rack change event comes through.

Thanks in advance!


The network api does support bindings… but not as you describe it. ie: you can’t access the bindings you’ve created in songs, but you can access all the binding points (ie: the things you can bind between).

ie: you can programatically invoke and listen to the same things as are available to bindings in the UI.

If you’re looking to reflect the things being controlled by your bindings, you probably need to listen to the targets of those bindings, rather than the bindings themselves.

Also, note that the netapi only provides access to the same set of bindings available in the background rack (which is a reduced set over what’s available in a song or rack accessing it’s own objects). This means you can’t access a particular song/rack/plugin/object directly. Instead you’ll need to use the “By Index” bindings to get rack #1, plugin #2 for example.

Not sure how well I’ve explained all that… let me know if you have questions.


Thanks for getting back to me Brad.

I think I’m following you. That makes sense about listening to the binding target as I suppose the binding could be mapping the value.

So I could pass the right indices to the bindings watch method?
I’ll try that and see where I get to.


1 Like

Looking back at the availableBindingPoints, what you said makes sense now.
Something like:‘global.indexedPlugin.gain’, [0, 0])
Are the indices 0-based?

Would there be a way to watch a parameter of a plugin?


Hi @mmichaelc,

Yep, indicies should all be zero based in the net api.

Unfortunately, through the indexedPlugin bindings parameters are not available.


Ah ok, I thought that was the case.

I think I could bind the plugin parameters back to the rack midi out and watch that. I’ll try it out later.