aboutsummaryrefslogtreecommitdiff
path: root/guile/starlet/crossfade.scm
AgeCommit message (Collapse)Author
2023-04-09New transition effect syntaxThomas White
Instead of this: (cue 3 (lighting-state ...) (crossfade 3 5)) We now have this: (cue 3 (crossfade 3 5 (lighting-state ...))) This makes a simple snap blackout very succinct: (cue 6 (snap blackout))
2022-11-12Introduce new type for attribute namesThomas White
There's a serious problem with the design so far, where symbols are used for attribute names (intensity, strobe, colour etc), and also for attribute values (on, off, random etc). There's no way for 'at' to tell the difference between the two. For example, this form is ambiguous: (at myfixture 'strobe 'on) This commit introduces a new class, <starlet-attribute>, to replace the use of symbols here. The attributes are enumerated in (starlet attributes), and new ones can be added later. The attribute objects remember their 'canonical' names, to allow states to be printed. Apart from solving the ambiguity problem, this has two further advantages. First, attribute names no longer need to be quoted everywhere. Second, multiple names can be used to refer to the same attribute. For example: (define color colour).
2022-11-12crossfade: Set default attribute fade timeThomas White
Previously it was zero, which is almost never what we want. Now it's the smaller of the up and down times.
2022-06-06run-cue-index!: Add an implicit transitiom to 0/no-value for values in playbackThomas White
2022-03-19crossfade: Remove unused routinesThomas White
2022-03-19Set unused intensities to zero in transition effectsThomas White
This becomes important when running cues out of order.
2022-02-04crossfade: Accept single argument for flat fadesThomas White
e.g. (crossfade 3) for 3 seconds up, 3 seconds down
2022-01-25Implement crossfadeThomas White
2022-01-25Separate cue lists from playbacks and crossfadesThomas White