On Tue, 21 Jul 2015, Takashi Sakamoto wrote:

MCP and HUI both consist of "usual MIDI messages".

There are a couple of sysex messages used for hand-shaking +
discovery; everything else is just normal CC and note messages.

I also know the MCP and HUI is a combination of MIDI messages. What I
concern about is the sequence. If the seeuqnce requires device drivers
to keep state (i.e. current message has different meaning according to
previous messages), I should have much work for it.
In this meaning, I use the 'rule'.

The mcp surface is generally pretty "dumb". Each button sends a note on and note off (note on vel 0) for each press. Each LED takes the same note number with 127 for on 1 for flash and 0 for off. The PB are just what they seem and take the same info in to operate the motor sliders. The surface does not really keep any state information at all. The encoders give direction and delta not CC value. the encoder display should only be sent as 4 bits and the cc number is offset by 0x20 (it looks like).

There are buttons labled bankup/down but they are really just midi messages and expect the sw to figure out any banking scheme or not. Each unit needs a separate midi port... this is true even for units that have 16 faders... they are really two units with two midi ports.

here is a link. Yes the manual is old, but the spec is still valid. I would judge that if this manual did not exist, the MCP surfaces would have gone the way of the mackie C4, which could have been a nice box... but open protocols are a must for adoption... even in the windows/osx world.

http://stash.reaper.fm/2063/LogicControl_EN.pdf

There are some reasons not to use MCP to control an audio card:
- if I spend over $1k for a surface I will not be using it for the audio card. It will be for the DAW. Switching a surface from one application to another in the middle of a session is just bad. - There are only 8 channels, ever. Banking becomes a must. Including banking in an audio interface control is a pain for any coder who wants to make sw to control the AI (That is everyone). Many common AIs are 18 or more channels in and out... 36 faders plus required. - DAWs do not include audio interface control (levels etc) anyway, because they are all different and the IA channel being used for any one DAW channel may be shared or changed during the session making a mess unless the AI control is a separate window... in which case a separate app is easier.

I think one midi CC per gain (use nrpn if you must but really 127 divisions is enough if mapped correctly and smoothed). One note on/off per switchable. All assigned sequencially from 0 up (starting at 1 may make things easier, there is some poorly written code that does not see note 0... maybe that was mine :) ).

While it would seem possible to use note off as more switches, be aware that some SW internally saves note on vel 0 as note off events (this is not wrong or a bug).


--
Len Ovens
www.ovenwerks.net

_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev

Reply via email to