tidalcycles / strudel

Web-based environment for live coding algorithmic patterns, incorporating a faithful port of TidalCycles to JavaScript
https://strudel.cc/
GNU Affero General Public License v3.0
586 stars 105 forks source link

decentralize controls #964

Open felixroos opened 4 months ago

felixroos commented 4 months ago

follow up for https://github.com/tidalcycles/strudel/pull/962

currently, controls for all packages are in controls.mjs. it might make sense to register the controls in the package that actually uses it. This would mean there would be less clutter in the global scope + less bytes in the core package. There are alot of superdirt params that don't do anything in superdough, which could only be loaded when the osc package is used (or maybe a separate superdirt package?). One open question is how to handle controls that are used by multiple packages, like note or s or all the overlap between superdirt and superdough. Either keep very common controls in the central place or just define them multiple times..