Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-04-09 | New transition effect syntax | Thomas 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)) | |||
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. | |||
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-07-09 | Playback: Factorise start-fixture-playback! and clock logic | Thomas White | |
2022-06-18 | Playback: avoid more trouble if current cue doesn't exist | Thomas White | |
2022-06-18 | Add num-cues | Thomas White | |
2022-06-11 | Fixture display: Clearer indication when a cue is running | Thomas White | |
2022-06-07 | Add fast recovery mechanism to playback | Thomas White | |
2022-06-06 | run-cue-index!: Add an implicit transitiom to 0/no-value for values in playback | Thomas White | |
2022-02-21 | Fix (write <starlet-playback> _) on last cue | Thomas White | |
2022-02-13 | Show only cue numbers (not indices) in playback | Thomas White | |
2022-02-08 | playback: Remove unused export | Thomas White | |
2022-02-05 | playback: Start new playbacks in cue zero | Thomas White | |
2022-01-30 | Remove states and transitions from cue (leave only cue parts) | Thomas White | |
2022-01-26 | Add a comment | Thomas White | |
2022-01-25 | Track time taken for cue transition | Thomas White | |
2022-01-25 | Restore update-state for playback | Thomas White | |
2022-01-25 | Define write method for playback | Thomas White | |
2022-01-25 | Overlay all of the part transitions before applying to playback | Thomas White | |
This prevents any individual cue part being visible on stage before the others. | |||
2022-01-25 | Initial working demonstration of 'snap' transition | Thomas White | |
2022-01-25 | cut!: Handle end of cue list | Thomas White | |
2022-01-25 | Separate cue lists from playbacks and crossfades | Thomas White | |
2021-11-02 | get-playback-cue-number: Return #f if current cue doesn't exist | Thomas White | |
2021-10-24 | Reset the cue clock when the cue is run | Thomas White | |
2021-10-24 | Move cue-clock into the cue itself | Thomas White | |
Effects in the cue state may need to reference the cue's clock. Otherwise, there's no way to synchronise any kind of effect to the time of running the cue. For this to be possible, the cue clock needs to exist at the time of cue creation. | |||
2021-10-24 | Formatting | Thomas White | |
2021-10-23 | Add 'reassert-current-cue!' | Thomas White | |
2021-10-19 | Replace partial application functions with SRFI-26 "cut" | Thomas White | |
2021-07-03 | Add option to store cue list in a file, and reload it | Thomas White | |
2021-05-28 | Add "cut!" (cut forwards) | Thomas White | |
2021-05-28 | Apply preset for running cue when the playback reverts to ready state | Thomas White | |
2021-05-27 | Set the preset state when cutting between cues | Thomas White | |
2021-05-27 | Calculate presets for all cues when cue list is created | Thomas White | |
2021-05-27 | Calculate tracking when cue list is created | Thomas White | |
2021-05-25 | Set default attribute fade time to zero | Thomas White | |
Rationale: get the lights in position for the current cue. If you want to see them move, set the time yourself. | |||
2021-05-24 | Factorise set-playback-state | Thomas White | |
2021-05-24 | Move preset from fade-times to cue properties | Thomas White | |
2021-05-24 | Add hook for state changes on a playback | Thomas White | |
2021-05-22 | Indicate playback paused via LEDs | Thomas White | |
2021-05-22 | Add 'stop!' and 'back!' | Thomas White | |
2021-05-22 | Add home-fixture!/blackout! | Thomas White | |
2021-05-16 | Remove newly redundant with-fade-times macro | Thomas White | |
2021-05-16 | Fix copy/paste error | 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-10 | Run cues as single atomic operations | Thomas White | |
This avoids a potential situation where one parameter of a fixture is reconfigured before another, which could (in theory) lead to flickering of lights. | |||
2021-05-10 | Split 'base' module up into 'fixture', 'state' and 'scanout' | Thomas White | |
2021-05-06 | Add GPL boilerplate everywhere | Thomas White | |
2021-04-08 | Neater abstraction for fade types | Thomas White | |
2021-04-07 | Fade colours nicely | Thomas White | |
2021-04-06 | Initial abstraction layer for colours | Thomas White | |