Re: WaveShaperNode.curve issues

On Tue, May 14, 2013 at 6:44 AM, Chris Rogers <crogers@google.com> wrote:

> On Sun, May 5, 2013 at 11:52 PM, Robert O'Callahan <robert@ocallahan.org>wrote:
>
>> 1) Scripts can modify the content of the array at any time and it's not
>> clear when those changes take effect.
>> 2) This is especially acute when script can actually replace the "curve"
>> array with a different JS array altogether (at any time).
>> 3) What if the array is empty?
>>
>
> We could either treat this as setting the curve to its default (linear)
> curve, or ignore, possibly throwing an exception.
>
>
>> 4) What if it contains infinities or NaNs?
>>
>
> Ideally I suppose we would not accept such ArrayBuffers.  They could
> either be ignored or an exception thrown.
>

If the array is "live", i.e. changes to the array after the attribute has
been set take effect, then we can't really throw an exception if a NaN is
stuffed into the array after the attribute has been set.

One option is simply to allow NaNs and infinites to be used. Actually I'm
not really sure what our strategy is for handling non-finite values in Web
Audio. Are we trying to avoid having non-finite values as the output of any
node? Or are we allowing them to propagate around and specifying how
non-finite values are handled at the final output stage?

Rob
-- 
q“qIqfq qyqoquq qlqoqvqeq qtqhqoqsqeq qwqhqoq qlqoqvqeq qyqoquq,q qwqhqaqtq
qcqrqeqdqiqtq qiqsq qtqhqaqtq qtqoq qyqoquq?q qEqvqeqnq qsqiqnqnqeqrqsq
qlqoqvqeq qtqhqoqsqeq qwqhqoq qlqoqvqeq qtqhqeqmq.q qAqnqdq qiqfq qyqoquq
qdqoq qgqoqoqdq qtqoq qtqhqoqsqeq qwqhqoq qaqrqeq qgqoqoqdq qtqoq qyqoquq,q
qwqhqaqtq qcqrqeqdqiqtq qiqsq qtqhqaqtq qtqoq qyqoquq?q qEqvqeqnq
qsqiqnqnqeqrqsq qdqoq qtqhqaqtq.q"

Received on Monday, 13 May 2013 22:49:28 UTC