1 /*
2 * lissajous.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 
9 #ifndef __lissajous
10 #define __lissajous
11 
12 #include "spinner.h"
13 #include "plugin.h"
14 
15 struct lissajous : plugin {
16 
17   point<float> center;
18   point<float> speed;
19 
20 	int num_points;
21 
22   float theta;
23   float dtheta;
24 
25   struct {
26     struct {
27       spinner<float> x, y;
28     } speed;
29     struct {
30       spinner<float> start, end;
31     } angle;
32     spinner<int> num_points;
33   } sp;
34 
35   struct {
36     float start, end;
37   } angle;
38 
39   lissajous ();
40   ~lissajous ();
41   void load_params ();
42   void save_params ();
43 
44   void setup ();
45   void render ();
46 
47 };
48 
49 #endif
50