BEAST/BSE - Better Audio System and Sound Engine  0.9.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
bsestandardosc.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_STANDARD_OSC_H__
3 #define __BSE_STANDARD_OSC_H__
4 #include <bse/bsesource.hh>
5 #include <bse/gsloscillator.hh>
6 G_BEGIN_DECLS
7 
8 #define BSE_TYPE_STANDARD_OSC (BSE_TYPE_ID (BseStandardOsc))
9 #define BSE_STANDARD_OSC(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), BSE_TYPE_STANDARD_OSC, BseStandardOsc))
10 #define BSE_STANDARD_OSC_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), BSE_TYPE_STANDARD_OSC, BseStandardOscClass))
11 #define BSE_IS_STANDARD_OSC(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), BSE_TYPE_STANDARD_OSC))
12 #define BSE_IS_STANDARD_OSC_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), BSE_TYPE_STANDARD_OSC))
13 #define BSE_STANDARD_OSC_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), BSE_TYPE_STANDARD_OSC, BseStandardOscClass))
14 
15 typedef enum
16 {
17  BSE_STANDARD_OSC_SINE = GSL_OSC_WAVE_SINE, /*< nick=Sine >*/
18  BSE_STANDARD_OSC_TRIANGLE = GSL_OSC_WAVE_TRIANGLE, /*< nick=Triangle >*/
19  BSE_STANDARD_OSC_SAW_RISE = GSL_OSC_WAVE_SAW_RISE, /*< nick=Rising Saw >*/
20  BSE_STANDARD_OSC_SAW_FALL = GSL_OSC_WAVE_SAW_FALL, /*< nick=Falling Saw >*/
21  BSE_STANDARD_OSC_PEAK_RISE = GSL_OSC_WAVE_PEAK_RISE, /*< nick=Rising Peak >*/
22  BSE_STANDARD_OSC_PEAK_FALL = GSL_OSC_WAVE_PEAK_FALL, /*< nick=Falling Peak >*/
23  BSE_STANDARD_OSC_MOOG_SAW = GSL_OSC_WAVE_MOOG_SAW, /*< nick=Moog Saw >*/
24  BSE_STANDARD_OSC_SQUARE = GSL_OSC_WAVE_SQUARE, /*< nick=Square >*/
25  BSE_STANDARD_OSC_PULSE = GSL_OSC_WAVE_PULSE_SAW /*< nick=Pulse >*/
26 } BseStandardOscWaveType;
27 
29  BseStandardOscWaveType wave;
30  GslOscConfig config;
31  int transpose;
32  gfloat fm_strength;
33  gfloat n_octaves;
34 };
36 {};
37 
38 enum
39 {
40  BSE_STANDARD_OSC_ICHANNEL_FREQ,
41  BSE_STANDARD_OSC_ICHANNEL_FREQ_MOD,
42  BSE_STANDARD_OSC_ICHANNEL_PWM,
43  BSE_STANDARD_OSC_ICHANNEL_SYNC,
44  BSE_STANDARD_OSC_N_ICHANNELS
45 };
46 enum
47 {
48  BSE_STANDARD_OSC_OCHANNEL_OSC,
49  BSE_STANDARD_OSC_OCHANNEL_SYNC,
50  BSE_STANDARD_OSC_N_OCHANNELS
51 };
52 
53 G_END_DECLS
54 
55 #endif /* __BSE_STANDARD_OSC_H__ */
Definition: bsesource.hh:84
Definition: bsestandardosc.hh:35
Definition: bsesource.hh:92
Definition: bsestandardosc.hh:28
Definition: gsloscillator.hh:14