In our studio we are currently using a Allen & Heath SQ5, which is quite OK. The only issue is that while trying to remote start players in mAirlist via MIDI, it seems like the SQ5 is sending all values for all faders if any update on any of the faders.
Do anyone have any experience with the SQ5 in combination with mAirlist?
I don’t have any experiance either but even if SQ5 updates all faders if one is moved, it still should work with mAirlist. The only downside, you need to assign manually, you can’t use the Midi-Learn funktion of mAirlist.
Thanks guys for your response.
Using the Midi monitor, the information recieved is just too much for me to recognize what could represent which fader. Ill raise the question in A&H forums as well =)
Dear all, just found that the SQ is transmitting four messages pr. update.
Is it possible to remote control with MIDI based on two messages? I need to define if a channel (msg 2) has a new value(msg3), determine wether this value is greater than a defined value in the config.
My initial thoughts:
$channel = data 2 of message 2 (B0 62 00)
$value = data 2 of message 3 (B0 06 00)
The SQ uses NRPN control for most parameters, which is a series of 4 CC messages. The exception is Scene control which uses Bank & Program Change messages.
var
nrpnMSB, nrpnLSB, dataLSB, dataMSB: byte;
procedure ProcessNRPN(parameter, data: word);
begin
// do actual work here
end;
procedure OnMidiMessage(Device: integer; Status, Data1, Data2: byte);
begin
if Status = $B0 then begin
if Data1 = $63 then
nrpnMSB := Data2
else if Data1 = $62 then
nrpnLSB := Data2
else if Data1 = $06 then
dataMSB := Data2
else if Data1 = $26 then begin
dataLSB := Data2;
ProcessNRPN(nrpnMSB shl 7 + nrpnLSB, dataMSB shl 7 + dataLSB);
end;
end;
end;
Note the use of global variables to cache the received bytes.
This is also a very “optimistic” script as it expects the sender to behave “well” and not send any messages outside the order. Also, according to Wikipedia, the data LSB byte is optional, something which is not covered by this code.