Music Construction Set, Explained in 64 Seconds
Channel: David Youd
Date: 2022-10-29

Links:
- Music Construction Set was originally created by Will Harvey (at age 15!) for the Apple II.  Here's some Mendelsohn arranged by Douglas Fulton (the guy that composed the C64 Skyfox music) preformed on an Apple II mockingboard: https://www.youtube.com/watch?v=y2t9MGop7kc
- The program manual explains the basics of music notation for the uninitiated: https://commodore.bombjack.org/commodore/sound/Music_Construction_Set_The_Manual.pdf

Bugs I encountered when putting this video together:
- BUG: Cutoff filter freq is 11 bits, but whoever programmed this C64 port was setting values as if it were 12 bits (like the pulse width).
- BUG: It's strange, but there are particular filter settings for each instrument type, as if the settings were not shared across all voices that are routed through the filter.  This is a conceptual design bug.  So when mixing filtered instrument types, you may not be getting the filter settings you want.  Also, when a common filtered instrument type is used in both staves, you can still have filter bugs, e.g., "oboe", "smoother oboe", and "slap" neglect to route V3 through the filter when playing 3-voice music. 
- BUG: To support multiple independent voices in the top stave, I used lots of ties.  For some reason, notes were being reasserted (not tied), so I just chose an instrument with attack and decay values that made it hard to detect the gate on events, and just removed all the ties.
- Not a bug? (since it's documented in the manual): Lower stave notes will play only if there's beats defined in the stave directly above them.

There's a few more keyboard commands I didn't cover:
H: move hand home
Q: move hand to menu's quarter rest
*: move hand to staves