lichen-community-systems / Flocking

Flocking - Creative audio synthesis for the Web
GNU General Public License v2.0
692 stars 60 forks source link

Refactor Flocking to remove technical debt and improve support for AudioWorklets #310

Open colinbdclark opened 1 year ago

colinbdclark commented 1 year ago

Flocking has for been largely stagnant for a long time and my attention has been focused on Signaletic, which I hope will form the long-term basis for future Flocking-like work across multiple platforms, including the Web and Eurorack/embedded hardware.

However, Flocking still contains tons of useful and interesting work, which I (and maybe others?) would like to have access to in a more focused AudioWorklet-compatible environment. There's enough technical debt and dead design branches that we should simple prune a lot of it off and just focus on the core identity of Flocking: its unit generators, declarative format for expressing signal graphs, and support for visual renderings of signal graphs.

My intent with this refactoring will be to remove anything that isn't directly supportive of running Flocking within an AudioWorklet and idiomatically interfacing it with the rest of the Web Audio API. The following things will be removed:

Moving forward, the focus will be on:

colinbdclark commented 1 year ago

This work will likely also include addressing the following older Flocking issues: