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.)
Mysterious behavior using loopback to control widgets
-
- Posts: 71
- Joined: Wed Jun 15, 2016 8:51 am
- Real Name: Matt Mayfield
- Attachments
-
- Strange loopback report.zip
- (34.39 KiB) Downloaded 50 times
-
- 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.
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.
-
- 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:
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 48 times
-
- 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
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