Beast - Music Synthesizer and Composer  0.11.1+10.g2da35
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 
9 /* --- object type macros --- */
10 #define DAV_TYPE_SYN_DRUM (dav_syn_drum_get_type())
11 #define DAV_SYN_DRUM(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), DAV_TYPE_SYN_DRUM, DavSynDrum))
12 #define DAV_SYN_DRUM_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), DAV_TYPE_SYN_DRUM, DavSynDrumClass))
13 #define DAV_IS_SYN_DRUM(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), DAV_TYPE_SYN_DRUM))
14 #define DAV_IS_SYN_DRUM_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), DAV_TYPE_SYN_DRUM))
15 #define DAV_SYN_DRUM_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), DAV_TYPE_SYN_DRUM, DavSynDrumClass))
16 
18  gfloat freq;
19  gfloat trigger_vel;
20  gfloat ratio;
21  gfloat res; /* sample rate specific */
22 };
24  DavSynDrumParams params; /* .res is unused (due to its sample rate dependency) */
25  gfloat half;
26  gboolean force_trigger;
27 };
29 {};
31  DavSynDrumParams params;
32  gfloat last_trigger_level;
33  gfloat spring_vel;
34  gfloat spring_pos;
35  gfloat env;
36  gfloat freq_rad;
37  gfloat freq_shift;
38 };
39 
40 enum
41 {
42  DAV_SYN_DRUM_ICHANNEL_FREQ,
43  DAV_SYN_DRUM_ICHANNEL_RATIO,
44  DAV_SYN_DRUM_ICHANNEL_TRIGGER,
45  DAV_SYN_DRUM_N_ICHANNELS
46 };
47 enum
48 {
49  DAV_SYN_DRUM_OCHANNEL_MONO,
50  DAV_SYN_DRUM_N_OCHANNELS
51 };
52 
53 #endif /* __DAV_SYNDRUM_H__ */
Definition: davsyndrum.hh:23
Definition: davsyndrum.hh:17
Definition: davsyndrum.hh:30
Definition: bsesource.hh:82
Definition: bsesource.hh:90
Definition: davsyndrum.hh:28