lichen-community-systems / Flocking

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

Create a "manual" environment that is not connected to an audio backend #268

Open colinbdclark opened 5 years ago

colinbdclark commented 5 years ago

Currently, there's one working combination of flock.enviro and flock.audioSystem, the latter of which is coupled to the Web Audio API.

In order to support easier use of Flocking as a modulation source in contexts like Aconite, there should be a Flocking environment that is intended to be manually driven, and which does not output to any audio backend.

For example, in Aconite, the frame rate clock will drive this new type of environment (by binding its generate invoker to the clock's onTick event), and separately, values can be relayed from any arbitrary flock.synth.model to the uniforms of an Aconite shader—without needing to manually bind each model synth to the clock separately.