ofxPDSP
LFO.h
1 
2 // LFO.h
3 // ofxPDSP
4 // Nicola Pisanti, MIT License, 2016
5 
6 #ifndef PDSP_MODULE_LFO_H_INCLUDED
7 #define PDSP_MODULE_LFO_H_INCLUDED
8 
9 #include "../../DSP/pdspCore.h"
10 #include "../../DSP/oscillators/cheap/CheapSaw.h"
11 #include "../../DSP/oscillators/cheap/CheapSine.h"
12 #include "../../DSP/oscillators/cheap/CheapTri.h"
13 #include "../../DSP/oscillators/cheap/CheapPulse.h"
14 #include "../../DSP/oscillators/phasors/LFOPhasor.h"
15 #include "../../DSP/oscillators/phasors/ClockedPhasor.h"
16 #include "../../DSP/filters/OnePole.h"
17 #include "../../DSP/random/TriggeredRandom.h"
18 
19 namespace pdsp{
20 
25 class LFO : public Patchable {
26 
27 public:
28 
29  LFO();
30  LFO(const LFO &Other);
31  LFO& operator=(const LFO &Other);
32 
36  Patchable& in_freq();
37 
42 
47 
52 
57 
61  Patchable& out_saw();
62 
67 
72 
77 
78 
79 private:
80  void patch();
81 
82 
83  PatchNode speed;
84  LFOPhasor phasorFree;
85 
86 
87  CheapSaw saw;
88  CheapPulse square;
89  CheapSine sine;
90  CheapTri triangle;
91  TriggeredRandom rnd;
92 
93  OnePole randomSlew;
94  OnePole randomSnHSlew;
95  OnePole squareSlew;
96  OnePole sawSlew;
97 
98 
99 };
100 
101 } //END NAMESPACE
102 
103 
104 #endif // PDSP_MODULE_LFO_H_INCLUDED
Economic saw oscillator.
Definition: CheapSaw.h:19
Random values clocked by an external trigger.
Definition: TriggeredRandom.h:20
Patchable & in_phase_start()
Sets "phase_start" as selected input and returns this module ready to be patched. This is the startin...
Definition: LFO.cpp:49
Patchable & out_sine()
Sets "sine" as selected output and returns this module ready to be patched. This is the sine waveform...
Definition: LFO.cpp:57
Patchable & out_square()
Sets "square" as selected output and returns this module ready to be patched. This is the square wave...
Definition: LFO.cpp:65
non-clocked LFO
Definition: LFO.h:25
Economic triangle oscillator.
Definition: CheapTri.h:19
Simple phazor for LFOs.
Definition: LFOPhasor.h:22
Economic pulse oscillator.
Definition: CheapPulse.h:20
Abstract class for implementing Units and Modules.
Definition: BasicNodes.h:82
Patchable & in_freq()
Sets "freq" as selected input and returns this module ready to be patched. This is the default input...
Definition: LFO.cpp:41
Economic sine oscillator.
Definition: CheapSine.h:22
Thread-safe value control with smoothing.
Definition: SequencerBridge.h:11
A Unit with no dsp inside, it just pass it's input to the output. Patching float to this Unit is thre...
Definition: PatchNode.h:41
Patchable & out_random()
Sets "random" as selected output and returns this module ready to be patched. This is random output...
Definition: LFO.cpp:73
Patchable & out_triangle()
Sets "triangle" as selected output and returns this module ready to be patched. This is the default o...
Definition: LFO.cpp:53
Patchable & out_saw()
Sets "sine" as selected output and returns this module ready to be patched. This is the saw waveform ...
Definition: LFO.cpp:61
Patchable & in_retrig()
Sets "retrig" as selected input and returns this module ready to be patched. Connect a "trig" output ...
Definition: LFO.cpp:45
Patchable & out_sample_and_hold()
Sets "sample_and_hold" as selected output and returns this module ready to be patched. This is the sample & hold waveform output.
Definition: LFO.cpp:69
1 pole high/low pass filter
Definition: OnePole.h:18