First of all - very cool and novel product! I’ve learned so much already. I’m a javascript/typescript engineer by trade and I can appreciate how hard this would be to put together.
Bugs:
-
Typing forward slash while entering the project save name turns metronome on. Probably need to disable higher level listeners while that input field is in focus.
-
The list of saved files doesn’t refresh unless I refresh the page in the browser - for a second, I thought I’d lost my saves.
-
Various webaudio buffering bugs when you jump between sections - I bet that’s not easy to fix. Need to have a robust way to do hard resets. There’s probably some prior art that could be instructive.
Some minor nice to have features:
-
The ability to insert a new note. Currently I have to delete the previous then recreate. Would be good to give note editing a more ergonomic UX treatment. Could probably copy the UX idioms from piano rolls in DAWs like ableton, they would have optimized it to the nth degree I’d imagine.
-
Custom waveforms / instruments / patterns etc (I appreciate this is a theory tool and not a full music making tool, but it could be cool to help imagine things when you’re in the flow of writing)
-
Be able to set midi channel mappings before export (maybe that exists and I missed it).
Killer feature I’d suggest
-
Have tighter integration between hookpad and the hooktheory book. So you can just go through the book and load up examples directly in hookpad. It looks like the book embeds subsets of the hookpad code so this should be feasible in theory - depends how you’ve set it up. A message based control scheme might simplify this.
-
Package this whole thing up as a VST for popular DAWs. Would be a game changer for workflow.
Pipe dream features:
- This as a hardware sequencer with midi and cv out!
I could perhaps help with the speccing and programming of some of these.