Comment 11 for bug 1136890

Revision history for this message
Sean M. Pappalardo (pegasus-renegadetech) wrote :

Wow, thanks for all the information and testing, Rob! I've been waiting for RJ to respond here since he knows more about the internal control system code that's producing the "shouldn't happen" message. I can say that in previous discussions with him that there is indeed an issue with its ability to handle rapid updates which is why you were seeing problems, but it's due to a flaw in the design of the system, something which can only be remedied by a complete redesign (which we do have planned, dubbed "Control 2.0.")

There's actually nothing wrong with connecting Mixxx controls to multiple script functions; in fact we explicitly provided for that possibility. I think your problem was simply due to the speed of the connections/disconnections, since the internal controls are actually processed in a different thread. It would be interesting to see if your pre-fix code works correctly if you add a busy-wait delay on each loop iteration. Would you mind trying that and report back here? (That wouldn't be a good workaround though since busy-waits in controller scripting are a no-no as they can cause Mixxx to stutter and affect response of other controllers.)

Can I ask why setHook() loops on connectControl? That would connect it multiple times to the same function which might cause problems. Did you ever see it iterate more than once?

So for now, your workaround is the best thing you can do. If you're interested, you can keep an eye on the Control 2.0 spec page to monitor progress: https://blueprints.launchpad.net/mixxx/+spec/control-2.0