- From: Olivier Thereaux <notifications@github.com>
- Date: Wed, 11 Sep 2013 07:29:52 -0700
- To: WebAudio/web-audio-api <web-audio-api@noreply.github.com>
- Message-ID: <WebAudio/web-audio-api/issues/134/24244457@github.com>
> [Original comment](https://www.w3.org/Bugs/Public/show_bug.cgi?id=17388#7) by Jussi Kalliokoski on W3C Bugzilla. Mon, 03 Dec 2012 18:03:20 GMT (In reply to [comment #7](#issuecomment-24244449)) > I have an alternate proposal. > > We probably don't really need the ability to directly instantiate a > standalone AudioParam, we just need to allow a ScriptProcessorNode to own > them, hence we could ask for them in the ScriptProcessorNode factory call: > > partial interface AudioContext { > ScriptProcessorNode createScriptProcessor(unsigned long bufferSize, > optional unsigned long numberOfInputChannels = 2, > optional unsigned long numberOfOutputChannels = 2, > optional unsigned long numberOfAudioParams = 0 // new > ); > } > > As far as I can see the AudioParam minValue, maxValue and units fields are > all informational, so I've ignored them. > > The ScriptProcessorNode does of course need to be expose these AudioParams > so they can receive connections: > > partial interface ScriptProcessorNode { > readonly attribute AudioParam param[]; > }; > > IMHO there's no need for direct name support - the developer can add a > read-only named attribute that references the appropriate index into the > param[] array if it's needed. I like the idea of having anonymous AudioParams, it does indeed simplify things. > Rather than the "getParamValues()" value suggested above, I believe it > should be possible to pre-calculate the animation curves and pass their > values directly as part of the AudioProcessingEvent interface just as > inputBuffer data is now: > > partial interface AudioProcessingEvent { > readonly attribute AudioBuffer paramBuffer[]; > }; > > I believe the advantage of this approach is that it would simplify usage > with WebWorkers - all of the required data is passed in one go. I'm not sure what you're after with this part. Your suggestion has no way of differentiating between k-rate and a-rate parameter inputs, which has implications on performance. I think that we should just change the previous proposal a bit to accommodate: partial interface AudioProcessingEvent { void getParamValues(uint index, Float32Array values); float getParamValue(uint index); } --- Reply to this email directly or view it on GitHub: https://github.com/WebAudio/web-audio-api/issues/134#issuecomment-24244457
Received on Wednesday, 11 September 2013 14:35:45 UTC