Hello,
As you know, Joe and I have been working on our Use Cases and Requirement document, detailing the specific requirements illustrated by each of our scenario.
One of the scenario we added a few months ago was that of an "online DJ set".
The current text of the scenario can be read at:
http://dvcs.w3.org/hg/audio/raw-file/tip/reqs/Overview.html#connected-dj-booth
One interesting aspect to the scenario is that it illustrates the need for audio to be sent to two different destinations (headphones + streaming). Even more interestingly, the application needs to switch a given context from one destination to another gradually and seamlessly.
I cannot quite figure out how that could be done with the current draft of the Web Audio API. Ideally, it would look like this: https://dvcs.w3.org/hg/audio/raw-file/tip/reqs/DJ.png but given the API's constraint on the number of destinations a context can have, that is not possible.
This might just work:
https://dvcs.w3.org/hg/audio/raw-file/tip/reqs/DJ2.png
if a given AudioContext is allowed to have two AudioDestinationNodes in its graph, but only one is connected as destination at any given time. This is a much lesser solution, because the DJ cannot continue listening to headphones as she fades the second track in, but it might just be doable.
Am I missing an obvious alternative which would make this scenario a possibility? Any thought on how else you'd do it? Note that I am not saying that the API *MUST* enable this scenario - but it is interesting food for thought.
Olivier