xLightsSequencer / xLights

xLights is a sequencer for Lights. xLights has usb and E1.31 drivers. You can create sequences in this object oriented program. You can create playlists, schedule them, test your hardware, convert between different sequencers.
GNU General Public License v3.0
569 stars 212 forks source link

Ability to "link" Sequence Effects #2671

Open MrPaulAR opened 3 years ago

MrPaulAR commented 3 years ago

Is your feature request related to a problem? Please describe. No

Describe the solution you'd like I'll start by saying this is likely a bit of a reach and my not even be feasible but this is a concept that I've seen in other completely unrelated applications that I believe may be useful.

Lets say at timeslot 1 I draw an effect and have it set exactly like I want it. For this example there are zero layers. If I want this in say 20 other places throughout the sequence I can quickly go and copy/paste it to those locations, adjust the start/end duration and done.

The issue rises when I want to modify 1 attribute of every one of these effects. Say I wanted to add a color (one example). I would need to locate every one of these and I can bulk edit that attribute.

What I'm asking for is a new way to link (similar to a soft link on linux filesystems) attributes back to their source as an option, not the default. This way I can use this "linked paste" when duplicating single effects. The benefit here is that I can now go update just the source effect and all linked effects will be updated too.

Now that this soft link exists for all the attributes of a given effect the following additional features may be available.

Describe alternatives you've considered Copy/paste, presets, select effect + bulk edit, jukebox

Additional context This may not be feasible at all as I don't think the XML schema of the sequence would allow for this, at lest not with a single attribute linkage....maybe an all or nothing type approach.

keithsw1111 commented 3 years ago

I have long considered a copy effect ... that duplicates another effect but useability wise its really hard to imagine how it would work.

Sure I could add a new copy effect and it could forward all the render to another effect. That is probably the easy bit. The hard bit is for the user. If its a new effect then it will have its own properties pointing to another effect ... but how will it reference it ... model/layer/start time ... thats ugly.

Then what if you want to change it ... suddenly unlink it because a property needs some tweaking ... or the original effect gets deleted ... and how would the user know when they tweak an effect that this effect has things linked to it and how many.

This sounds like a goldmine for bugs and useability issues.

Dont get me wrong ... I could be convinced but we would need a more comprehensive useability outline to convince me it would work for all users.

MrPaulAR commented 3 years ago

I honestly don't know how it would work. The XML doesn't seem to support this logic today without a bit of schema update.

Given that I'm not a programmer and even I appreciate the complexity here I don't blame you if it's closed. The resulting bugs would likely be impactful and I see this could be a breaking change preventing reversion to previous builds.

Given the above comments I can see one way of accomplishing this as follows

The above may cover the most basic case of allowing a linked effect to be created and individual values replaced.

It doesn't account for the ability to display that these settings are linked in xLights though. Maybe have the effect settings window display linked attributes in a different color. I don't know how, in a GUI, to go back and quickly edit the parent effects or relink to the parent.

I also don't know how the time/value proposition for this would work out either. I would think that the people with larger sequences would get some use out of it.