-
https://stackoverflow.com/questions/11832914/how-to-round-to-at-most-2-decimal-places-if-necessary
-
Two wavetable version changes on reset
-
Multiple invocations of AudioNode constructor - (?) Destroy on power off - (?) Make singleton
-
Power-on/power-off is resetting the plugs - [ ] Reinitialise OSC and LFO and redraw
-
Page transitions
-
Only redraw visible page
-
https://stackoverflow.com/questions/32723167/how-to-programmatically-skip-a-test-in-mocha
-
Set LFO plug drop target area to whole plug
-
Firefox fonts
-
Brighten LFO buttons
-
Velocity sensitive knobs
-
Envelope scrubbers are pernickety - use horizontal only
-
Use object.onload to cache radii
-
alt-click to use initial value
-
AA - [ ] alt-click: 24dB - [ ] include in settings
-
Restore settings - [ ] Make sure DD/wavetable also get initialised - [ ] LFOs start erratically - [ ] Optimise the controlsets restore - accumulate/set-all/clone-and-set ?
-
Restructure sn to generate an array of values - [ ] Optimize wavetable genfn for array - [ ] Use slice/shallow copy to map SAB to wavetable - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice - [ ] Reoptimise genfn - [ ] Commonalise parameters SAB - [ ] Commonalise DDS and wavetable
-
Load/overrun - [ ] Sort by level/onset and drop quiet/old notes - [ ] 'policy' settings - [ ] FN1: Use sine wave - [ ] Convert to Float32 throughout - [ ] Convert to TypedArrays throughout - [ ] Optimize envelope - [ ] Use frames rather than (potentially) erratic currentTime - [ ] Replace map/reduce with for loop - [ ] Update pre-allocated/static FloatArray
-
eventbus: publish in Promise
-
Rework eventbus using signals a la Motion Canvas
-
Initialise controlsets from HTML
-
Bar graph of note count and max note count
-
Format MIDI export data all nicely
-
Loop - [ ] Thinner icon lines
-
Play - [ ] Ramp volume up/down on pause/play/stop
-
Power off/on - [ ] Ramp volume up/down on power on/off - (?) alt-power-on to reset everything
-
Keyboard web component
-
Better MIDI file parser
- autoplay warning
- Google Chrome Labs WebAudio samples
- MDN: simple synth
- soft clipping
- https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API/Advanced_techniques
- https://web.dev/audio-scheduling/
- https://cprimozic.net/blog/buliding-a-wavetable-synthesizer-with-rust-wasm-and-webaudio/
- https://developer.chrome.com/blog/audio-worklet-design-pattern/
- https://github.com/superpoweredSDK/web-audio-javascript-webassembly-SDK-interactive-audio
- https://accessiblepalette.com
- https://neumorphism.io/#e0e0e0
- https://webdesignledger.com/30-examples-of-neumorphism-design/
- https://www.betterneumorphism.com/
- https://css-tricks.com/neumorphism-and-css/
- https://css-tricks.com/snippets/css/animated-grainy-texture/
- https://www.toptal.com/designers/subtlepatterns/paper-1/
- https://br.pinterest.com/pin/824510644280132365/