LFO retriggering working

Captain's Log: Stardate 77702.4

Today I got LFO retriggering fully working. It turned out that the refactor to generalize the MIDI note routing was simpler than I expected, so this went really quickly. And because I had designed the new MIDI note picking GUI element as a reusable component, it was just a matter of dropping that into the right place for LFOs and wiring everything up. The GPU simulation part was quite simple, since it's just setting the phase to a given value when the note is pressed.

Again, unit tests paid huge dividends today. I totally forgot about an edge case where an LFO is deleted, which left the MIDI route to that LFO as a dangling reference, but tests found that immediately and I fixed it. I also discovered a long-standing bug where if you unroute a MIDI note to an exciter while it's currently ON, it will be stuck that way. The simple solution is obviously to turn off notes when you unroute them, but that was really easy to miss because it's such an edge case.

All that's left to do for LFO retriggering is to create the golden tests. After that, I think I'll implement modulation envelopes, because with the new MIDI note routing infrastructure, it should be an extremely simple task. After that, I'm not sure, I might work on the evelope follower. Or I might fix up the MIDI CC routing infrastructure, which is a super bad hard-coded hack at the moment.


© 2024 Anukari LLC, All Rights Reserved
Contact Us|Legal