Update PannerNode to support k-rate automation of its AudioParams.
Created attachment 407480 [details] Patch
Created attachment 407486 [details] Patch
Created attachment 407487 [details] Patch
Created attachment 407492 [details] Patch
Created attachment 407504 [details] Patch
Comment on attachment 407504 [details] Patch Trying to see if I can simplify the patch a bit by leaving the caching out.
Created attachment 407515 [details] Patch
Created attachment 407516 [details] Patch
(In reply to Chris Dumez from comment #8) > Created attachment 407516 [details] > Patch Ok, got the patch as small as I could.
Comment on attachment 407516 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=407516&action=review > Source/WebCore/Modules/webaudio/AudioParam.cpp:277 > + for (unsigned i = 0; i < numberOfValues; ++i) I suggest starting with 1 so we don’t do values[0] = values[0]. > Source/WebCore/Modules/webaudio/PannerNode.cpp:501 > + double azimuth = rad2deg(acos(std::clamp(projectedSource.dot(listenerRight), -1.0f, 1.0f))); std::rad2deg, std::acos
(In reply to Darin Adler from comment #10) > Comment on attachment 407516 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=407516&action=review > > > Source/WebCore/Modules/webaudio/AudioParam.cpp:277 > > + for (unsigned i = 0; i < numberOfValues; ++i) > > I suggest starting with 1 so we don’t do values[0] = values[0]. > > > Source/WebCore/Modules/webaudio/PannerNode.cpp:501 > > + double azimuth = rad2deg(acos(std::clamp(projectedSource.dot(listenerRight), -1.0f, 1.0f))); > > std::rad2deg, std::acos rad2deg is from MathExtras.h. Will fix acos.
Created attachment 407520 [details] Patch
Committed r266319: <https://trac.webkit.org/changeset/266319> All reviewed patches have been landed. Closing bug and clearing flags on attachment 407520 [details].
<rdar://problem/67975302>