Midi Binding Map and Control In Weirdness

Hi Folks,

I’ve been messing around with creating my own midi binding maps to do cool things to plugins with the midi out of an Ardour midi track. The basic premise: play a track in Ardour containing control messages, send them to ‘midi control in’ in Ardour. Create a bindings map that tells Ardour what to do with these messages.

The only way that I have made this work is to route the messages through ‘midi through’ created with a2jmidid. After monitoring the messages before and after with kmidimon the only thing that changes is the port. So, my questions are: is there a limit to the port id that ‘midi control in’ accepts? Why does Ardour like the data coming from ‘midi through’, but not from it’s own track, even though these contain the same messages?

I’ve got a setup that will do what I like, but it seems convoluted, and more than anything points out a lack of understanding on my part. Any clarification would help me to worry about other things :slight_smile: I’m happy to elaborate if anyone finds this interesting enough to talk about it.

There is no reason to route via ALSA. You should be able to connect the output of the MIDI track directly to the control in port. There’s no reason to leave the world of JACK MIDI and then come back into it.

What are you trying to tell Ardour to do with these messages?

Thanks for the response. I agree that it’s silly to leave jack only to come back! The playback of the control messages has eratic behavior for me. I have now had success directly connecting the output to the ‘control in’ port. It seems to work roughly half of the time. I’ll play with it some more and see if I can determine what is actually determining success.

I’d like to have a track that I can use to write all of my automation data, filter sweeps. fade ins, etc.

Also, thanks the great product!

You do realize that ardour already has automation? That you can automate all those things without using MIDI ?

Oh yes! I’m writing a poor man’s version of a blue cat plugin. I’m interested in one track’s output generating automation data automatically. Do you know of a better way to do this? It’s been fun and informative writing my own stuff, hoping learn much more with time.

Right now I just have a first approximation, so it’s not realtime yet. For the music I’m making I don’t really need it realtime at the moment, but eventually I’d like to be able to develope within LADSPA or the like. It’s also been an excuse to learn Python.

I’m not sure if this is what you’re after, but I’ve made an envelope follower LV2 plugin that outputs a midi CC proportional to the input volume. You are welcome to look at the source as a reference or of course just use the plugin as it is. See http://infamousplugins.sourceforge.net/plugs.html#envfollower (and note that the GUI pictured isn’t released yet).

Great, thanks for this. I’ll take a look.