LibWeb: Add AudioParams for DynamicsCompressorNode

This commit is contained in:
Shannon Booth 2024-05-11 19:52:08 +12:00 committed by Andreas Kling
commit cf615cbd1c
Notes: sideshowbarker 2024-07-16 22:16:50 +09:00
5 changed files with 55 additions and 6 deletions

View file

@ -30,11 +30,33 @@ public:
static WebIDL::ExceptionOr<JS::NonnullGCPtr<DynamicsCompressorNode>> create(JS::Realm&, JS::NonnullGCPtr<BaseAudioContext>, DynamicsCompressorOptions const& = {});
static WebIDL::ExceptionOr<JS::NonnullGCPtr<DynamicsCompressorNode>> construct_impl(JS::Realm&, JS::NonnullGCPtr<BaseAudioContext>, DynamicsCompressorOptions const& = {});
JS::NonnullGCPtr<AudioParam const> threshold() const { return m_threshold; }
JS::NonnullGCPtr<AudioParam const> knee() const { return m_knee; }
JS::NonnullGCPtr<AudioParam const> ratio() const { return m_ratio; }
JS::NonnullGCPtr<AudioParam const> attack() const { return m_attack; }
JS::NonnullGCPtr<AudioParam const> release() const { return m_release; }
protected:
DynamicsCompressorNode(JS::Realm&, JS::NonnullGCPtr<BaseAudioContext>, DynamicsCompressorOptions const& = {});
virtual void initialize(JS::Realm&) override;
virtual void visit_edges(Cell::Visitor&) override;
private:
// https://webaudio.github.io/web-audio-api/#dom-dynamicscompressornode-threshold
JS::NonnullGCPtr<AudioParam> m_threshold;
// https://webaudio.github.io/web-audio-api/#dom-dynamicscompressornode-knee
JS::NonnullGCPtr<AudioParam> m_knee;
// https://webaudio.github.io/web-audio-api/#dom-dynamicscompressornode-ratio
JS::NonnullGCPtr<AudioParam> m_ratio;
// https://webaudio.github.io/web-audio-api/#dom-dynamicscompressornode-attack
JS::NonnullGCPtr<AudioParam> m_attack;
// https://webaudio.github.io/web-audio-api/#dom-dynamicscompressornode-release
JS::NonnullGCPtr<AudioParam> m_release;
};
}