How do I solve this?

I am working on a preset for Behringer UB-Xa.

This is NRPN 135 value 0-15.

It uses Bitmask values for Track (bin 0001 = dec 1), Envelope (bin 0010 = dec 2), TempoLock (bin 0100 = dec 4) and LFOTrig (bin 1000 = dec 8).

I need 4 controls for this that in some way uses the same parameter 135. I assume you can turn them all on and off independently? If you can only have one on at the same time, just use the values ​​1,2,4,8. I haven’t looked at my UB-Xa yet.

Have a look at the preset I just released. Electra One App
Look at page “Performance LFO”
Mind you , I think the Envelope bit for the Perf LFO is currenty not doing anything on the UB-Xa, so it is not made visible.
Also, in this special case, the preset will work eventually with 3 devices:

  • device 1 is currently the upport part bu will become switchable in later versions between upper and lower.
  • device 2 is always upper part
  • device 3 is always lower part
    That explains a bit why in the function below I currently use the parameter map of device 2 (I assume it doesn’t change channel when going bi-trimbral)
function bitMask107() -- NRPN 1/7 = 135 PerformanceLFOMods 
-- Bitmask: Track (0001) Envelope (0010) TempoLock (0100) LFOTrig (1000)
  local result = parameterMap.get (2, PT_VIRTUAL, 115) * 2^0
   + parameterMap.get (2, PT_VIRTUAL, 117) * 2^1
   + parameterMap.get (2, PT_VIRTUAL, 118) * 2^2
   + parameterMap.get (2, PT_VIRTUAL, 119) * 2^3
  sendNrpn(currentPort, currentChannel, 135, result)
end
1 Like