aboutsummaryrefslogtreecommitdiff
path: root/guile
AgeCommit message (Collapse)Author
2022-11-13Some symbol-><starlet-attribute> conversions I missedThomas White
2022-11-12Add write method for <starlet-state>Thomas White
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-10-30Fixture library: <stairville-z120m-6ch> Add random strobe modeThomas White
2022-10-30Add flash-chaseThomas White
2022-10-30MIDI control: Set go button LED on startupThomas White
Previously, the LED would not be lit until the first playback event (go/back etc) after startup.
2022-10-30Add find-midi-deviceThomas White
2022-10-27Improve cue list errorsThomas White
2022-08-13cue-list: Ignore unspecified valuesThomas White
This allows the following kind of thing: (cue-list (cue 1 ...) (when something (cue 2 ...)) (cue 3 ...))
2022-07-17Improve the syntax of "set-midi-control-map!"Thomas White
This replaces the mess of "list" forms: (set-midi-control-map! controller (list (list 'intensity 'fader 16 '(108 72)) ...)) With something a bit clearer: (set-midi-control-map! controller (fader 16 'intensity #:congruent 108 #:incongruent 72) ...) There's a corresponding improvement in the internal code.
2022-07-10Add "remove-selection-from-programmer!"Thomas White
2022-07-10Add 'ps' as a synonym for programmer-stateThomas White
2022-07-10Add "remove-fixture[s]-from-state!"Thomas White
2022-07-10Don't send fix/attr/val to state update hookThomas White
It's not used anywhere, and it doesn't work - there are many other kinds of update apart from setting an individual value.
2022-07-10Add "state-empty?"Thomas White
2022-07-09Error if someone tries to set an attribute that doesn't existThomas White
2022-07-09Playback: Factorise start-fixture-playback! and clock logicThomas White
2022-06-28Fixture library: update remaining fixture definitions to new layoutThomas White
2022-06-26Implement missing strobe channels (including in documentation)Thomas White
2022-06-26Fixture library: update older definitions to new systemThomas White
2022-06-26Fixture library: rename <tadm-led-foh> to <stairville-z120m-6ch>Thomas White
2022-06-26cue-proc: Allow a cue made up only of cue partsThomas White
2022-06-18Playback: avoid more trouble if current cue doesn't existThomas White
2022-06-18Add num-cuesThomas White
2022-06-11Fixture display: Clearer indication when a cue is runningThomas White
2022-06-11MIDI control: pull entire colour into programmer stateThomas White
This prevents the other colour channels from getting messed up, when an individual channel is changed via the controller.
2022-06-11Add (comment ...)Thomas White
2022-06-11Rename make-colour-rgb to rgb, similar for cmyThomas White
2022-06-09Move scanout-fixture from (starlet scanout) to (starlet fixture)Thomas White
2022-06-09Add 'blackout'Thomas White
2022-06-09Fixture library: update TadM LED definitions to new define-fixture syntaxThomas White
2022-06-07Add fast recovery mechanism to playbackThomas White
2022-06-06run-cue-index!: Add an implicit transitiom to 0/no-value for values in playbackThomas White
2022-06-06Rename state-map to state-map->list, add a real state-mapThomas White
2022-06-02Debounce "go" button on MIDI controllerThomas White
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-05-06FormattingThomas White
2022-04-24New definition for flatten-sublistsThomas White
This fixes a crash with e.g. (sel (list (list fix1 fix2) fix3))
2022-04-24Add fallback find-attr which gives a meaningful error messageThomas White
2022-04-24Convert some fixtures to use define-fixtureThomas White
Also fixes an obvious bug in <adj-mega-tripar-profile-4ch>
2022-04-24Add define-fixture macroThomas White
2022-04-23Add (taw controls)Thomas White
2022-04-23Fixture library: Add Stairville Octagon Theater CW/WWThomas White
2022-04-23Add scale-and-clamp-to-rangeThomas White
2022-04-23Fixture library: Add ADJ Mega Tripar ProfileThomas 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-21Fix (write <starlet-playback> _) on last cueThomas White