4.11.0 Solo Frame Behavior

The issues found when using the Virtual Console
gmint
Posts: 114
Joined: Wed Apr 15, 2015 8:04 pm
Real Name: George Qualley IV

Unfortunately I didn't notice this before but it appears that there has been a slight change in the solo frame behavior from 4.10.x to 4.11.0 which results in some things not working for me that previously worked. I have provided a screenshot of my VC layout in hopes that I can explain this clearly.
Screen Shot 2017-07-08 at 4.09.04 PM.png
The issue is with the "Auto #1" button. To make things clear, I will go through things step by step:

1) Most of the buttons on the layout (e.g. "Rainbow Tiger", "Fruit Loops", "Vortex", etc.) trigger collections

2) The "Auto #1" button triggers a chase which consists of the previously mentioned collections

Under 4.10.x, clicking the auto button would run through the collections in a timed fashion as was expected. Somewhat counterintuitively (based on how a solo frame normally acts), the "Auto #1" button would remain illuminated AND the button for whatever collection was running would be illuminated. Strictly speaking, I can see how this would violate the way a solo frame is supposed to work, but it had the advantage of being able to essentially turn the Auto-run on or alternatively take back manual control just by selecting one of the constituent collections.

Under 4.11.0, I BELIEVE what is happening is that the solo-frame behavior is being enforced more correctly and thus, triggering the "Auto #1" button has effect of immediately turning itself off once it triggers one of the collections that is linked to a button. Since this isn't really a bug (and perhaps actually represents more of a bug fix), I would like to know if anyone has any suggestions to replicate the previous behavior.

I understand that I could put the Auto button outside of the Solo frame, but I did like the simplicity of the previous arrangement.
Tubby
Posts: 16
Joined: Fri May 29, 2015 10:06 am
Real Name:

I'm excited to try the new behaviour, I think it will let me do some new board designs, as a Solo frame will truly only allow one function to run at a time. But I think I there might be side effects with it as well.

As you noted, in one sense the solo frame is behaving as could be expected, but I'm not sure it is correct. This behaviour prevents putting the following in one solo frame: a blue scene, a green scene, and a chaser that goes from blue scene to green scene.

It looks like, within the virtual console: Collections, Chasers and Scripts don't just appear as their own functions, but also as the currently running step/function. I think this combined with the new Solo frame behaviour is causing the issue. Because of that, I don't think there is a way to get the old functionality back. As a workaround, you could create a duplicate set of functions for Auto#1, but this might be more work than going back to 4.10.

If the new behaviour stays, I'm not sure how to make it work. Perhaps making chasers and scripts just appear as their own functions in the VC (ie scenes in a chaser don't trigger their buttons) and also adding an option to collections to appear either as: 1 Collection function, or 1 Collection function and each of the functions in the collection. I think collections should be treated differently because they allow you to trigger a bunch of functions together, and then modify individual functions without affecting others.
siegmund
Posts: 703
Joined: Mon Nov 02, 2015 11:03 am
Location: Germany
Real Name: Lukas

gmint wrote: Sat Jul 08, 2017 9:26 pm I understand that I could put the Auto button outside of the Solo frame, but I did like the simplicity of the previous arrangement.
If you want to stick with the current layout, you can still place the button outside the frame, but "above" the frame.
Tubby wrote: Sun Jul 09, 2017 3:50 am This behaviour prevents putting the following in one solo frame: a blue scene, a green scene, and a chaser that goes from blue scene to green scene.
I'm quite sure this is not intended for solo frames and was not meant to work in previous versions.
gmint
Posts: 114
Joined: Wed Apr 15, 2015 8:04 pm
Real Name: George Qualley IV

Tubby wrote: Sun Jul 09, 2017 3:50 am I'm excited to try the new behaviour, I think it will let me do some new board designs, as a Solo frame will truly only allow one function to run at a time. But I think I there might be side effects with it as well.

