Пример #1
0
DelayNode::DelayNode(AbstractAudioContext& context, double maxDelayTime)
    : AudioNode(context)
    , m_delayTime(AudioParam::create(context, ParamTypeDelayDelayTime, 0.0, 0.0, maxDelayTime))
{
    setHandler(AudioBasicProcessorHandler::create(
        AudioHandler::NodeTypeDelay,
        *this,
        context.sampleRate(),
        wrapUnique(new DelayProcessor(
            context.sampleRate(),
            1,
            m_delayTime->handler(),
            maxDelayTime))));
}
// ----------------------------------------------------------------
AudioBufferSourceNode::AudioBufferSourceNode(AbstractAudioContext& context)
    : AudioScheduledSourceNode(context)
    , m_playbackRate(AudioParam::create(context, ParamTypeAudioBufferSourcePlaybackRate, 1.0))
    , m_detune(AudioParam::create(context, ParamTypeAudioBufferSourceDetune, 0.0))
{
    setHandler(AudioBufferSourceHandler::create(
        *this,
        context.sampleRate(),
        m_playbackRate->handler(),
        m_detune->handler()));
}
DynamicsCompressorNode::DynamicsCompressorNode(AbstractAudioContext& context)
    : AudioNode(context)
    , m_threshold(AudioParam::create(context, ParamTypeDynamicsCompressorThreshold, -24, -100, 0))
    , m_knee(AudioParam::create(context, ParamTypeDynamicsCompressorKnee, 30, 0, 40))
    , m_ratio(AudioParam::create(context, ParamTypeDynamicsCompressorRatio, 12, 1, 20))
    , m_attack(AudioParam::create(context, ParamTypeDynamicsCompressorAttack, 0.003, 0, 1))
    , m_release(AudioParam::create(context, ParamTypeDynamicsCompressorRelease, 0.250, 0, 1))
{
    setHandler(DynamicsCompressorHandler::create(
        *this,
        context.sampleRate(),
        m_threshold->handler(),
        m_knee->handler(),
        m_ratio->handler(),
        m_attack->handler(),
        m_release->handler()));
}
Пример #4
0
WaveShaperNode::WaveShaperNode(AbstractAudioContext& context)
    : AudioNode(context)
{
    setHandler(AudioBasicProcessorHandler::create(AudioHandler::NodeTypeWaveShaper, *this, context.sampleRate(), adoptPtr(new WaveShaperProcessor(context.sampleRate(), 1))));

    handler().initialize();
}