BEAST/BSE - Better Audio System and Sound Engine  0.9.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
bseiirfilter.hh
Go to the documentation of this file.
1  // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html
2 #ifndef __BSE_IIR_FILTER_H__
3 #define __BSE_IIR_FILTER_H__
4 #include <bse/bsesource.hh>
5 #ifdef __cplusplus
6 extern "C" {
7 #endif /* __cplusplus */
8 
9 #define BSE_TYPE_IIR_FILTER (bse_iir_filter_get_type())
10 #define BSE_IIR_FILTER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), BSE_TYPE_IIR_FILTER, BseIIRFilter))
11 #define BSE_IIR_FILTER_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), BSE_TYPE_IIR_FILTER, BseIIRFilterClass))
12 #define BSE_IS_IIR_FILTER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BSE_TYPE_IIR_FILTER))
13 #define BSE_IS_IIR_FILTER_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), BSE_TYPE_IIR_FILTER))
14 #define BSE_IIR_FILTER_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BSE_TYPE_IIR_FILTER, BseIIRFilterClass))
15 #define BSE_IIR_FILTER_MAX_ORDER (18)
16 
18  gdouble a[BSE_IIR_FILTER_MAX_ORDER];
19  gdouble b[BSE_IIR_FILTER_MAX_ORDER];
20 };
21 struct BseIIRFilter : BseSource {
22  BseIIRFilterAlgorithm filter_algo;
23  BseIIRFilterType filter_type;
24  guint algo_type_change : 1;
25  guint order;
26  gdouble epsilon;
27  gfloat cut_off_freq1;
28  gfloat cut_off_freq2; /* band pass/stop */
29  gdouble a[BSE_IIR_FILTER_MAX_ORDER + 1];
30  gdouble b[BSE_IIR_FILTER_MAX_ORDER + 1];
31 };
33 {};
34 
35 enum
36 {
37  BSE_IIR_FILTER_ICHANNEL_MONO,
38  BSE_IIR_FILTER_N_ICHANNELS
39 };
40 enum
41 {
42  BSE_IIR_FILTER_OCHANNEL_MONO,
43  BSE_IIR_FILTER_N_OCHANNELS
44 };
45 
46 #ifdef __cplusplus
47 }
48 #endif /* __cplusplus */
49 #endif /* __BSE_IIR_FILTER_H__ */
Definition: bseiirfilter.hh:32
Definition: bseiirfilter.hh:17
Definition: bsefilter.hh:62
Definition: bsesource.hh:84
Definition: bsesource.hh:92