As you noted, in one sense the solo frame is behaving as could be expected, but I'm not sure it is correct. This behaviour prevents putting the following in one solo frame: a blue scene, a green scene, and a chaser that goes from blue scene to green scene.
Exactly. As you indicated, it's not all downsides. More than anything it's just a different behavior and, as I said before, it does definitely seem like this is more consistent with the "solo" paradigm (although FWIW, I guess if you're adopting the "solo" concept from the audio world, it would be a little less consistent). I really just raised the issue because I didn't see anything about this noted in the changelog so I wasn't sure if it was intentional or not. If it is, I'll just redesign a few things, but if it's going to be switched back, I'd probably just revert to 4.10 in the interim.
Tubby wrote: Sun Jul 09, 2017 3:50 am As a workaround, you could create a duplicate set of functions for Auto#1, but this might be more work than going back to 4.10.
Yup, I'd considered this, but it's definitely more work than it's worth in my scenario.
siegmund wrote: Sun Jul 09, 2017 12:24 pm If you want to stick with the current layout, you can still place the button outside the frame, but "above" the frame.
Yes, that would keep visual consistency, but that would end up being more confusing if the behavior doesn't work as it used to. Like I said, it's not really a huge deal.
User avatar
mcallegari
Posts: 4446
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

gmint wrote: Sun Jul 09, 2017 3:02 pm I really just raised the issue because I didn't see anything about this noted in the changelog so I wasn't sure if it was intentional or not. If it is, I'll just redesign a few things, but if it's going to be switched back, I'd probably just revert to 4.10 in the interim.
Hi George, you're right, I forgot to add this to the changelog. My bad.
The code change was trivial and I was probably in the middle of something else, so I forgot to update the changelog.
An issue was reported as unexpected behavior, so I fixed it.
This is the correct behavior and it's not going to change in the future.
gmint
Posts: 114
Joined: Wed Apr 15, 2015 8:04 pm
Real Name: George Qualley IV

mcallegari wrote: Sun Jul 09, 2017 4:03 pm Hi George, you're right, I forgot to add this to the changelog. My bad.
The code change was trivial and I was probably in the middle of something else, so I forgot to update the changelog.
An issue was reported as unexpected behavior, so I fixed it.
This is the correct behavior and it's not going to change in the future.
No problem, I appreciate the clarification Massimo.
Tubby
Posts: 16
Joined: Fri May 29, 2015 10:06 am
Real Name:

siegmund wrote: Sun Jul 09, 2017 12:24 pm
gmint wrote: Sat Jul 08, 2017 9:26 pm I understand that I could put the Auto button outside of the Solo frame, but I did like the simplicity of the previous arrangement.
If you want to stick with the current layout, you can still place the button outside the frame, but "above" the frame.
Tubby wrote: Sun Jul 09, 2017 3:50 am This behaviour prevents putting the following in one solo frame: a blue scene, a green scene, and a chaser that goes from blue scene to green scene.
I'm quite sure this is not intended for solo frames and was not meant to work in previous versions.
Hi Siegmund,

Thanks for commenting, I hope you can help me because I'm very surprised to hear that about solo frames. I've previously used solo frames to prevent multiple functions running on the same set of fixtures.

Sorry for repeating myself, but why should scenes and chasers (made up of the scenes) not co-exist in a solo frame?

From my testing in 4.11, a solo frame will behave as expected (pre 4.11) if:
- it contains just scenes.
- it contains just chasers.
- it contains scenes and chasers (where the chasers don't include the scenes).
siegmund
Posts: 703
Joined: Mon Nov 02, 2015 11:03 am
Location: Germany
Real Name: Lukas

Tubby wrote: Mon Jul 10, 2017 5:16 am Sorry for repeating myself, but why should scenes and chasers (made up of the scenes) not co-exist in a solo frame?
Because this would violate the concept of a solo frame. Please remind that normally a solo frame (according to the documentation) does not consider the type of function running, but just the button the function is attached to:
However, the difference with Solo Frame is that it treats any Buttons inside it differently by allowing only one button to be enabled at a time.
http://www.qlcplus.org/docs/vcsoloframe.html
I admit maybe this definition is a bit outdated (since sliders, cue lists and audio triggers are supported, too read here), but as Massimo already said:
mcallegari wrote: Sun Jul 09, 2017 4:03 pm An issue was reported as unexpected behavior, so I fixed it.
This is the correct behavior and it's not going to change in the future.
Tubby
Posts: 16
Joined: Fri May 29, 2015 10:06 am
Real Name:

Thanks for taking the time to answer my questions.

I understand what you're saying about a solo frame only having one button active at a time. However, I think the change to Solo Frames has stopped another valid use case.

I have attached an example board. In the board, I think "Simple Solo 1" should work just like "Simple Solo 2".
Particulalry, I think pressing "Chaser - Blue/Green" in "Simple Solo 1" should run the corresponding function. Is that an incorrect use of a solo frame?

Ultimately I think the issue isn't in how the solo frame works (1 active button per frame), but arrises from some combination of the below:
1) When the "Solo" button rules are applied. Should it be just when a "users clicks a button" (old behaviour I think) or when "any button changes state" (new behaviour).
2) How the VC "Presses" buttons when it's corresponding a function is running, regardless of if THAT button was pressed.
3) How higher level functions like chasers, scripts and collections, appear in the VC (as themselves AND as their individual steps/functions).
Attachments
SoloFrame.qxw
example board
(7.38 KiB) Downloaded 71 times
siegmund
Posts: 703
Joined: Mon Nov 02, 2015 11:03 am
Location: Germany
Real Name: Lukas

