aboutsummaryrefslogtreecommitdiff
path: root/guile
AgeCommit message (Collapse)Author
2023-05-15Implement OSC encoders for list attributesosc-with-guileoscThomas White
2023-05-14Send selection via OSCThomas White
2023-05-11Programmer state should be LTPThomas White
2023-05-01Implement osc-state-faderThomas White
2023-04-30Implement osc-parameter-encoder (basic version)Thomas White
2023-04-30Move fixture-has-attr? to (starlet fixture) and export itThomas White
2023-04-29Add add-sel and toggle-selThomas White
2023-04-29Move selection stuff to a separate moduleThomas White
2023-04-25Add OSC utilitiesThomas White
2023-04-25Add selected? and deselThomas White
2023-04-13state-source: Quote symbol valuesThomas White
2023-04-13Fixture library: <robe-dl7s-mode1> Factor out gobo and gel listsThomas White
2023-04-11Fixture library: almost full Robe DL7S definitionThomas White
2023-04-11Add 'lookup' utilityThomas White
2023-04-11Add an optional comment field to the fixture's attributesThomas White
2023-04-11Add lots of default attribute namesThomas White
2023-04-11Get rid of 'categorize'Thomas White
Good riddance. Here's to proper argument handling.
2023-04-10Add attribute friendly namesThomas White
2023-04-09New transition effect syntaxThomas 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-02Move stuff to (taw controls)Thomas White
2023-04-02Fixture library: Robe DL7S: add missing modules and fix typoThomas White
2023-04-01Scanout: Retrieve the combined state only onceThomas White
2023-04-01'colour -> colourThomas White
2023-04-01Separate '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-01Send the combined state to OLAThomas White
2023-04-01Build a general combined stateThomas White
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