-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO.html
47 lines (38 loc) · 1.7 KB
/
TODO.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<pre>
MIDI
- [ ] save events to .mid file
- [ ] load events from .mid file
Events
- [ ] we need a way to capture pitch and mod wheel events!
Transport controls:
- [ ] add a way to place the scrubber (top transport bar?)
- [ ] make play "play from scrubber" instead of from 0:0:0
- [x] relabel "stop" as "pause" since it leaves the scrubber where it is.
- [x] create real "stop" button that halts play and sets scrubber to 0:0:0
Fix oscillator count:
- [ ] legato vs. polyphonic toggle, using `setTargetAtTime`?
Make time signature user-manipulable
- [x] add to settings
- [x] add HTML controls
- [ ] update piano roll to use settings
- add listeners for html controls
- [ ] update timing wheel? (even though it's not used atm)
- [ ] update piano roll
Pianoroll nice to haves
- [ ] add a "quantize" option
- [ ] add a "grid resolution" picker and "snap to grid" checkbox
- [x] when click-placing notes, align to current quarter
- [ ] add note groups
- [ ] add "control-click-drag" for selecting a bunch of notes, grouping, and then performing group-based repositioning.
- [ ] always use note groups for repositioning, even when moving individual keys?
- [ ] if so, only play notes when moving groups-of-one
Timing:
- [ ] let users indicate which sub-quarter tick to listen to
- [x] icon for whether to play a metronome tick or not.
--------
- [x] update pianoroll measure/scrubber to be a background image with CSS sizing/repeat, and position notes absolutely.
- [x] make pianoroll a CSS grid
- [x] don't preallocate all MIDI key oscillators
- [x] create them on the fly, and reuse them with `osc.frequency.value.setValueAtTime`
- [x] decommission timing wheel (T_T) in favour of mmm:qq:ffff timing information
</pre>