Tubby wrote: Tue Jul 11, 2017 3:51 am Particulalry, I think pressing "Chaser - Blue/Green" in "Simple Solo 1" should run the corresponding function.
It does, but immediately exits again.
Tubby wrote: Tue Jul 11, 2017 3:51 am Is that an incorrect use of a solo frame?
I would not say incorrect, but this setup is not doing what you want to do with it and this is not the fault of the software, but more a design issue of your vc.
Tubby wrote: Tue Jul 11, 2017 3:51 am Ultimately I think the issue isn't in how the solo frame works (1 active button per frame), but arrises from some combination of the below:
Again, there isn't an issue any more. One button active at a time, regardless what it (or how it got) activated. This is much more consistent than the old behavior.
User avatar
maquelle
Posts: 29
Joined: Mon Apr 13, 2015 8:31 pm
Real Name:

siegmund wrote: Sun Jul 09, 2017 12:24 pm
gmint wrote: Sat Jul 08, 2017 9:26 pm I understand that I could put the Auto button outside of the Solo frame, but I did like the simplicity of the previous arrangement.
If you want to stick with the current layout, you can still place the button outside the frame, but "above" the frame.
I also discover this modification in v4.11 and that's exactly what I do on my project : it works great !
Tubby
Posts: 16
Joined: Fri May 29, 2015 10:06 am
Real Name:

Thanks for persisting with me.

Looks like we disagree on whether "Simple Solo 1" should work like "Simple Solo 2". I don't want to keep wasting your time, so I'll write out my reasoning and hope I convince you, but if not I'll leave it alone. If you want to keep discussing it let me know otherwise I appreciate your time.

Background:
To be clear, I am not saying that the changes to Solo Frames in 4.11 were incorrect, wrong or should be reverted. But I do believe that 4.11 now has some weird behaviour (see quote) where a solo frame has buttons for functions (chasers, collections, scripts) that include other functions in the solo frame, i.e. "Simple Solo 1" from my earlier board.
siegmund wrote: Tue Jul 11, 2017 2:11 pm
Tubby wrote: Tue Jul 11, 2017 3:51 am Particularly, I think pressing "Chaser - Blue/Green" in "Simple Solo 1" should run the corresponding function.
It does, but immediately exits again.

I believe that that "Simple Solo 1" should function the same way as "Simple Solo 2" because:
1) It is consistent. To a User, "Simple Solo 1" and "Simple Solo 2" both have 3 buttons, for 3 separate functions, yet they run differently in 4.11.
2) It is logical and simple. As a User, I want to run only 1 of the 3 separate functions in the solo frame at a time.
3) It is efficient. It allows reusing existing scenes, chasers, collections etc. The workaround requires duplicate/redundant functions, which have to be created and maintained. i.e. creating new scenes "Scene Blue Chaser", "Scene Green Chaser " and using those for "Chaser Blue/Green" works as expected.

