Binding arbitrary MIDI messages

Can arbitrary MIDI messages be bound to route controls? If so, what specific format must be used in the binding?

I’m having no trouble binding them to transport functions, for instance, but they seem to be ignored by route controls. For example, this works as expected:

Binding msg=“a0 7 1” function=“transport-start”

I’m not sure whether a “msg” binding requires inclusion or exclusion of the value, but neither of these works:

Binding msg=“b0 1” uri="/route/mute B1"
Binding msg=“b0 1 127” uri="/route/mute B1"

However, this does:

Binding channel=“1” ctl=“1” uri="/route/mute B1"

Two different ways of saying the same thing, right?

I’m testing this with a simple PureData patch that sends CC#1 messages on channel 1, with values 127 and 0 for ON and OFF, respectively. The MIDI Tracer confirms that the messages are properly formatted, and as I said, it works just fine with the “ctl” binding.

I’ve tested this with gain controls as well, with similar results.

When I say, “this doesn’t work,” it means that nothing whatsoever happens, as though the binding does not exist.

Hi there,
I’m planning a complex control surface using BCF/R2000 controllers. At the end it should provide a similar functionality like Digidesign’s Pro Control for 24 channels. To do that (midi.map) and to program my Behringer devices properly I need a complete list of all midi controller numbers (including standard plugins) and which values (14bit for the faders?) they accept. Where can I find this? Which source file contains the tables? Can I sysex-reprogram them if necessary? Or where are the settings stored when I “teach” Ardour my controller elements from the BCF (via ctrl+middle mouse button) so I can reverse-engineer?
Who can help? Or is there a project ongoing in which I can participate?
Cheers,
MaX

madmaxmiller: There is some confusion here. Information about “a complete lis tof all MIDI controller numbers” is just standard MIDI spec stuff. There are no “standard plugins”. 14 bit is not possible at this time. There are no tables. MIDI “learn” and preset MIDI binding maps are completely different mechanisms. Have you bothered to read the manual section on control surfaces and MIDI binding maps?

You should talk to me on IRC (see http://ardour.org/support for details) if you want more info, but I am a busy programmer :slight_smile:

Check out the BCF2000 Templates Guide:

http://www.behringerdownload.de/BCR2000/B-CONTROL_Programming_ENG.pdf

If you really want to go through the reverse-engineering, then I’d suggest starting with something like this:

http://kmidimon.sourceforge.net/

Or using Ardour’s MIDI Tracer.

By the way, Ardour already includes a midi map for the BCF2000…

OOPS! Sorry, wrong link.

BCF/R2000 Templates Guide:

http://www.behringerdownload.de/BCF2000/BCF2000_templates.pdf

Back to the original question: Can arbitrary MIDI messages be bound to route controls, such as MUTE or SOLO? If so, what is the proper format for the raw equivalent of a CC message, for instance? With or without the value (3rd byte)?

@dennismtaylor: Sorry for OT-ing your thread, I actually meant to open a new one, which I now do.