Align existing AudioParam API with the specification: - https://www.w3.org/TR/webaudio/#AudioParam
Created attachment 406234 [details] WIP Patch
Created attachment 406238 [details] WIP Patch
Created attachment 406241 [details] WIP Patch
Created attachment 406242 [details] Patch
Comment on attachment 406242 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=406242&action=review > Source/WebCore/ChangeLog:19 > + - Throw exceptions when events overlap. This part is based on Chromium's implementation here: > + - https://github.com/chromium/chromium/blob/master/third_party/blink/renderer/modules/webaudio/audio_param_timeline.cc#L513 Is this not spec'd? If not, is there bug filed on the spec to add it? > Source/WebCore/Modules/webaudio/AudioParamTimeline.h:90 > + double time() const { return m_time; } It may not make sense or make bindings more troublesome, but can we use something like WallTime/MonotonicTime for these time values?
Comment on attachment 406242 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=406242&action=review >> Source/WebCore/ChangeLog:19 >> + - https://github.com/chromium/chromium/blob/master/third_party/blink/renderer/modules/webaudio/audio_param_timeline.cc#L513 > > Is this not spec'd? If not, is there bug filed on the spec to add it? Yes, it is specified here: https://webaudio.github.io/web-audio-api/#dfn-automation-event """ If setValueCurveAtTime() is called for time π T and duration π· D and there are any events having a time strictly greater than π T , but strictly less than π+π· T + D , then a NotSupportedError exception MUST be thrown. In other words, itβs not ok to schedule a value curve during a time period containing other events, but itβs ok to schedule a value curve exactly at the time of another event. Similarly a NotSupportedError exception MUST be thrown if any automation method is called at a time which is contained in [π,π+π·) [ T , T + D ) , π T being the time of the curve and π· D its duration. """
Created attachment 406312 [details] Patch
Created attachment 406314 [details] Patch
Committed r265440: <https://trac.webkit.org/changeset/265440> All reviewed patches have been landed. Closing bug and clearing flags on attachment 406314 [details].
<rdar://problem/66793862>