|
|
|
/* ***** BEGIN LICENSE BLOCK *****
|
|
|
|
*
|
|
|
|
* This software is released under the provisions of the GPL version 2.
|
|
|
|
* see file "COPYING". If that file is not available, the full statement
|
|
|
|
* of the license can be found at
|
|
|
|
*
|
|
|
|
* http://www.fsf.org/licensing/licenses/gpl.txt
|
|
|
|
*
|
|
|
|
* Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved.
|
|
|
|
* Copyright (c) 2005 Paul Cifarelli All Rights Reserved.
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* This file is part of the Helix DNA Technology. RealNetworks is the
|
|
|
|
* developer of the Original Code and owns the copyrights in the
|
|
|
|
* portions it created.
|
|
|
|
*
|
|
|
|
* This file, and the files included with this file, is distributed
|
|
|
|
* and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY
|
|
|
|
* KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS
|
|
|
|
* ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES
|
|
|
|
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET
|
|
|
|
* ENJOYMENT OR NON-INFRINGEMENT.
|
|
|
|
*
|
|
|
|
* Technology Compatibility Kit Test Suite(s) Location:
|
|
|
|
* http://www.helixcommunity.org/content/tck
|
|
|
|
*
|
|
|
|
* ***** END LICENSE BLOCK ***** */
|
|
|
|
|
|
|
|
#ifndef _GAIN_H_
|
|
|
|
#define _GAIN_H_
|
|
|
|
|
|
|
|
#include "hxtypes.h"
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#define GAIN_MAX_dB 0.0
|
|
|
|
#define GAIN_MIN_dB -27.0
|
|
|
|
|
|
|
|
struct GAIN_STATE;
|
|
|
|
typedef struct GAIN_STATE GAIN_STATE;
|
|
|
|
|
|
|
|
GAIN_STATE* gainInit(int sampleRate, int nChannels, int bytePerSample) ;
|
|
|
|
void gainFree(GAIN_STATE*) ;
|
|
|
|
float gainSetImmediatedB(float dB, GAIN_STATE*) ;
|
|
|
|
float gainSetSmoothdB(float dB, GAIN_STATE*);
|
|
|
|
float gainSetImmediate(float dB, GAIN_STATE*) ;
|
|
|
|
float gainSetSmooth(float dB, GAIN_STATE*);
|
|
|
|
void gainSetMute(GAIN_STATE* g);
|
|
|
|
int gainSetTimeConstant(float millis, GAIN_STATE*) ;
|
|
|
|
void gainFeed(unsigned char* signal, unsigned char *outsignal, int len, GAIN_STATE* g) ;
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif /* _GAIN_H_ */
|