Tim Ledbetter
c4bc0842c1
LibWeb: Prevent AudioBuffer data being copied to or from a shared buffer
2025-02-09 14:13:46 +00:00
Tim Ledbetter
c87f80454b
LibWeb/WebAudio: Implement automation rate constraints
...
Some nodes have parameters whose automation rate is not allowed to be
changed. This change enforces that constraint for all parameters it
applies to.
2025-01-19 17:24:55 +01:00
Tim Ledbetter
5fd130b02d
LibWeb: Add BaseAudioContext.createStereoPanner() factory method
2025-01-18 10:20:41 +01:00
Tim Ledbetter
56907e2de6
LibWeb: Add StereoPannerNode interface
2025-01-18 10:20:41 +01:00
Tim Ledbetter
31532e36a8
LibWeb: Add AudioContext.createMediaElementSource() factory method
2025-01-17 19:04:47 +00:00
Noah Bright
6c6bf322ea
LibWeb/WebAudio: Define and partially implement AnalyserNode
...
https://webaudio.github.io/web-audio-api/#AnalyserNode
Most of the interface is naively implemented. Container types
probably need adjusted (Vector<double> is used for all the processing).
A Fourier Transform is needed, but that's waiting on either a 3rd
party library or a complex number type.
There are lots of simple miscellaneous filters that need to be applied.
It could be reasonable to implement from scratch, supposing that
it can be parallelized. It might be hard to find one library with
everything. Not my call though.
Some additional scaffolding around blocks and render quanta is
probably needed before this is developed much further, which
probably comes in at the level of the AudioNode.
Co-authored-by: Tim Ledbetter <tim.ledbetter@ladybird.org>
2025-01-17 10:11:24 +01:00
Tim Ledbetter
f01ccf5424
LibWeb: Align AudioContext constructor with current spec steps
2025-01-16 13:56:18 +00:00
Tim Ledbetter
3261f873c5
LibWeb: Validate parameters for source node start() and stop() methods
2025-01-10 23:35:20 +01:00
Tim Ledbetter
2edd0812ca
LibWeb: Validate AudioNode::connect() input and output arguments
2025-01-09 11:34:38 +00:00
Tim Ledbetter
e469c884d4
LibWeb: Use correct ranges for BiquadFilterNode parameters
2025-01-08 19:05:51 +00:00
Tim Ledbetter
6c4c925f02
LibWeb/WebAudio: Add DelayNode interface
2025-01-08 15:31:59 +00:00
Tim Ledbetter
a6ab9cc983
LibWeb: Initialize AudioBufferSourceNode with correct defaults
2025-01-08 14:45:51 +00:00
Tim Ledbetter
27dbe49f00
LibWeb: Initialize OfflineAudioContext with correct defaults
2025-01-08 11:24:08 +00:00
Tim Ledbetter
8c4e4ec31b
LibWeb: Implement OscillatorNode.setPeriodicWave()
2025-01-04 10:12:24 +00:00
Tim Ledbetter
a6f04506e4
LibWeb: Add BaseAudioContext.create_periodic_wave() factory method
2025-01-03 14:54:18 +01:00
Tim Ledbetter
72ca91ad1a
LibWeb: Flesh out AudioBufferSourceNode buffer setter steps
2025-01-03 11:14:47 +01:00
Tim Ledbetter
1b160044c4
LibWeb: Add ConstantSourceNode interface
2025-01-03 11:13:27 +01:00
Tim Ledbetter
e564d25ffb
LibWeb: Add ChannelSplitterNode interface
2025-01-02 11:39:23 +00:00
Pavel Shliak
9232dcbde5
LibWeb/WebAudio: Set all the params in PannerNode constructor
2024-12-18 10:19:46 +01:00
Pavel Shliak
884599f1df
LibWeb/WebAudio: Manage channelCountMode and channelCount for PannerNode
2024-12-18 10:19:46 +01:00