If I haven't convinced you yet, I'd like to pose these questions to you (you don't have to answer them)
- Why does a Chaser appear in the VC as the Chaser Function and the Current Steps Function?
- Why should a Chaser not appear in the VC as just the Chaser Function?


Finally, siegmund you said:
siegmund wrote: Tue Jul 11, 2017 2:11 pm
Tubby wrote: Tue Jul 11, 2017 3:51 am Is that an incorrect use of a solo frame?
I would not say incorrect, but this setup is not doing what you want to do with it and this is not the fault of the software, but more a design issue of your vc.
This weird behaviour is present in a VC with just "Simple Solo 1" (1 Frame and 3 buttons). I believe that is the simplest way you could create that VC. Also, I believe in 4.11 there is no way to build a VC where only one of the three functions is running at one time.
siegmund
Posts: 703
Joined: Mon Nov 02, 2015 11:03 am
Location: Germany
Real Name: Lukas

Tubby wrote: Wed Jul 12, 2017 4:56 am 1) It is consistent. To a User, "Simple Solo 1" and "Simple Solo 2" both have 3 buttons, for 3 separate functions, yet they run differently in 4.11.
The major difference is, that in one frame the chaser contains the other 2 functions. This should be clear to the user since he created the vc or gave the operator some brief input on the structure of functions.
Tubby wrote: Wed Jul 12, 2017 4:56 am 2) It is logical and simple. As a User, I want to run only 1 of the 3 separate functions in the solo frame at a time.
So here we finally agree :D The point is: A chaser is a sequence of other functions. As soon as you start it, you have a running chaser (which is a function itself) and a running function, which is the one currently "selected" by the chaser. [EDIT:] Simply wrong. See this thread for correct explanation So you somehow propose to stop activating the button corresponding to the currently running function in the chaser as I get from your statement:
Tubby wrote: Wed Jul 12, 2017 4:56 am - Why does a Chaser appear in the VC as the Chaser Function and the Current Steps Function?
If we do that, this will be no more consistent, because the function is running, but the button is not activated. So visually it would look like there is only one function running in the frame, but technically there is the chaser and the current chaser function running.
Last edited by siegmund on Mon Jul 17, 2017 10:40 am, edited 3 times in total.
volmar
Posts: 19
Joined: Sun Jan 03, 2016 4:34 pm
Real Name: Daniele

I'm sorry to disagree with you siegmund.

Not talking about the new behaviour broke my project on many parts... But the solo frame had a logical and useful behaviour, managing scene and chaser togheter.

Take the example of a dimmer RGB fixture.

Like someone said if i select a chaser with different colors I expect every scene colors to deactivate. Which doesn't happen if I put the chaser button outside the solo frame (outputting white because colors start to sum).

Even worse now I can't manage the dimmer channel with the submaster slide. First I could put in one solo frame the dim255 scene button, the submaster slide and the strobo chasers (which contain dim0/dim255 scenes). Now one should create 2 solo frame with 2 submaster sliders making it usable only mapping the sliders with one physical slider (hoping that the MIDI plungin doesn't malfunction).

I see that for a software developer now it makes more sense, but for a lightoperator is a pain. Using QLC+ in the new solo frame I see no pros, only cons.
siegmund
Posts: 703
Joined: Mon Nov 02, 2015 11:03 am
Location: Germany
Real Name: Lukas

volmar wrote: Wed Jul 12, 2017 11:07 am Like someone said if i select a chaser with different colors I expect every scene colors to deactivate. Which doesn't happen if I put the chaser button outside the solo frame (outputting white because colors start to sum).
Since this sounds weird, can you please provide a workspace sample for it?
volmar wrote: Wed Jul 12, 2017 11:07 am Even worse now I can't manage the dimmer channel with the submaster slide. First I could put in one solo frame the dim255 scene button, the submaster slide and the strobo chasers (which contain dim0/dim255 scenes). Now one should create 2 solo frame with 2 submaster sliders making it usable only mapping the sliders with one physical slider (hoping that the MIDI plungin doesn't malfunction).
Why limit (submaster) the dimmer channels and the chaser? This makes no sense, only limiting the dimmer channels should be enough.
gmint
Posts: 114
Joined: Wed Apr 15, 2015 8:04 pm
Real Name: George Qualley IV

I didn't realize I was opening such a can of worms with my original post, but given some of the additional discussion I do feel compelled to comment.
Tubby wrote: Tue Jul 11, 2017 3:51 am 1) When the "Solo" button rules are applied. Should it be just when a "users clicks a button" (old behaviour I think) or when "any button changes state" (new behaviour).
I think this is actually a very good description of the change and I think it's a good description of the paradigm. Personally, I think there was something to be said for the previous behavior and, while I can work around the new behavior (and I can see some possible upsides, e.g. let's say I have my aforementioned "auto" button but I want to temporarily trigger a scene at a specific time, in the past this would have disabled the auto function but now it will continue to run even after I have triggered my temporary scene) it does seem that it might actually impose more limits than I had previously thought. Also, it's clearly breaking VC functionality that's been around for a long time. Also, I do want to point out that, strictly speaking, if we're talking about the "solo" convention as it pertains to an audio console, it actually doesn't violate that convention to have more than one thing active at a time. Again while I understand (and love) the solo functionality in QLC+, on an audio mixing console "solo" has really come to mean "mute everything except for those channels where solo is activated" as opposed to "only allow one single channel to be active."

