]> git.treefish.org Git - seamulator.git/blob - include/dot.h
4e086bdc6e77678547bd56bd734264cbdd480f22
[seamulator.git] / include / dot.h
1 #pragma once
2
3 #include <mutex>
4
5 #include "Plucked.h"
6 #include "Brass.h"
7 #include "Bowed.h"
8 #include "Guitar.h"
9 #include "Mandolin.h"
10 #include "Sitar.h"
11 #include "BeeThree.h"
12
13 #include "surfacepoint.h"
14
15 class Dot {
16
17 public:
18     Dot(const SurfacePoint& point, double frequency);
19
20     void advance(const double deltaT);
21     stk::StkFloat tick();
22
23 private:
24     std::mutex m_mutex;
25     
26     stk::Plucked m_noise;
27
28     const SurfacePoint& m_point;
29     const double m_frequency;
30
31     double m_pos = 0.0;
32     double m_vel = 0.0;
33     double m_maxAbsVel = 0.0;
34
35 };