CCC - A code pattern for Web Audio
The CCC-pattern for Web Audio
In software unit testing we have the AAA-pattern (Arrange, Act, Assert).
Now I want to introduce the CCC-pattern for Web Audio.
- Create
- Configure
- Connect
- Command
An example
const ctx = new AudioContext() // create const tone = ctx.createOscillator() const gain = ctx.createGain() // configure tone.frequency.value = 432 gain.gain.value = 1 // connect tone.connect(gain) .connect(ctx.destination) // command tone.start()
Also note the method chaining for connecting audio nodes. Supported in modern browsers.
What can be improved?
A functional approach can prevent leakage between the three phases.
See developers.mews.com/aaa-pattern-a-functional-approach.
Next up?
The Arrange-Act-Animate (AAA) pattern for animations.
