// GainNode is an AudioNode with one input and one output which applies a gain (volume) change to the audio signal.
// De-zippering (smoothing) is applied when the gain value is changed dynamically.
-class GainNode FINAL : public AudioNode {
+class GainNode final : public AudioNode {
+ DEFINE_WRAPPERTYPEINFO();
public:
- static PassRefPtrWillBeRawPtr<GainNode> create(AudioContext* context, float sampleRate)
+ static GainNode* create(AudioContext* context, float sampleRate)
{
- return adoptRefWillBeNoop(new GainNode(context, sampleRate));
+ return new GainNode(context, sampleRate);
}
// AudioNode
- virtual void process(size_t framesToProcess) OVERRIDE;
+ virtual void process(size_t framesToProcess) override;
// Called in the main thread when the number of channels for the input may have changed.
- virtual void checkNumberOfChannelsForInput(AudioNodeInput*) OVERRIDE;
+ virtual void checkNumberOfChannelsForInput(AudioNodeInput*) override;
// JavaScript interface
AudioParam* gain() { return m_gain.get(); }
- virtual void trace(Visitor*) OVERRIDE;
+ virtual void trace(Visitor*) override;
private:
- virtual double tailTime() const OVERRIDE { return 0; }
- virtual double latencyTime() const OVERRIDE { return 0; }
+ virtual double tailTime() const override { return 0; }
+ virtual double latencyTime() const override { return 0; }
GainNode(AudioContext*, float sampleRate);
float m_lastGain; // for de-zippering
- RefPtrWillBeMember<AudioParam> m_gain;
+ Member<AudioParam> m_gain;
AudioFloatArray m_sampleAccurateGainValues;
};