Beast - Music Synthesizer and Composer  0.11.1+10.g2da35
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 #include <bse/bseenums.hh>
6 #define BSE_TYPE_IIR_FILTER (bse_iir_filter_get_type())
7 #define BSE_IIR_FILTER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), BSE_TYPE_IIR_FILTER, BseIIRFilter))
8 #define BSE_IIR_FILTER_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), BSE_TYPE_IIR_FILTER, BseIIRFilterClass))
9 #define BSE_IS_IIR_FILTER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BSE_TYPE_IIR_FILTER))
10 #define BSE_IS_IIR_FILTER_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), BSE_TYPE_IIR_FILTER))
11 #define BSE_IIR_FILTER_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BSE_TYPE_IIR_FILTER, BseIIRFilterClass))
12 #define BSE_IIR_FILTER_MAX_ORDER (18)
13 
15  gdouble a[BSE_IIR_FILTER_MAX_ORDER];
16  gdouble b[BSE_IIR_FILTER_MAX_ORDER];
17 };
18 struct BseIIRFilter : BseSource {
19  BseIIRFilterKind filter_algo;
20  BseIIRFilterType filter_type;
21  guint algo_type_change : 1;
22  guint order;
23  gdouble epsilon;
24  gfloat cut_off_freq1;
25  gfloat cut_off_freq2; /* band pass/stop */
26  gdouble a[BSE_IIR_FILTER_MAX_ORDER + 1];
27  gdouble b[BSE_IIR_FILTER_MAX_ORDER + 1];
28 };
30 {};
31 
32 enum
33 {
34  BSE_IIR_FILTER_ICHANNEL_MONO,
35  BSE_IIR_FILTER_N_ICHANNELS
36 };
37 enum
38 {
39  BSE_IIR_FILTER_OCHANNEL_MONO,
40  BSE_IIR_FILTER_N_OCHANNELS
41 };
42 
43 #endif /* __BSE_IIR_FILTER_H__ */
Definition: bseiirfilter.hh:29
Definition: bseiirfilter.hh:14
Definition: bsefilter.hh:44
Definition: bsesource.hh:82
Definition: bsesource.hh:90