Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-10-19 | Replace partial application functions with SRFI-26 "cut" | Thomas White | |
2021-09-12 | Variable sensitivity for jogwheels | Thomas White | |
Use make-sensitivity-knob | |||
2021-09-11 | at: Clamp continuous attributes to range | Thomas White | |
2021-09-11 | state-source: Clamp continuous attributes to range | Thomas White | |
2021-09-11 | Run state update hook in 'clear-state!' | Thomas White | |
2021-09-11 | Re-assert MIDI control map on parameter change | Thomas White | |
This makes the MIDI controller stay in sync with the programmer state values. It's kind of a coarse solution, though. It would be better to: 1. Only re-assert the map if the changed parameter currently appears on the MIDI control surface 2. Only re-assert the part of the map related to the parameter Almost as a side-effect, this enables switching between multiple control maps. Just call 'set-midi-control-map!' on the controller with the new map. | |||
2021-08-08 | Add hook for state updates | Thomas White | |
This includes a "source", intended to be used for avoiding hook users from responding to their own changes. | |||
2021-08-08 | Make each MIDI controller into its own object | Thomas White | |
2021-07-03 | Add option to store cue list in a file, and reload it | Thomas White | |
2021-06-27 | Fixture display: Show selection | 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-29 | Split fixture library down to one file per fixture type | Thomas White | |
Perhaps different personalities could be combined for each fixture, but I don't think I'd go further than that. | |||
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 | Indicate when stop button can be pressed | Thomas White | |
2021-05-24 | Add hook for state changes on a playback | Thomas White | |
2021-05-22 | Handle LED via select-on-button | Thomas White | |
2021-05-22 | Indicate playback paused via LEDs | Thomas White | |
2021-05-22 | send-note-on/off: Handle #f argument | Thomas White | |
2021-05-22 | Add make-back-button | Thomas White | |
2021-05-22 | Add 'stop!' and 'back!' | Thomas White | |
2021-05-22 | Add clock expiration times | Thomas White | |
2021-05-22 | Add home-fixture!/blackout! | Thomas White | |
2021-05-22 | Add total-num-attrs | Thomas White | |
2021-05-20 | Add get-fixture-attrs | Thomas White | |
2021-05-16 | Restore effects using clocks | Thomas White | |
2021-05-16 | Special case for zero duration clocks | 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-15 | Add clock durations | Thomas White | |
2021-05-15 | Add clock module | Thomas White | |
This will be the basis for a simplification of how cue fade times are handled, making it possible to implement "stop" and "back" operations for playbacks. | |||
2021-05-13 | Export copy-state | Thomas White | |
2021-05-13 | Avoid mutation of state objects by "set-state-name!" | Thomas White | |
2021-05-12 | Trigger apply-fader when fader crosses its original value | Thomas White | |
This fixes a problem whereby lights couldn't be turned off via the fader | |||
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 | Make state objects' hash tables immutable with atomic updates | Thomas White | |
States often get updated while they're being scanned out. The obvious case is when manually setting values in the programmer-state, but the more pernicious one is when running a cue. This means that the updates have to be atomic. | |||
2021-05-10 | Start OLA scanout automatically | Thomas White | |
2021-05-10 | Split 'base' module up into 'fixture', 'state' and 'scanout' | Thomas White | |
2021-05-06 | Add GPL boilerplate everywhere | Thomas White | |
2021-05-06 | Remove state-rw | Thomas White | |
2021-05-06 | Slow down MIDI transmisisons | Thomas White | |
My control surface (A&H Xone:K2) seems to respond badly to being blasted with note on/off events to turn its LEDs on and off: some of the LEDs end up in the wrong state. The effect is reproducible using a small test program using the ALSA API from C, which excludes multi-threading problems in Starlet and buffer overruns in the ALSA device. The controller simply doesn't cope well with large numbers of events arriving in quick succession. Adding a very small delay seems to completely fix the problem without causing any noticable flicker. |