blob: b679e7441ac1e15ec8247e774e36787bf6527407 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
#pragma once
#ifndef __FLT_RC_H__
#define FLT_RC_H
#include "machine/rescap.h"
#define FLT_RC_LOWPASS 0
#define FLT_RC_HIGHPASS 1
#define FLT_RC_AC 2
/*
* FLT_RC_LOWPASS:
*
* signal >--R1--+--R2--+
* | |
* C R3---> amp
* | |
* GND GND
*
* Set C=0 to disable filter
*
* FLT_RC_HIGHPASS:
*
* signal >--C---+----> amp
* |
* R1
* |
* GND
*
* Set C = 0 to disable filter
*
* FLT_RC_AC:
*
* Same as FLT_RC_HIGHPASS, but with standard frequency of 16 HZ
* This filter may be setup just with
*
* MDRV_SOUND_ADD("tag", FILTER_RC, 0)
* MDRV_SOUND_CONFIG(&flt_rc_ac_default)
*
* Default behaviour:
*
* Without MDRV_SOUND_CONFIG, a disabled FLT_RC_LOWPASS is created
*
*/
typedef struct _flt_rc_config flt_rc_config;
struct _flt_rc_config
{
int type;
double R1;
double R2;
double R3;
double C;
};
extern const flt_rc_config flt_rc_ac_default;
void filter_rc_set_RC(int num, int type, double R1, double R2, double R3, double C);
#endif /* __FLT_RC_H__ */
|