1 /* 2 * custom_periodic.h 3 * DIN Is Noise is copyright (c) 2006-2021 Jagannathan Sampath 4 * DIN Is Noise is released under GNU Public License 2.0 5 * For more information, please visit https://dinisnoise.org/ 6 */ 7 8 #ifndef __CUSTOM_PERIODIC 9 #define __CUSTOM_PERIODIC 10 11 #include "multi_curve.h" 12 #include "solver.h" 13 #include "curve_listener.h" 14 #include "funktion.h" 15 16 #include <string> 17 18 extern const float TWO_PI; 19 20 // periodic function defined by a bezier curve 21 struct custom_periodic : funktion { 22 std::string fname; 23 multi_curve crv; 24 solver sol; 25 float div; 26 custom_periodic (const std::string& fname, float _div = TWO_PI); 27 ~custom_periodic (); 28 float operator() (float a, float ea); 29 }; 30 31 #endif 32 33 34 35