1 /* ***** BEGIN LICENSE BLOCK *****
3 * This software is released under the provisions of the GPL version 2.
4 * see file "COPYING". If that file is not available, the full statement
5 * of the license can be found at
7 * http://www.fsf.org/licensing/licenses/gpl.txt
9 * Portions Copyright (c) 1995-2004 RealNetworks, Inc. All Rights Reserved.
10 * Copyright (c) 2005 Paul Cifarelli All Rights Reserved.
13 * This file is part of the Helix DNA Technology. RealNetworks is the
14 * developer of the Original Code and owns the copyrights in the
15 * portions it created.
17 * This file, and the files included with this file, is distributed
18 * and made available on an 'AS IS' basis, WITHOUT WARRANTY OF ANY
19 * KIND, EITHER EXPRESS OR IMPLIED, AND REALNETWORKS HEREBY DISCLAIMS
20 * ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES
21 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET
22 * ENJOYMENT OR NON-INFRINGEMENT.
24 * Technology Compatibility Kit Test Suite(s) Location:
25 * http://www.helixcommunity.org/content/tck
27 * ***** END LICENSE BLOCK ***** */
38 #define GAIN_MAX_dB 0.0
39 #define GAIN_MIN_dB -27.0
42 typedef struct GAIN_STATE GAIN_STATE
;
44 GAIN_STATE
* gainInit(int sampleRate
, int nChannels
, int bytePerSample
) ;
45 void gainFree(GAIN_STATE
*) ;
46 float gainSetImmediatedB(float dB
, GAIN_STATE
*) ;
47 float gainSetSmoothdB(float dB
, GAIN_STATE
*);
48 float gainSetImmediate(float dB
, GAIN_STATE
*) ;
49 float gainSetSmooth(float dB
, GAIN_STATE
*);
50 void gainSetMute(GAIN_STATE
* g
);
51 int gainSetTimeConstant(float millis
, GAIN_STATE
*) ;
52 void gainFeed(unsigned char* signal
, unsigned char *outsignal
, int len
, GAIN_STATE
* g
) ;