⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 amf_buttongainstepper.c

📁 ADI SHARC DSP 音频算法标准模块库
💻 C
字号:
// Copyright(c) 2005 Analog Devices, Inc. All Rights Reserved.
// This software is proprietary and confidential to Analog Devices, Inc. and its licensors.

// File    : $Id: //depot/Development/VisualAudio/Modules/Packs/ButtonsAndLEDs_EZKit/2.5.0/SHARC/Source/AMF_ButtonGainStepper.c#2 $ 
// Part of : VisualAudio ButtonsAndLEDs_EZKit V2.0.1 
// Updated : $Date: 2006/10/12 $ by $Author: Fernando $

#include "AMF_ButtonGainStepper.h"
#include <math.h>

 SEG_MOD_FAST_CODE void AMF_ButtonGainStepper_Render(AMF_ButtonGainStepper * restrict instance,AMF_Signal * restrict * buffers,int tickSize) 
{
    AMF_Signal upStepButtonStateIn = *(buffers[0]);      //input control pin buffer
    AMF_Signal downStateButtonStateIn = *(buffers[1]);   //input control pin buffer
    AMF_Signal *pLinearGainOutput = buffers[2];   //output linear gain

    if ((upStepButtonStateIn) && (!instance->prevButtonState1))
    {
        //the button is pressed (do only once per transition)
        instance->currentGain = instance->currentGain * instance->upStep;
        instance->currentGain = fmin(instance->maxGainAmp,instance->currentGain);
    }
    // Remember state so we don't keep applying it over and over
    instance->prevButtonState1 = upStepButtonStateIn;

    if ((downStateButtonStateIn) && (!instance->prevButtonState2))
    {
        //the button is pressed (do only once per transition)
        instance->currentGain = instance->currentGain * instance->downStep;
        instance->currentGain = fmax(instance->minGainAmp,instance->currentGain);
    }
    // Remember state so we don't keep applying it over and over
    instance->prevButtonState2 = downStateButtonStateIn;
    *pLinearGainOutput = instance->currentGain;
}

SEG_MOD_SLOW_CONST const AMF_ModuleClass AMFClassButtonGainStepper = {
    
    /* Flags */
    0,
     
    /* Render function */
    (AMF_RenderFunction)AMF_ButtonGainStepper_Render,

    /* Default bypass */
    (void *)0,
    
    /* Input descriptor - no inputs. */
    2, AMF_ControlPin(0)|AMF_ControlPin(1),

    /* Output descriptor - 1 control output */
    1, AMF_ControlPin(0)
};



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -