aboutsummaryrefslogtreecommitdiff
path: root/guile/starlet/midi-control/base.scm
AgeCommit message (Collapse)Author
2021-08-08Make each MIDI controller into its own objectThomas White
2021-05-22send-note-on/off: Handle #f argumentThomas White
2021-05-06Add GPL boilerplate everywhereThomas White
2021-05-06Slow down MIDI transmisisonsThomas 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.
2021-03-08enqueue-midi-bytes: Actually enqueue, rather than waiting for empty queueThomas White
This avoids a deadlock if the midi readout isn't happening for some reason.
2021-03-02Refuse to start MIDI control twiceThomas White
2021-02-25Gracefully handle unavailable MIDI control deviceThomas White
2021-02-21Make MIDI callbacks (optionally) uniqueThomas White
2021-01-02Print backtraces for MIDI receive threadThomas White
2021-01-02Turn off all MIDI notes at startupThomas White
2021-01-02Implement at-midi-faderThomas White
get-cc-value now returns #f if the position of the fader is unknown. Some other changes were needed to accommodate that.
2020-12-31Select fixture and change parameters via MIDIThomas White
2020-12-30Generalise MIDI callbacks to CCs as well as notesThomas White
2020-12-29Simplify MIDI control interfaceThomas White
This removes the midi-led and midi-control classes, which only seemed to be making things more complicated.
2020-12-23Move 'guile-midi' into Starlet namespaceThomas White