Pitch Bend

I spent almost all night on it yesterday. I have two observations and I discovered something that caught my attention (see below)

observations:

CC14 works ok for me when electra is the source of the messages, ie. feedback=none. When I enabled the feedback, Logic seemed to send limited range of values back (a narrow range somewhere around 14k). I observed it with a Midi monitor, it seems to be issue on the side of the Logic. I am not sure, however, if I do get the concept of min / min and scale there. No freezes though.

As I played around with that, I was able to enable some sort of control surface negotiation protocol (most likely Mackie). From that moment on Electra received number of sysex messages whenever it was connected or controls changed in Logic. Unfortunately, no lock ups.

I was trying to find out more on that topic and I discovered that Logic supports Lua scripting for control surfaces. I made some tests and I was able to create a simple script to identify Electra, assign controls. It looks quite neat. I could not find any documentation though. I just reviewed a few scripts in the App/Library of Logic. I will post result my script on github later on. I think it might be even possible to modify the control names dynamically (in electra preset).

1 Like

Thanks Martin

The Min/Max should pretty much always be at 0 - 127. The documentation implies that you can set it for the full 14 bit range. But you can’t. I think it is poorly phrased and that the Min / Max is for each of the MSB/LSB messages

If I have nothing no assigments learned within Logic then I can (via the electra editor) setup a 14-bit CC control. I can twiddle this and it works fine.

If I then learn it to a fader for an audio track it is recognised by logic. However the movement of the fader is wrong and it is only operating along 127 values with the fader going off the top and then restarting at the bottom for the next batch of 127 values

As soon as I move the fader directly on Logic the electra locks. Unplugging the electra to reboot it results in a lock immediately on loading of the preset.

I’ve managed to get rid of the SSL virtual ports.

What I’m seeing on midi monitor is an invalid message from Logic to the electra. It sends the first part of the 14bit CC correctly but the second part is send as a single 1 byte value

There also seem to be some Mackie messages being sent as well. I think the electra is freezing on the invalid message

I was aware that Logic supports Lua but like you couldn’t find any documentation. I think that Logic is using this for smart control assignment on control surfaces

1 Like

ok, I can reproduce and know whats causing the issues.
I’ll send @martin the details/logs

3 Likes

Logic seems to learn just the LSB part, no? That would explain the fader pattern.

no, the incoming msb/lsb is handled perfectly correctly…

however, logic is incapable of sending out the 14bit values correctly :wink:

on bigsur … as detailed in my previous post it is sending a fixed value for the LSB (0x74)
on catalina it is sending invalid data, (as @RobinC saw in his last post) and the LSB(iirc)

its the invalid data bytes (00 F4) that I think are tripping up E1.
so hopefully, the E1 can be made a little more ‘robust’ to that…

BUT unfortunately, this will just mean Logic doesn’t lock up the E1
we will be then back to my previous posts state, basically for 14 bit you have to turn off local feedback.
(or use 7 bit which works fine)


the other observation, and why its locking up on start up, is quite simply that logic will remember learn assignments, so when you re-connect the E1 , it will try to send those same invalid bytes - so the E1 locks up immediately.

if you clear the assignments, it works fine.


unfortunately, as mentioned previouslly, 14 bit support is not that widespread, and controllers that can receive midi to update thier values are also not that common - a perfect situation for bugs to creep into software (like logic) and not get oft reported. (I guess you can try to report it to Apple)

Id guess, that more ‘elaborate’ controllers that might have these features, probably also use control surface scripts… so don’t trip over the midi learn issues.

of course that would be cool for Electra One too, but writing control surface scripts for every daw is a pretty big task - and they all do it differently, and even use different programming languages etc.
so not really practical unless you are someone like Mackie/Akai

2 Likes

Good find @thetechnobear

1 Like

On Catalina the locking up still occurs regardless of the feedback settings. And whilst logic does correctly determine the MSB/LSB pairing it doesn’t respond to it correctly. The range of a fader still is still divided across 127 values. So for catalina at least there doesn’t seem to be a scenario where 14-bit CCs can be used.

Most of the time this isn’t an issue but for volume fader values and EQ frequency settings you can only hope to get into a ball park using 7bit values.

I will report the bug to Apple. Whilst it may not do any good. It’s easily reproducible and probably did work correctly in a previous version

1 Like

you might be able to do this in the Enviroment…
I suspect its only the midi assignment functionality that is broken

1 Like

Brilliant, thank you @thetechnobear. I really like this forum :slight_smile: I am on it!

2 Likes