Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-04-01 | Scanout: Retrieve the combined state only once | Thomas White | |
2023-04-01 | Separate 'engine' and 'scanout' | Thomas White | |
The new module "engine" contains everything to do with working out the final attribute values. This module should be referenced for anything that needs to register states, get values etc. Now, "scanout" is only about converting attribute values to DMX values and sending them to OLA. This module only needs to be referenced by fixture definitions, and once by the top level program. | |||
2023-04-01 | Send the combined state to OLA | Thomas White | |
2023-04-01 | Build a general combined state | 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-05-06 | Formatting | Thomas White | |
2021-06-26 | Remove tnow parameter from current-value | Thomas White | |
2021-06-19 | Add patched-fixture-names | Thomas White | |
2021-06-03 | Add patch-many | Thomas White | |
This time it works. | |||
2021-05-24 | Add hook for state changes on a playback | Thomas White | |
2021-05-22 | Add total-num-attrs | Thomas White | |
2021-05-16 | Get rid of time parameter and use clock objects for cross-fades | Thomas White | |
Because we can stop a clock object, but not "gettimeofday". | |||
2021-05-13 | Avoid mutation of state objects by "set-state-name!" | Thomas White | |
2021-05-10 | Start OLA scanout automatically | Thomas White | |
2021-05-10 | Split 'base' module up into 'fixture', 'state' and 'scanout' | Thomas White | |