aboutsummaryrefslogtreecommitdiff
path: root/guile/starlet/base.scm
AgeCommit message (Collapse)Author
2021-05-10Split 'base' module up into 'fixture', 'state' and 'scanout'Thomas White
2021-05-06Add GPL boilerplate everywhereThomas White
2021-05-03Don't hammer OLA with unnecessary updatesThomas White
As well as reducing CPU load, this vastly reduces the number of problems caused by data frames being accidentally interleaved with RDM.
2021-05-02Use wrapper for OLA's C++ API instead of the web APIThomas White
2021-04-18Extend attribute-handling functions to handle colour component IDsThomas White
The following routines become generic functions with special cases for when a specific colour channel is being referred to: - set-in-state! - find-attr - get-attr-home-val - state-find - current-value
2021-04-07Coerce values in programmer to real valuesThomas White
2021-04-06Initial abstraction layer for coloursThomas White
2021-04-04Add the ability to make certain states uniqueThomas White
This allows easy re-assignment of faders with state-on-fader
2021-04-04Handle intensities returning no value in HTP mergeThomas White
2021-04-03Fix sel/at (again)Thomas White
2021-04-02Give programmer values absolute priorityThomas White
2021-04-02Replace merging of states with search through list of statesThomas White
This is LOADS faster.
2021-03-31current-value: Make REALLY sure that no-value does not leak throughThomas White
2021-03-31add-state-to-state: Make sure that no-value does not leak throughThomas White
2021-03-31at: Handle unspecified fixture when nothing is selectedThomas White
2021-03-31Factorise ensure-numberThomas White
2021-03-31Get rid of have-valueThomas White
It seems clearer just to check explicitly.
2021-03-31Remove combined state from scanout loopThomas White
This gives only one remaining place where the state stack is combined. Soon, it will be made faster.
2021-03-31Remove unnecessary exportsThomas White
2021-03-31Get rid of set-state-hash-tableThomas White
2021-03-31Replace playback implementationThomas White
The old version was getting too complex. As it turns out, it can be done without duplicating information in the fade-record structure. This way also allows much more flexiblity and is a more clear abstraction.
2021-03-28Get rid of attr-booleanThomas White
A list attribute works fine.
2021-03-28WIP on playbacksThomas White
2021-03-28Add some error checkingThomas White
2021-03-08Add register-state! back to list of exportsThomas White
It's needed in (starlet playback), of course.
2021-03-08Remove home state and abolish fixture-attribute use in statesThomas White
The "home state" has no reason to exist. The home values are already stored perfectly well in the attribute lists of the fixtures. Any time we need to look up a home value, we already have the fixture itself available. This also gets rid of any use of <fixture-attribute> in states. This was confusing me. Better to just pass symbols around and only get the real attribute objects when needed (which isn't very often).
2021-03-07Make playback register themselvesThomas White
2021-03-07state-source: Prefix with lighting-state instead of beginThomas White
2021-03-02Make home state immutable, and put it in an atomic box with the fixture listThomas White
Rationale: we expect fixtures to be patched while scanout is running. The fixture list and the home state must stay in sync, otherwise a fixture might try to scan out with an undefined parameter value. This resulted in random crashes when patching new fixtures.
2021-03-01Refuse to run two OLA output threads at onceThomas White
2021-02-21Re-implement print-state as (pretty-print (state-source ..))Thomas White
2021-02-21Add show-stateThomas White
2021-02-20Add state-sourceThomas White
2021-01-31Divide up exports of (starlet base)Thomas White
2021-01-31Initial part of writing out statesThomas White
2021-01-31Make fixtures remember their (canonical) namesThomas White
2021-01-31Require fixture attribute nameThomas White
2021-01-30Add print-stateThomas White
2021-01-30Move useful stuff to utilsThomas White
2021-01-30flatten-sublists: Preserve orderThomas White
2021-01-30at: Handle groups, selection etcThomas White
2021-01-26Move "sel" to base, and add a callbackThomas White
2021-01-19Implement selection of multiple fixtures at onceThomas White
2021-01-15Remove selection-stateThomas White
There's no reason for this to exist. Just change things directly in programmer-state.
2021-01-11Factorise get-fixture-{universe,addr}Thomas White
2021-01-11More consistent behaviour between 8-bit and 16-bit settersThomas White
2021-01-10Avoid setting DMX values to #fThomas White
2021-01-10Use programmer-state for command-line interactionsThomas White
2021-01-09Cap values at maximumThomas White
2021-01-09Better rounding in set-chan-16bitThomas White