YSE sound engine  1.0
cross platform sound engine
 All Classes Namespaces Functions Pages
ringModulator.hpp
1 /*
2  ==============================================================================
3 
4  ringModulator.h
5  Created: 31 Jan 2014 2:56:31pm
6  Author: yvan
7 
8  ==============================================================================
9 */
10 
11 #ifndef RINGMODULATOR_H_INCLUDED
12 #define RINGMODULATOR_H_INCLUDED
13 
14 #include "../../headers/defines.hpp"
15 #include "../dspObject.hpp"
16 #include "../oscillators.hpp"
17 
18 /* when building a new dsp module, take this as an example.
19 Also don't forget to:
20 1. add a new type to DSP_TYPE in dspElement.h
21 2. include your header file to dsp.h
22 4. add code to add and remove functions in dsp.cpp
23 5. add code to callback function in dsp.cpp
24 */
25 
26 namespace YSE {
27  namespace DSP {
28  class API ringModulator : dspObject {
29  public:
30  // these functions are thread safe
31  ringModulator();
32 
33  ringModulator& frequency(Flt value);
34  Flt frequency();
35  ringModulator& level(Flt value);
36  Flt level();
37 
38  // dsp function
39  virtual void process(MULTICHANNELBUFFER & buffer);
40 
41  private:
42  aFlt parmFrequency;
43  aFlt parmLevel;
44  sine sineGen;
45  sample extra;
46  };
47 
48  }
49 }
50 
51 
52 
53 
54 #endif // RINGMODULATOR_H_INCLUDED