EFX + Speed Dial - weird behaviour

The issues found when using the Function Manager panel
Post Reply
TristanYoung
Posts: 28
Joined: Fri Dec 25, 2020 5:25 am
Real Name: Tristan Young

Hello Everyone! Hope you're all doing well.

I'm running QLC+ 4.12.3 on Windows 10, with Mixxx, loopmidi, and Midi-for-light.

I have Mixxx sending the beat with the Midi-for-light script through loopmidi into QLC+ for light timing.

I'm experiencing some odd behaviour with EFX.

I have set up 3 complex path EFX's, one for each of Parallel, Asymmetric, and Serial.

Parallel works fine, but I'm seeing inconsistent behaviour with Asymmetric and Serial. I have seen it in both the EFX window, and in the VC window.


First test - without music playing
When I activate the Complex Path Asymmetric or Complex Path Serial function for my spotlights, I only see 1 spot on the X-Y pad, and the lights do not behave correctly.

If I deactivate and re-activate that same function, I'll see multiple spots on the X-Y pad, and the lights behave correctly.

I noticed that if I change the speed dial or enter a new time value for the spotlight movement, then activate the Complex Path Asymmetric or Serial function, the lights do not behave correctly. But if I de-activate and re-activate the function, they behave correctly.


Second test - while music is playing
If I activate the Complex Path Asymmetric or Serial function, I only see 1 spot on the X-Y pad, and the lights do not behave correctly. I cannot get them to behave correctly, so long as the music is playing, because the speed dial is being tapped by the beat being sent from Mixxx.

If I stop music playback, then activate the Complex Path Asymmetric or Serial function, I only see 1 spot on the X-Y pad, and the lights do not behave correctly, but if I de-activate and re-activate the function, I see multiple spots on the X-Y pad, and the lights they behave correctly.


Third test - with loopmidi disabled in the Inputs/Outputs window and no music playing
The weird behaviour persists, so it doesn't appear to have anything to do with loopmidi or Mixxx.


Final thoughts
There seems to be some weirdness between the speed dial and the Asymmetric and Serial functions, but is not noticeable when using Parallel. I noticed it on other types of functions as well, not just Complex Paths. Seems if the speed is adjusted, either by entering a time value, pressing a multiplier button, turning the speed dial, or tapping a beat, Asymmetric and Serial doesn't work correctly upon activation. In the case of controlling the lights via Mixxx, you cannot get correct Asymmetric or Serial behaviour due to the repeated automated beat tapping, repeatedly triggering this bug.

I've attached a copy of my QLC+ workspace and the fixture definition for the spotlights.

Thank you.
Attachments
HongYi-100W-LED-spot-light.qxf
(9.08 KiB) Downloaded 85 times
Studio.qxw
(133.72 KiB) Downloaded 86 times
User avatar
GGGss
Posts: 2732
Joined: Mon Sep 12, 2016 7:15 pm
Location: Belgium
Real Name: Fredje Gallon

Got errors opening the project file - just esthetics for now.

If you don't specify a 'start offset' you only will see 1 dot, because they all follow the same path.
In your provided project, all start offsets are (re)set to 0?
If I try to have the project run, I see the X-Y path catching up on the previously selected preset or movement.
If you look at the effective output, you can notice this 'catch-up' behaviour also...

And now I have the impression that this shows HTP behaviour. Checking your fixture profile, pan and tilt are set to LTP = ok.
So I assume that now the problem goes back to a bug in the EFX module (showing HTP behaviour) when selecting a new EFX in the XY pad.

I didn't even change the speed, observing this behaviour.
All electric machines work on smoke... when the smoke escapes... they don't work anymore
TristanYoung
Posts: 28
Joined: Fri Dec 25, 2020 5:25 am
Real Name: Tristan Young

Thank you for responding GGGss.

I should have added in my initial post that the first 4 fixtures start moving simultaneously in serial mode, while the last 2 start delayed when not tapping the beat into the speed dial. When the beat is being tapped into the speed dial, the last 2 don't start moving at all. This is with starting offsets at 0 degrees.

I thought that the starting offset for each fixture was irrelevant for what I was trying to do, as the algorithm would start one light, wait, then start the next, and so on. Starting offset to me designates a point along the path the function starts moving the light; a positional change, not a time change. I didn't think it had anything to do with start time.

Tonight I cloned the function that is set to SERIAL and added start offsets in 20 degree increments to each fixture.

Without music playing: 4 fixtures start moving right away. The second-last one starts moving a bit later, and the last one starts moving even later.
With music playing: 4 fixtures start moving right away. The last two never start moving.

I was expecting: Each fixture starts moving, one by one, with a start delay between each. The word SERIAL implies that they would not all start at the same time. I expect them to all start moving simultaneously in PARALLEL mode.

So regardless of starting offset, the behaviour is not what I would expect.

I hope that helps. It's odd that 4 fixtures are affected immediately, while the last 2 are affected delayed, or not at all.
User avatar
GGGss
Posts: 2732
Joined: Mon Sep 12, 2016 7:15 pm
Location: Belgium
Real Name: Fredje Gallon

When I recall correctly, I had this topic covered in 2019. The serial part of EFX, showed errors... https://youtu.be/vndeE-erCnk
But I cannot recollect what was going on. And no I'm not going over all my posts here ;-)
All electric machines work on smoke... when the smoke escapes... they don't work anymore
TristanYoung
Posts: 28
Joined: Fri Dec 25, 2020 5:25 am
Real Name: Tristan Young

Thank you GGGss. I found your posts in about 5 seconds. I recall reading that one earlier, maybe a week or so ago.

Ok, so there are some clear issues with serial EFX. Not sure if this is one bug, or two different bugs.

I've already looked through the code, and got a headache. I'll need to have another look.
User avatar
GGGss
Posts: 2732
Joined: Mon Sep 12, 2016 7:15 pm
Location: Belgium
Real Name: Fredje Gallon

In what use you see the serial behaviour as interesting? All start at a fixed referenced position and then one by one leaving this position? It is only the start behaviour that will be affected.
This won't look nice on stage... If groups and wings would be implemented, this would be a lot nicer. You could be working in blocks and create a symmetric look on stage. The big boys have such a solution onboard. And how crazy it will sound: GrandMa3 at current version (v1.4) has a thing called phaser and it is exactly the EFX engine of QLC+ (but then again a lot more powerful).
All electric machines work on smoke... when the smoke escapes... they don't work anymore
TristanYoung
Posts: 28
Joined: Fri Dec 25, 2020 5:25 am
Real Name: Tristan Young

I don't really know yet. I'm just experimenting with what I can do.

Thinking more about what serial does, and reading your most recent reply, I don't think I'll have much use for it. I liked the pseudo-random effect I was getting with async with my particular layout, but it is also being affected by the bug. I've decided to go with parallel with offsets, which give a similar look for my setup.
Post Reply