gallium
gallium copied to clipboard
Web-based environment for livecoding MIDI
Galllium has consistent (slower) timing when backgrounded, but when in the foreground it seems like some notes are skipped. Chrome: Version 67.0.3396.87 (Official Build) (64-bit) Windows: Version 1803
When the tab is inactive, Gallium become unusable since `setInterval` timing guarantees get throttled. MDN documents a few ways to get around default browser throttling: https://developer.mozilla.org/en-US/docs/Web/API/Page_Visibility_API
TODO: - [ ] synchronize timestamps, bpm - [ ] use redux instead of react hooks for triggering transmissions - [ ] have relay start immediately with a `yarn start`...
My theory is that noteOff events are occur after noteOn events We are already subtracting an offset to ensure that noteOff happens before the next beat's noteOn, which was sufficient...
The issue right now is that operators like `add` are hard coded to add to the midi note. ``` add 0 7 12 13 ``` We might want some concise...
Maybe some like `vel` ``` vel 0 24 60 127 ``` (thanks jan-willem)
Lines should be commentable with `#`. i.e. This should be bound to a keybinding, maybe ctrl-/
``` note 60 hold ``` will then not fire note-off events. Maybe we also want a `unhold` or `release` to revert.
e.g. ``` bend 0 20 ``` https://www.midikits.net/midi_analyser/pitch_bend.htm