Mysterious behavior using loopback to control widgets

The issues found when using the Virtual Console
Post Reply
mdmayfield
Posts: 71
Joined: Wed Jun 15, 2016 8:51 am
Real Name: Matt Mayfield

This issue is reproducible on MacOS 10.11.6 and on Ubuntu MATE 16.04.1 LTS (I did not test on Windows), with QLC+ 4.10.4, 4.10.5b, and latest GIT source compiled today.

It is easiest to demonstrate through a very short (2-minute) screen capture video:


It seems that, when using an Input Profile that assigns DMX channels to buttons with extra presses, only on the first time going into Live mode after opening a .qxw, frame Enable controls which are assigned to those DMX channels trigger unexpectedly. The specific controls that are affected appear to be consistent between times the project is re-opened and put into Live mode on the same OS, but various factors seem to influence exactly which widgets are affected, including OS type, and whether any channels are "grabbed" by the Simple Desk.

Attached are all the files needed to reproduce the issue.

Note that, if I delete all of the Level mode faders for Universe 3 (the one with the loopback "fake" fixture), the issue goes away. (Of course, this also takes away the functionality I needed them for...) For now, I plan to work around this by using Playback mode faders instead of Level mode.

-------

(In case you're curious, there's a reason for this complex setup. I'm using a custom TouchOSC layout. Unfortunately, since OSC uses UDP, single-message controls like buttons and toggles are very unreliable on WiFi - perhaps 5-15% of the time these messages are being dropped on my network, which makes TouchOSC and my QLC+ Virtual Console go out of sync. So I am working around this by using only faders within TouchOSC instead of buttons, because faders always send out multiple messages whenever they are touched. I have my layout set with the custom controls to send values between 0 and 0.004 = DMX values 0 to 1.)
Attachments
Strange loopback report.zip
(34.39 KiB) Downloaded 49 times
mdmayfield
Posts: 71
Joined: Wed Jun 15, 2016 8:51 am
Real Name: Matt Mayfield

Even after setting up all my faders in Playback mode, strange behavior like this persists. It only appears to happen the very first time, after opening the workspace, that I adjust the Loopback universe's channel faders - and it only happens to certain frames/channels (different depending on computer/OS).

After the first time adjusting faders, the wrong frames are enabled/disabled, but if I fix those manually with the mouse in the Virtual Console, from then on everything behaves as expected.

Edit: Also, if I go to Inputs/Outputs and disconnect Loopback 1 from the Input (so that it is going nowhere), then adjust some loopback channels, then re-enable the Input, the frame enable buttons do not get messed up. It's almost as if, just for one brief instant, the wrong values are calculated in the Loopback universe, and then done correctly from then on.
siegmund
Posts: 703
Joined: Mon Nov 02, 2015 11:03 am
Location: Germany
Real Name: Lukas

This is quite a complex workspace, where it's not easy to follow what's happening. Are you able to reproduce this in a smaller workspace with a minimal setup? This would make debugging easier.
mdmayfield
Posts: 71
Joined: Wed Jun 15, 2016 8:51 am
Real Name: Matt Mayfield

Hello Siegmund,

Thank you for the reply! Here is a very simple and minimal way to reproduce the issue, attached.

- 64 empty frames, each one's Enable button controlled by the Loopback DMX channel it is named
- 64 sliders, each controlling the Loopback DMX channel it is named (Range Limit = 0 to 1, but that does not affect the glitch)
- Input Profile with 64 channels all classified as Buttons with Generate Extra Press enabled
- No lighting fixtures, functions, or external controls

Each slider should enable its respective frame when set to 1, and disable it when set to 0. Nothing else exists in this project.

However, the first time switching to Live mode immediately after opening the project, some frames incorrectly become enabled. (This puts the sliders out of sync with the Enabled/Disabled state.) However the DMX monitor reveals all channels are 0, so where did the signal to enable frames come from?

Also, note that after the issue occurs once, it never occurs again until the project is re-opened.

Here is a quick explanation with the simplified project:

Attachments
Frame Enable Glitch Simplified.zip
(5.6 KiB) Downloaded 47 times
siegmund
Posts: 703
Joined: Mon Nov 02, 2015 11:03 am
Location: Germany
Real Name: Lukas

This is really weird.

I can confirm this bug on Xubuntu 14.04 64 Bit with the latest sources.
At the moment I can't say where this is coming from, so I have added an issue on github that it doesn't get lost: https://github.com/mcallegari/qlcplus/issues/948
Post Reply