1 /* 2 Scape.h 3 4 Copyright 2004-16 Tim Goetze <tim@quitte.de> 5 6 http://quitte.de/dsp/ 7 8 */ 9 /* 10 This program is free software; you can redistribute it and/or 11 modify it under the terms of the GNU General Public License 12 as published by the Free Software Foundation; either version 3 13 of the License, or (at your option) any later version. 14 15 This program is distributed in the hope that it will be useful, 16 but WITHOUT ANY WARRANTY; without even the implied warranty of 17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 GNU General Public License for more details. 19 20 You should have received a copy of the GNU General Public License 21 along with this program; if not, write to the Free Software 22 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 23 02111-1307, USA or point your web browser to http://www.gnu.org. 24 */ 25 26 #ifndef SCAPE_H 27 #define SCAPE_H 28 29 #include "dsp/Sine.h" 30 #include "dsp/Roessler.h" 31 #include "dsp/Lorenz.h" 32 #include "dsp/Delay.h" 33 #include "dsp/IIR1.h" 34 #include "dsp/IIR2.h" 35 #include "dsp/RBJ.h" 36 #include "dsp/SVF.h" 37 38 class Scape 39 : public Plugin 40 { 41 public: 42 sample_t time, fb; 43 double period; 44 45 struct { 46 DSP::Lorenz lorenz; 47 DSP::LP1<sample_t> lp; get__anon6b45bb5c010848 sample_t get() { return lp.process(lorenz.get()); } 49 } lfo[2]; 50 51 DSP::Delay delay; 52 DSP::SVFI<1> svf[4]; 53 DSP::HP1<float> hipass[4]; 54 55 void cycle (uint frames); 56 57 public: 58 static PortInfo port_info []; 59 60 void init(); 61 void activate(); 62 }; 63 64 class DDDelay 65 : public Plugin 66 { 67 public: 68 struct { 69 DSP::Delay delay; 70 DSP::LP1<sample_t> lp; 71 } step[4]; 72 void cycle (uint frames); 73 74 public: 75 static PortInfo port_info []; 76 77 void init(); 78 void activate(); 79 }; 80 81 #endif /* SCAPE_H */ 82