Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-05-15 | Implement OSC encoders for list attributesosc-with-guileosc | Thomas White | |
2023-04-30 | Move fixture-has-attr? to (starlet fixture) and export it | Thomas White | |
2023-04-11 | Add an optional comment field to the fixture's attributes | Thomas White | |
2022-11-12 | Introduce new type for attribute names | Thomas 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-06-09 | Move scanout-fixture from (starlet scanout) to (starlet fixture) | Thomas White | |
2022-05-06 | define-fixture: Eliminate need to provide names for get-attr etc | Thomas White | |
This needed some rearranging, but I think the resulting code is a little bit more efficient. | |||
2022-05-06 | Move useful functions to utils | Thomas White | |
2022-04-24 | Add fallback find-attr which gives a meaningful error message | Thomas White | |
2022-04-24 | Add define-fixture macro | Thomas White | |
2022-04-23 | Add scale-and-clamp-to-range | Thomas White | |
2021-05-20 | Add get-fixture-attrs | Thomas White | |
2021-05-10 | Split 'base' module up into 'fixture', 'state' and 'scanout' | Thomas White | |