On Sat, Aug 16, 2014 at 4:13 PM, Len Ovens <len@ovenwerks.net> wrote:
On Sat, 16 Aug 2014, Paul Davis wrote:

The JACK MIDI API delivers and acccepts normalized MIDI data ONLY.

No running status. No "clever" merging or filtering. Bytes in... bytes out.

That makes perfect sense. That way the application designer can expect all MIDI events to be the same way. How about MIDI in from physical MIDI ports that has running status? Are those then converted to normalized events?

the bridge client/code that interacts with the physical port is expected to normalize incoming messages that use running status. not doing so violates the API contract.
 

That does then ask the question if Ardour's midi mapping for control surfaces can accept multi-event commands.

ardour maps can be bound to arbitrary byte sequences but i am not convinced they will work for multiple events. not something i've ever tried or thought about.
 

I can see that dealing with controller data has some way to go.

the problems with controllers come from the almost absurdly varied ways that h/w manufacturers have chosen to use them.
 
I would like to help, but am not a c++ programer. Not great at c for that matter. I can see that MIDI/OSC control is tied to the keyboard interface and if there is no keyboard shortcut for a function then MIDI cannot trigger it either.

not true. any action defined in Ardour can be bound to OSC. there is no linkage between the keyboard shortcuts and OSC.