Explicit "I know what I'm doing" wrapper around a raw AudioNode the user
built outside of Cacophony's factories. Bus.addFilter rejects raw
AudioNodes by default to surface the shared-state implication; wrapping
the node in a ShareEffect (via cacophony.shareEffect(node)) is the
documented opt-in. The same node instance is returned from every build
call, so all buses using the effect feed the same Web Audio node.
Explicit "I know what I'm doing" wrapper around a raw AudioNode the user built outside of Cacophony's factories.
Bus.addFilterrejects raw AudioNodes by default to surface the shared-state implication; wrapping the node in aShareEffect(viacacophony.shareEffect(node)) is the documented opt-in. The same node instance is returned from everybuildcall, so all buses using the effect feed the same Web Audio node.