djphazer / O_C-Phazerville

The kitchen sink of O_C firmware - do all the things!
http://firmware.phazerville.com/
243 stars 37 forks source link

Add audio applets and template-based applet defs #89

Open qiemem opened 4 months ago

qiemem commented 4 months ago

This adds audio applets as a concept. They are only integrated into Hemispheres as normal applets ATM, but should be ready for repackaging into quadrants (or manifold? polyspheres?). This also replaces the old macro based applet declaration with a template based one, with an eye towards eventually allowing dynamic applets (though that's going to involve further refactoring).

The example applets are barely functional, just there to give a sense of how to use these things. They are memory hungry however... hopefully dynamic applets will help alleviate some of that pain in future (even if audio applets themselves can't be dynamic). We might also have to look at something like audio buffer pools or something that applets can share.

Anyway, this PR makes functionality worse, but hopefully is a good enough stepping stone to for longer term awesomeness. All existing DSP stuff has been commented out; I have not ported it to applets, but could if needed.