On Fri, 15 Aug 2014, Paul Davis wrote:
On Wed, Aug 13, 2014 at 10:16 PM, Len Ovens <len@xxxxxxxxxxxxx> wrote:
Is it just me? Has anyone else looked at pitch bend events on the
Ardour MIDI Tracer? Quick test:
================================================
- edit->Preferences->Control surfaces.
- select both enabled and feedback for generic MIDI.
- double click on it and select bcf2000 with mackie protocol
- open an external midi monitor (using qmidiroute here) and connect
it to
Ardours MIDI control out.
- also open Ardours MIDI tracer window and connect it to the same
output.
(Now qmidiroute will be in decimal and MIDI Tracer is hex..)
- use the mouse to move the gain up and down on channel one with an
audio track.
=================================================
the trace shows MIDI messages. there are no 10 or 14 bit MIDI messages. only
"controllers" with 14 bit state. 14 bit state is sent as two messages (when
necessary). the tracer shows each individual message.
Pitch bend, which the mackie faders use, is specified in the MIDI standard
and in the MCP spec as: Ex yy zz in one event. WHere x = channel, yy = LSB
(7 bits) and zz = MSB (7 bits). This is one event. This the way I send
fader info to Ardour and It is also the way Ardour sends info back to me
when I use a mouse to move a fader. Lets compare the output of the tracer
with qmidiroute: (using fader5 as happens)
tracer db qmidiroute midi
===========================================================================
Pitch Bend chn 5 1a -0.5 Ch 5, Pitch 4378 (111a) e4 1a 42
crt/alt/mousewheel down
Pitch Bend chn 5 09 -0.5 Ch 5, Pitch 4361 (1109) e4 09 42
Pitch Bend chn 5 79 -0.5 Ch 5, Pitch 4345 (10f9) e4 79 41
There is no second midi event with the msb, this info is missing.
I am well aware that controllers are 7 bits in an event. The MIDI standard
does double up some of them for 14 bit, but I am not aware of anyone who
uses them.
Speaking of which... I was looking at the MIDI codes for some more upscale
Control surfaces:
Allen & Heath iLive control surfaces
Yamaha CL series mixers
Both of these use NRPN (Non-Registered Parameter Number) for some of their
messages. The A&H uses this because they have run out of controllers (I
would guess) and still only get 7 bits for their faders. They use three
events, the first one has the mixer channel (as well as the midi channel),
the second has a code for what in the channel it controls (0x17 for fader)
and the third is the data. Yamaha uses four events, the first two carrying
the controller number (they have not bothered to group them the way A&H
has) and the last two are MSB and then LSB. The wiki for NRPN says the
controller number for the first two bytes should be 0x63 and 0x62,
however, Yamaha has these listed backwards. As there are other typos in
the same page, this may just be a typo too.
I do not know if the Ardour midimap binding msg="byte byte byte" would
handle this or not. I know Jack would consider this 4 events and probably
not accept just the first status byte with 8 running status data bytes
following as a single event.
--
Len Ovens
www.ovenwerks.net
_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@xxxxxxxxxxxxxxxxxxxx
http://lists.linuxaudio.org/listinfo/linux-audio-user