📄 amf_buttongainstepper.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 + -