BEAST/BSE - Better Audio System and Sound Engine  0.9.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
davsyndrum.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 __DAV_SYNDRUM_H__
3 #define __DAV_SYNDRUM_H__
4 
5 #include <bse/bseplugin.hh>
6 #include <bse/bsesource.hh>
7 
8 G_BEGIN_DECLS
9 
10 
11 /* --- object type macros --- */
12 #define DAV_TYPE_SYN_DRUM (dav_syn_drum_get_type())
13 #define DAV_SYN_DRUM(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), DAV_TYPE_SYN_DRUM, DavSynDrum))
14 #define DAV_SYN_DRUM_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), DAV_TYPE_SYN_DRUM, DavSynDrumClass))
15 #define DAV_IS_SYN_DRUM(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), DAV_TYPE_SYN_DRUM))
16 #define DAV_IS_SYN_DRUM_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), DAV_TYPE_SYN_DRUM))
17 #define DAV_SYN_DRUM_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), DAV_TYPE_SYN_DRUM, DavSynDrumClass))
18 
20  gfloat freq;
21  gfloat trigger_vel;
22  gfloat ratio;
23  gfloat res; /* sample rate specific */
24 };
26  DavSynDrumParams params; /* .res is unused (due to its sample rate dependency) */
27  gfloat half;
28  gboolean force_trigger;
29 };
31 {};
33  DavSynDrumParams params;
34  gfloat last_trigger_level;
35  gfloat spring_vel;
36  gfloat spring_pos;
37  gfloat env;
38  gfloat freq_rad;
39  gfloat freq_shift;
40 };
41 
42 enum
43 {
44  DAV_SYN_DRUM_ICHANNEL_FREQ,
45  DAV_SYN_DRUM_ICHANNEL_RATIO,
46  DAV_SYN_DRUM_ICHANNEL_TRIGGER,
47  DAV_SYN_DRUM_N_ICHANNELS
48 };
49 enum
50 {
51  DAV_SYN_DRUM_OCHANNEL_MONO,
52  DAV_SYN_DRUM_N_OCHANNELS
53 };
54 
55 G_END_DECLS
56 
57 #endif /* __DAV_SYNDRUM_H__ */
Definition: davsyndrum.hh:25
Definition: davsyndrum.hh:19
Definition: davsyndrum.hh:32
Definition: bsesource.hh:84
Definition: bsesource.hh:92
Definition: davsyndrum.hh:30