Changing standard flame effects to editable duration — good idea or bad idea?
-
AuthorPosts
-
WillJoined: Feb 2018 Posts: 61 Location: Palo Alto
NewcomerI am currently working on the “V2” DMX implementation, which has a number of improvements including ramps, latest-takes-precedence semantics for overlapping effects, and a new paradigm in which the set of standard effects for a fixture is generated from a fixture definition, rather than manually one by one by me or a user, which has been a bottleneck for supporting new fixtures.
As I’m writing the function that generates the standard effects for various kinds of fixtures, I am revisiting some design decisions and considering if it is a good time to make any improvements to what is included in “standard effects”.
Currently, the flame machine standard effects have multiple variations of the flame effects — short, medium, long, very long, one second — enabling the user to click on whatever duration the user wants without having to fiddle with entering a duration value. The durations aren’t editable, but if users want to change the duration, they can change the “type” field from “flame” to “sfx” (however I imagine many users don’t realize this is possible).
By contrast, light fixture effects and spark machine effects in the standard libraries have “type” = “sfx” and thus have editable durations. The reason for the difference is that with light fixtures, users commonly adjust durations of everything, in contrast with a flame machines, for which a few standard pre-defined durations is usually convenient.
Over time, users have asked, “How can I change the duration of flame effects?” I tell them the answer (change “type” to “sfx”) but the number of questions causes me to wonder if we would be better off treating standard flame effects the same way we treat light fixture and sparks machine effects — standard effects would include only a single duration flame effect, which would be editable, instead of multiple non-editable options.
Do you have any opinion about this change?
Crispy PyroJoined: Dec 2018 Posts: 6 Location: Redmond, Washington, United States
NewcomerI think this is interesting. In addition to standardizing the behavior (with a pattern that is familiar), I think the reduction in the number of effects to scroll through is a win (everything adds up). I wouldn’t expect the range of values to be wide (not sure my flame machines would run for 10 seconds 😀), but I can definitely see the benefit of being able to adjust end timing more precisely when trying to line up with the music. What default time are you thinking?
Crispy PyroJoined: Dec 2018 Posts: 6 Location: Redmond, Washington, United States
NewcomerI’ve been thinking more about this. Would you consider making this user-selectable instead of hard-coding it to the type? I built a custom DMX fixture (basically, an intermediary device that helps make a dumb DMX light “smarter”, we actually talked about it at CobraCon this year), and there are some scenarios where it doesn’t make sense to have the timing be adjustable. Having a default value for different types makes sense (and it probably still make sense to change Flames to be adjustable by default), but for building custom fixtures, purpose-built effect libraries, etc., it would be nice to be able to set this behavior per-effect.
Rich
WillJoined: Feb 2018 Posts: 61 Location: Palo Alto
NewcomerRich, if you are building custom fixture definitions you can use the type “flame” when you want the duration to be non-adjustable, and “sfx” when you want the duration to be adjustable. As it has worked out, each type corresponds to a useful package of characteristics, and the set of types covers all the useful packages. The names of the types like flame, sfx, light, etc., are representative examples of effects that usually have the associated package of characteristics, but you can actually use any type for any effect. As you probably already know, the types are defined here: https://finale3d.com/documentation/why-is-type-so-important-what-depends-on-it-type/
-
AuthorPosts
Please login to reply to this topic.