mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-21 12:05:15 +00:00
LibWeb: Add BaseAudioContext.createChannelSplitter()
factory method
This commit is contained in:
parent
e564d25ffb
commit
3eefa464ee
Notes:
github-actions[bot]
2025-01-02 11:40:24 +00:00
Author: https://github.com/tcl3 Commit: https://github.com/LadybirdBrowser/ladybird/commit/3eefa464eef Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/3097 Reviewed-by: https://github.com/shannonbooth ✅
3 changed files with 12 additions and 1 deletions
|
@ -91,6 +91,15 @@ WebIDL::ExceptionOr<GC::Ref<ChannelMergerNode>> BaseAudioContext::create_channel
|
|||
return ChannelMergerNode::create(realm(), *this, options);
|
||||
}
|
||||
|
||||
// https://webaudio.github.io/web-audio-api/#dom-baseaudiocontext-createchannelsplitter
|
||||
WebIDL::ExceptionOr<GC::Ref<ChannelSplitterNode>> BaseAudioContext::create_channel_splitter(WebIDL::UnsignedLong number_of_outputs)
|
||||
{
|
||||
ChannelSplitterOptions options;
|
||||
options.number_of_outputs = number_of_outputs;
|
||||
|
||||
return ChannelSplitterNode::create(realm(), *this, options);
|
||||
}
|
||||
|
||||
// https://webaudio.github.io/web-audio-api/#dom-baseaudiocontext-createoscillator
|
||||
WebIDL::ExceptionOr<GC::Ref<OscillatorNode>> BaseAudioContext::create_oscillator()
|
||||
{
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
#include <LibWeb/WebAudio/AudioListener.h>
|
||||
#include <LibWeb/WebAudio/BiquadFilterNode.h>
|
||||
#include <LibWeb/WebAudio/ChannelMergerNode.h>
|
||||
#include <LibWeb/WebAudio/ChannelSplitterNode.h>
|
||||
#include <LibWeb/WebIDL/Types.h>
|
||||
|
||||
namespace Web::WebAudio {
|
||||
|
@ -59,6 +60,7 @@ public:
|
|||
WebIDL::ExceptionOr<GC::Ref<AudioBuffer>> create_buffer(WebIDL::UnsignedLong number_of_channels, WebIDL::UnsignedLong length, float sample_rate);
|
||||
WebIDL::ExceptionOr<GC::Ref<AudioBufferSourceNode>> create_buffer_source();
|
||||
WebIDL::ExceptionOr<GC::Ref<ChannelMergerNode>> create_channel_merger(WebIDL::UnsignedLong number_of_inputs);
|
||||
WebIDL::ExceptionOr<GC::Ref<ChannelSplitterNode>> create_channel_splitter(WebIDL::UnsignedLong number_of_outputs);
|
||||
WebIDL::ExceptionOr<GC::Ref<OscillatorNode>> create_oscillator();
|
||||
WebIDL::ExceptionOr<GC::Ref<DynamicsCompressorNode>> create_dynamics_compressor();
|
||||
WebIDL::ExceptionOr<GC::Ref<GainNode>> create_gain();
|
||||
|
|
|
@ -35,7 +35,7 @@ interface BaseAudioContext : EventTarget {
|
|||
AudioBuffer createBuffer(unsigned long numberOfChannels, unsigned long length, float sampleRate);
|
||||
AudioBufferSourceNode createBufferSource ();
|
||||
ChannelMergerNode createChannelMerger (optional unsigned long numberOfInputs = 6);
|
||||
[FIXME] ChannelSplitterNode createChannelSplitter (optional unsigned long numberOfOutputs = 6);
|
||||
ChannelSplitterNode createChannelSplitter (optional unsigned long numberOfOutputs = 6);
|
||||
[FIXME] ConstantSourceNode createConstantSource ();
|
||||
[FIXME] ConvolverNode createConvolver ();
|
||||
[FIXME] DelayNode createDelay (optional double maxDelayTime = 1.0);
|
||||
|
|
Loading…
Add table
Reference in a new issue