I'm not sure any of that is really helpful to this discussion, but I guess it's just some food for thought...
volmar
Posts: 19
Joined: Sun Jan 03, 2016 4:34 pm
Real Name: Daniele

siegmund wrote: Wed Jul 12, 2017 12:02 pm
volmar wrote: Wed Jul 12, 2017 11:07 am Like someone said if i select a chaser with different colors I expect every scene colors to deactivate. Which doesn't happen if I put the chaser button outside the solo frame (outputting white because colors start to sum).
Since this sounds weird, can you please provide a workspace sample for it?
Of course, it's attached to this post.
I usually use multiple colour chasers in a workspace, all in a solo frame to keep only one active. Of course if I take them all out the solo frame they don't deactivate when I start another one and then they sum up.
siegmund wrote: Wed Jul 12, 2017 12:02 pm
volmar wrote: Wed Jul 12, 2017 11:07 am Even worse now I can't manage the dimmer channel with the submaster slide. First I could put in one solo frame the dim255 scene button, the submaster slide and the strobo chasers (which contain dim0/dim255 scenes). Now one should create 2 solo frame with 2 submaster sliders making it usable only mapping the sliders with one physical slider (hoping that the MIDI plungin doesn't malfunction).
Why limit (submaster) the dimmer channels and the chaser? This makes no sense, only limiting the dimmer channels should be enough.
To me it seems not. If I take out the solo frame the strobo chaser button the intensity is influenced by the initial value of the submaster slide, but not to later variations. (this case is also in the attached workspace)
Until 4.10 I keep all in a solo frame (dim255 button, strobo button, submaster slide) and it worked.
test.qxw
(10.46 KiB) Downloaded 62 times
siegmund
Posts: 703
Joined: Mon Nov 02, 2015 11:03 am
Location: Germany
Real Name: Lukas

volmar wrote: Wed Jul 12, 2017 6:32 pm Of course, it's attached to this post.
I usually use multiple colour chasers in a workspace, all in a solo frame to keep only one active. Of course if I take them all out the solo frame they don't deactivate when I start another one and then they sum up.
Can you please state what exactly is wrong in this workspace? I can see nothing odd here.
volmar wrote: Wed Jul 12, 2017 6:32 pm To me it seems not. If I take out the solo frame the strobo chaser button the intensity is influenced by the initial value of the submaster slide, but not to later variations. (this case is also in the attached workspace)
This is definitely a bug, I will open a separate thread for submission.
User avatar
mcallegari
Posts: 4446
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

Alright guys, let's try to reach a conclusion of this discussion.

What 4.11.0 proposes, is what is written in the documentation since the beginning:
A Solo Frame is almost exactly the same kind of a container as a normal Frame in that can hold various widgets and other frames inside. However, the difference with Solo Frame is that it treats any Buttons inside it differently by allowing only one button to be enabled at a time.
If over the years, users designed their VC taking advantage essentially of a bug, I need to know if it is more important to have solo frames that are not solo frames, or if they should really implement the documented exclusive behavior.

For me the change is trivial (one single line of code) but I need to know what you really want and if the current behavior is so penalizing that it becomes impossible to cover some usages as before.

In any case I'm 100% sure you won't get a QLC+ that reads your mind, especially referring to some "bug" report in the latest test.qxw (with related explanation)

If it might help, I can create a poll, where everybody can vote. I will then revert or keep it as it is depending on the poll verdict.
User avatar
mcallegari
Posts: 4446
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

Poll created, please vote.
viewtopic.php?f=17&t=11326

As I'm aware I haven't actually proposed a solution to this, I've had a rough thought of what might make everybody happy, while keeping the exclusive behavior.

Basically the confusion comes from the fact that there is no distinction between a button running a function and a button monitoring a running function. When a button border becomes green, it always seems the button is in a state where it is actually controlling the function. (which in not always true)
So, the idea I've had is to distinguish the two cases with a different visual indication.
For example
- when you explicitly push a button, the border becomes green, as it is now
- when a button "senses" its function is running, the border can become orange (or whatever color you prefer)

When in "monitoring" state, you can still press the button and run its function, so the border will become green and the Solo frame exclusive behavior will be applied.

i'm not sure if this might create even more confusion or if this would be the way to go. In any case I have no idea of the effort it requires and the implications of such change. It's definitely not trivial.
What do you think ?
Post Reply