Changeset 110951 in webkit


Ignore:
Timestamp:
Mar 15, 2012, 11:56:11 PM (13 years ago)
Author:
commit-queue@webkit.org
Message:

Expose attack, release as DynamicsCompressorNode's attributes.
https://bugs.webkit.org/show_bug.cgi?id=81221

Patch by Gao Chun <chun.gao@intel.com> on 2012-03-15
Reviewed by Chris Rogers.

Source/WebCore:

Test: webaudio/dynamicscompressor-basic.html

  • platform/audio/DynamicsCompressor.h:

(DynamicsCompressor):

  • webaudio/DynamicsCompressorNode.cpp:

(WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
(WebCore::DynamicsCompressorNode::process):

  • webaudio/DynamicsCompressorNode.h:

(WebCore::DynamicsCompressorNode::attack):
(WebCore::DynamicsCompressorNode::release):
(DynamicsCompressorNode):

  • webaudio/DynamicsCompressorNode.idl:

LayoutTests:

  • webaudio/dynamicscompressor-basic-expected.txt:
  • webaudio/dynamicscompressor-basic.html:
Location:
trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r110950 r110951  
     12012-03-15  Gao Chun  <chun.gao@intel.com>
     2
     3        Expose attack, release as DynamicsCompressorNode's attributes.
     4        https://bugs.webkit.org/show_bug.cgi?id=81221
     5
     6        Reviewed by Chris Rogers.
     7
     8        * webaudio/dynamicscompressor-basic-expected.txt:
     9        * webaudio/dynamicscompressor-basic.html:
     10
    1112012-03-15  Hans Wennborg  <hans@chromium.org>
    212
  • trunk/LayoutTests/webaudio/dynamicscompressor-basic-expected.txt

    r109023 r110951  
    66PASS knee attribute has correct default value.
    77PASS ratio attribute has correct default value.
     8PASS attack attribute has correct default value.
     9PASS release attribute has correct default value.
    810PASS successfullyParsed is true
    911
  • trunk/LayoutTests/webaudio/dynamicscompressor-basic.html

    r109023 r110951  
    4444            testFailed("ratio attribute has incorrect default value.");
    4545       
     46        if (compressor.attack.value - 0.003 < 1e-7)
     47            testPassed("attack attribute has correct default value.");
     48        else
     49            testFailed("attack attribute has incorrect default value.");
     50
     51        if (compressor.release.value - 0.25 < 1e-7)
     52            testPassed("release attribute has correct default value.");
     53        else
     54            testFailed("release attribute has incorrect default value.");
     55
    4656    } catch(e) {
    4757        testFailed("Exception thrown when accessing DynamicsCompressorNode attributes.");
  • trunk/Source/WebCore/ChangeLog

    r110950 r110951  
     12012-03-15  Gao Chun  <chun.gao@intel.com>
     2
     3        Expose attack, release as DynamicsCompressorNode's attributes.
     4        https://bugs.webkit.org/show_bug.cgi?id=81221
     5
     6        Reviewed by Chris Rogers.
     7
     8        Test: webaudio/dynamicscompressor-basic.html
     9
     10        * platform/audio/DynamicsCompressor.h:
     11        (DynamicsCompressor):
     12        * webaudio/DynamicsCompressorNode.cpp:
     13        (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
     14        (WebCore::DynamicsCompressorNode::process):
     15        * webaudio/DynamicsCompressorNode.h:
     16        (WebCore::DynamicsCompressorNode::attack):
     17        (WebCore::DynamicsCompressorNode::release):
     18        (DynamicsCompressorNode):
     19        * webaudio/DynamicsCompressorNode.idl:
     20
    1212012-03-15  Hans Wennborg  <hans@chromium.org>
    222
  • trunk/Source/WebCore/platform/audio/DynamicsCompressor.h

    r110507 r110951  
    8686
    8787    // m_parameters holds the tweakable compressor parameters.
    88     // FIXME: expose some of the most important ones (such as threshold, attack, release)
    89     // as DynamicsCompressorNode attributes.
    9088    float m_parameters[ParamLast];
    9189    void initializeParameters();
  • trunk/Source/WebCore/webaudio/DynamicsCompressorNode.cpp

    r110507 r110951  
    5151    m_ratio = AudioParam::create("ratio", 12, 1, 20);
    5252    m_reduction = AudioParam::create("reduction", 0, -20, 0);
     53    m_attack = AudioParam::create("attack", 0.003, 0, 1);
     54    m_release = AudioParam::create("release", 0.250, 0, 1);
    5355
    5456    m_threshold->setContext(context);
     
    5658    m_ratio->setContext(context);
    5759    m_reduction->setContext(context);
     60    m_attack->setContext(context);
     61    m_release->setContext(context);
    5862
    5963    initialize();
     
    7377    float knee = m_knee->value();
    7478    float ratio = m_ratio->value();
     79    float attack = m_attack->value();
     80    float release = m_release->value();
    7581
    7682    m_dynamicsCompressor->setParameterValue(DynamicsCompressor::ParamThreshold, threshold);
    7783    m_dynamicsCompressor->setParameterValue(DynamicsCompressor::ParamKnee, knee);
    7884    m_dynamicsCompressor->setParameterValue(DynamicsCompressor::ParamRatio, ratio);
     85    m_dynamicsCompressor->setParameterValue(DynamicsCompressor::ParamAttack, attack);
     86    m_dynamicsCompressor->setParameterValue(DynamicsCompressor::ParamRelease, release);
    7987
    8088    m_dynamicsCompressor->process(input(0)->bus(), outputBus, framesToProcess);
  • trunk/Source/WebCore/webaudio/DynamicsCompressorNode.h

    r110507 r110951  
    5353    AudioParam* knee() { return m_knee.get(); }
    5454    AudioParam* ratio() { return m_ratio.get(); }
     55    AudioParam* attack() { return m_attack.get(); }
     56    AudioParam* release() { return m_release.get(); }
    5557
    5658    // Amount by which the compressor is currently compressing the signal in decibels.
     
    6870    RefPtr<AudioParam> m_ratio;
    6971    RefPtr<AudioParam> m_reduction;
     72    RefPtr<AudioParam> m_attack;
     73    RefPtr<AudioParam> m_release;
    7074};
    7175
  • trunk/Source/WebCore/webaudio/DynamicsCompressorNode.idl

    r109023 r110951  
    3232        readonly attribute AudioParam ratio; // unit-less
    3333        readonly attribute AudioParam reduction; // in Decibels
     34        readonly attribute AudioParam attack; // in Seconds
     35        readonly attribute AudioParam release; // in Seconds
    3436    };
    3537}
Note: See TracChangeset for help on using the changeset viewer.