aboutsummaryrefslogtreecommitdiff
path: root/guile/starlet/fixture-library/generic/dimmer.scm
AgeCommit message (Collapse)Author
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-05-06define-fixture: Eliminate need to provide names for get-attr etcThomas White
This needed some rearranging, but I think the resulting code is a little bit more efficient.
2022-05-06Move useful functions to utilsThomas White
2022-04-24Convert some fixtures to use define-fixtureThomas White
Also fixes an obvious bug in <adj-mega-tripar-profile-4ch>
2021-05-29Split fixture library down to one file per fixture typeThomas White
Perhaps different personalities could be combined for each fixture, but I don't think I'd go further than that.