Changeset 91281 in webkit
- Timestamp:
- Jul 19, 2011 11:59:35 AM (13 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 8 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r91277 r91281 1 2011-07-19 Chris Rogers <crogers@google.com> 2 3 Implement WaveShaperNode for Web Audio API 4 https://bugs.webkit.org/show_bug.cgi?id=64644 5 6 Reviewed by Kenneth Russell. 7 8 No new tests since audio API is not yet implemented. 9 10 * DerivedSources.make: 11 * WebCore.gypi: 12 * WebCore.xcodeproj/project.pbxproj: 13 * bindings/js/JSWaveShaperNodeCustom.cpp: Added. 14 (WebCore::JSWaveShaperNode::setCurve): 15 * webaudio/AudioContext.cpp: 16 (WebCore::AudioContext::createWaveShaper): 17 * webaudio/AudioContext.h: 18 * webaudio/AudioContext.idl: 19 * webaudio/AudioNode.h: 20 * webaudio/WaveShaperDSPKernel.cpp: Added. 21 (WebCore::WaveShaperDSPKernel::process): 22 * webaudio/WaveShaperDSPKernel.h: Added. 23 (WebCore::WaveShaperDSPKernel::WaveShaperDSPKernel): 24 (WebCore::WaveShaperDSPKernel::reset): 25 (WebCore::WaveShaperDSPKernel::waveShaperProcessor): 26 * webaudio/WaveShaperNode.cpp: Added. 27 (WebCore::WaveShaperNode::WaveShaperNode): 28 (WebCore::WaveShaperNode::setCurve): 29 (WebCore::WaveShaperNode::curve): 30 * webaudio/WaveShaperNode.h: Added. 31 (WebCore::WaveShaperNode::create): 32 (WebCore::WaveShaperNode::waveShaperProcessor): 33 * webaudio/WaveShaperNode.idl: Added. 34 * webaudio/WaveShaperProcessor.cpp: Added. 35 (WebCore::WaveShaperProcessor::WaveShaperProcessor): 36 (WebCore::WaveShaperProcessor::~WaveShaperProcessor): 37 (WebCore::WaveShaperProcessor::createKernel): 38 (WebCore::WaveShaperProcessor::setCurve): 39 (WebCore::WaveShaperProcessor::process): 40 * webaudio/WaveShaperProcessor.h: Added. 41 (WebCore::WaveShaperProcessor::curve): 42 1 43 2011-07-19 Robert Hogan <robert@webkit.org> 2 44 -
trunk/Source/WebCore/DerivedSources.make
r89567 r91281 79 79 OfflineAudioCompletionEvent \ 80 80 RealtimeAnalyserNode \ 81 WaveShaperNode \ 81 82 BarInfo \ 82 83 BeforeLoadEvent \ -
trunk/Source/WebCore/WebCore.gypi
r91250 r91281 1449 1449 'webaudio/OfflineAudioCompletionEvent.idl', 1450 1450 'webaudio/RealtimeAnalyserNode.idl', 1451 'webaudio/WaveShaperNode.idl', 1451 1452 'websockets/CloseEvent.idl', 1452 1453 'websockets/WebSocket.idl', … … 6057 6058 'webaudio/RealtimeAnalyserNode.cpp', 6058 6059 'webaudio/RealtimeAnalyserNode.h', 6060 'webaudio/WaveShaperDSPKernel.cpp', 6061 'webaudio/WaveShaperDSPKernel.h', 6062 'webaudio/WaveShaperNode.cpp', 6063 'webaudio/WaveShaperNode.h', 6064 'webaudio/WaveShaperProcessor.cpp', 6065 'webaudio/WaveShaperProcessor.h', 6059 6066 'websockets/CloseEvent.h', 6060 6067 'websockets/ThreadableWebSocketChannel.cpp', -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r91250 r91281 5861 5861 FD7868B9136B999200D403DF /* JSDynamicsCompressorNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD7868B7136B999200D403DF /* JSDynamicsCompressorNode.cpp */; }; 5862 5862 FD7868BA136B999200D403DF /* JSDynamicsCompressorNode.h in Headers */ = {isa = PBXBuildFile; fileRef = FD7868B8136B999200D403DF /* JSDynamicsCompressorNode.h */; }; 5863 FD7F299113D4C0CB00AD9535 /* WaveShaperDSPKernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD7F298A13D4C0CB00AD9535 /* WaveShaperDSPKernel.cpp */; }; 5864 FD7F299213D4C0CB00AD9535 /* WaveShaperDSPKernel.h in Headers */ = {isa = PBXBuildFile; fileRef = FD7F298B13D4C0CB00AD9535 /* WaveShaperDSPKernel.h */; }; 5865 FD7F299313D4C0CB00AD9535 /* WaveShaperNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD7F298C13D4C0CB00AD9535 /* WaveShaperNode.cpp */; }; 5866 FD7F299413D4C0CB00AD9535 /* WaveShaperNode.h in Headers */ = {isa = PBXBuildFile; fileRef = FD7F298D13D4C0CB00AD9535 /* WaveShaperNode.h */; }; 5867 FD7F299613D4C0CB00AD9535 /* WaveShaperProcessor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD7F298F13D4C0CB00AD9535 /* WaveShaperProcessor.cpp */; }; 5868 FD7F299713D4C0CB00AD9535 /* WaveShaperProcessor.h in Headers */ = {isa = PBXBuildFile; fileRef = FD7F299013D4C0CB00AD9535 /* WaveShaperProcessor.h */; }; 5869 FD82D7F713D4C8BD004E4372 /* JSWaveShaperNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD82D7F513D4C8BD004E4372 /* JSWaveShaperNode.cpp */; }; 5870 FD82D7F813D4C8BD004E4372 /* JSWaveShaperNode.h in Headers */ = {isa = PBXBuildFile; fileRef = FD82D7F613D4C8BD004E4372 /* JSWaveShaperNode.h */; }; 5871 FD8E9BDF13D4CD2B0050DC72 /* JSWaveShaperNodeCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD8E9BDE13D4CD2B0050DC72 /* JSWaveShaperNodeCustom.cpp */; }; 5863 5872 FDA15E9D12B03EE1003A583A /* JSAudioBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FDA15E8112B03EE1003A583A /* JSAudioBuffer.cpp */; }; 5864 5873 FDA15E9E12B03EE1003A583A /* JSAudioBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = FDA15E8212B03EE1003A583A /* JSAudioBuffer.h */; }; … … 12582 12591 FD7868B7136B999200D403DF /* JSDynamicsCompressorNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSDynamicsCompressorNode.cpp; sourceTree = "<group>"; }; 12583 12592 FD7868B8136B999200D403DF /* JSDynamicsCompressorNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSDynamicsCompressorNode.h; sourceTree = "<group>"; }; 12593 FD7F298A13D4C0CB00AD9535 /* WaveShaperDSPKernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WaveShaperDSPKernel.cpp; sourceTree = "<group>"; }; 12594 FD7F298B13D4C0CB00AD9535 /* WaveShaperDSPKernel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WaveShaperDSPKernel.h; sourceTree = "<group>"; }; 12595 FD7F298C13D4C0CB00AD9535 /* WaveShaperNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WaveShaperNode.cpp; sourceTree = "<group>"; }; 12596 FD7F298D13D4C0CB00AD9535 /* WaveShaperNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WaveShaperNode.h; sourceTree = "<group>"; }; 12597 FD7F298E13D4C0CB00AD9535 /* WaveShaperNode.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WaveShaperNode.idl; sourceTree = "<group>"; }; 12598 FD7F298F13D4C0CB00AD9535 /* WaveShaperProcessor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WaveShaperProcessor.cpp; sourceTree = "<group>"; }; 12599 FD7F299013D4C0CB00AD9535 /* WaveShaperProcessor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WaveShaperProcessor.h; sourceTree = "<group>"; }; 12600 FD82D7F513D4C8BD004E4372 /* JSWaveShaperNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWaveShaperNode.cpp; sourceTree = "<group>"; }; 12601 FD82D7F613D4C8BD004E4372 /* JSWaveShaperNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSWaveShaperNode.h; sourceTree = "<group>"; }; 12602 FD8E9BDE13D4CD2B0050DC72 /* JSWaveShaperNodeCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWaveShaperNodeCustom.cpp; sourceTree = "<group>"; }; 12584 12603 FDA15E8112B03EE1003A583A /* JSAudioBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSAudioBuffer.cpp; sourceTree = "<group>"; }; 12585 12604 FDA15E8212B03EE1003A583A /* JSAudioBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSAudioBuffer.h; sourceTree = "<group>"; }; … … 18536 18555 49EECF7610508D9C00099FAB /* JSUint32ArrayCustom.cpp */, 18537 18556 49EECF7510508D9C00099FAB /* JSUint8ArrayCustom.cpp */, 18557 FD8E9BDE13D4CD2B0050DC72 /* JSWaveShaperNodeCustom.cpp */, 18538 18558 49EED14C1051971A00099FAB /* JSWebGLRenderingContextCustom.cpp */, 18539 18559 319E68861327C911004AC91A /* JSWebKitAnimationCustom.cpp */, … … 19974 19994 FD315FF412B0267600C1A359 /* RealtimeAnalyserNode.h */, 19975 19995 FD315FF512B0267600C1A359 /* RealtimeAnalyserNode.idl */, 19996 FD7F298A13D4C0CB00AD9535 /* WaveShaperDSPKernel.cpp */, 19997 FD7F298B13D4C0CB00AD9535 /* WaveShaperDSPKernel.h */, 19998 FD7F298C13D4C0CB00AD9535 /* WaveShaperNode.cpp */, 19999 FD7F298D13D4C0CB00AD9535 /* WaveShaperNode.h */, 20000 FD7F298E13D4C0CB00AD9535 /* WaveShaperNode.idl */, 20001 FD7F298F13D4C0CB00AD9535 /* WaveShaperProcessor.cpp */, 20002 FD7F299013D4C0CB00AD9535 /* WaveShaperProcessor.h */, 19976 20003 ); 19977 20004 path = webaudio; … … 20111 20138 FDA15EC712B03F50003A583A /* JSRealtimeAnalyserNode.cpp */, 20112 20139 FDA15EC812B03F50003A583A /* JSRealtimeAnalyserNode.h */, 20140 FD82D7F513D4C8BD004E4372 /* JSWaveShaperNode.cpp */, 20141 FD82D7F613D4C8BD004E4372 /* JSWaveShaperNode.h */, 20113 20142 ); 20114 20143 name = WebAudio; … … 23111 23140 4945BFD413CF809000CC3B38 /* TransformState.h in Headers */, 23112 23141 4969B0F313D0B33F00DF3521 /* HitTestingTransformState.h in Headers */, 23142 FD7F299213D4C0CB00AD9535 /* WaveShaperDSPKernel.h in Headers */, 23143 FD7F299413D4C0CB00AD9535 /* WaveShaperNode.h in Headers */, 23144 FD7F299713D4C0CB00AD9535 /* WaveShaperProcessor.h in Headers */, 23145 FD82D7F813D4C8BD004E4372 /* JSWaveShaperNode.h in Headers */, 23113 23146 5913A24213D49EBA00F5B05C /* IdentifiersFactory.h in Headers */, 23114 23147 ); … … 25883 25916 4945BFD313CF809000CC3B38 /* TransformState.cpp in Sources */, 25884 25917 4969B0F213D0B33F00DF3521 /* HitTestingTransformState.cpp in Sources */, 25918 FD7F299113D4C0CB00AD9535 /* WaveShaperDSPKernel.cpp in Sources */, 25919 FD7F299313D4C0CB00AD9535 /* WaveShaperNode.cpp in Sources */, 25920 FD7F299613D4C0CB00AD9535 /* WaveShaperProcessor.cpp in Sources */, 25921 FD82D7F713D4C8BD004E4372 /* JSWaveShaperNode.cpp in Sources */, 25922 FD8E9BDF13D4CD2B0050DC72 /* JSWaveShaperNodeCustom.cpp in Sources */, 25885 25923 5913A24113D49EBA00F5B05C /* IdentifiersFactory.cpp in Sources */, 25886 25924 ); -
trunk/Source/WebCore/webaudio/AudioContext.cpp
r90853 r91281 57 57 #include "PlatformString.h" 58 58 #include "RealtimeAnalyserNode.h" 59 #include "WaveShaperNode.h" 59 60 #include "ScriptCallStack.h" 60 61 … … 325 326 } 326 327 328 PassRefPtr<WaveShaperNode> AudioContext::createWaveShaper() 329 { 330 ASSERT(isMainThread()); 331 lazyInitialize(); 332 return WaveShaperNode::create(this); 333 } 334 327 335 PassRefPtr<LowPass2FilterNode> AudioContext::createLowPass2Filter() 328 336 { -
trunk/Source/WebCore/webaudio/AudioContext.h
r90853 r91281 61 61 class DynamicsCompressorNode; 62 62 class RealtimeAnalyserNode; 63 class WaveShaperNode; 63 64 class JavaScriptAudioNode; 64 65 … … 108 109 PassRefPtr<AudioGainNode> createGainNode(); 109 110 PassRefPtr<BiquadFilterNode> createBiquadFilter(); 111 PassRefPtr<WaveShaperNode> createWaveShaper(); 110 112 PassRefPtr<DelayNode> createDelayNode(); 111 113 PassRefPtr<LowPass2FilterNode> createLowPass2Filter(); -
trunk/Source/WebCore/webaudio/AudioContext.idl
r89789 r91281 65 65 DelayNode createDelayNode(); 66 66 BiquadFilterNode createBiquadFilter(); 67 WaveShaperNode createWaveShaper(); 67 68 LowPass2FilterNode createLowPass2Filter(); 68 69 HighPass2FilterNode createHighPass2Filter(); -
trunk/Source/WebCore/webaudio/AudioNode.h
r88380 r91281 70 70 NodeTypeAnalyser, 71 71 NodeTypeDynamicsCompressor, 72 NodeTypeWaveShaper, 72 73 NodeTypeEnd 73 74 };
Note: See TracChangeset
for help on using the changeset viewer.