mirror of
				https://github.com/AquaMorph/Droplets.git
				synced 2025-10-30 16:13:20 +00:00 
			
		
		
		
	Droplet size
This commit is contained in:
		| @@ -7,8 +7,11 @@ | |||||||
|  |  | ||||||
| using namespace daisy; | using namespace daisy; | ||||||
|  |  | ||||||
|  | enum class DropletState {kFull, kLeft, kRight}; | ||||||
|  |  | ||||||
| class Droplet { | class Droplet { | ||||||
|  public: |  public: | ||||||
|  |   DropletState state; | ||||||
|   virtual ~Droplet() {}; |   virtual ~Droplet() {}; | ||||||
|   virtual void Control()=0; |   virtual void Control()=0; | ||||||
|   virtual void Process(float**, float**, size_t)=0; |   virtual void Process(float**, float**, size_t)=0; | ||||||
|   | |||||||
| @@ -1,11 +1,16 @@ | |||||||
| #include "noise_droplet.h" | #include "noise_droplet.h" | ||||||
|  |  | ||||||
| NoiseDroplet::NoiseDroplet(DaisyPatch* m_patch, float sample_rate) { | NoiseDroplet::NoiseDroplet(DaisyPatch* m_patch, | ||||||
|  | 			   float sample_rate, | ||||||
|  | 			   DropletState m_state) { | ||||||
|   noise.Init(); |   noise.Init(); | ||||||
|  |   filter.Init(); | ||||||
|   patch = m_patch; |   patch = m_patch; | ||||||
|  |   state = m_state; | ||||||
| } | } | ||||||
|  |  | ||||||
| void NoiseDroplet::Control() {} | void NoiseDroplet::Control() {} | ||||||
|  |  | ||||||
| void NoiseDroplet::Process(float** in, float** out, size_t size) { | void NoiseDroplet::Process(float** in, float** out, size_t size) { | ||||||
|   for (size_t i = 0; i < size; i += 2) { |   for (size_t i = 0; i < size; i += 2) { | ||||||
|     float sig = noise.Process(); |     float sig = noise.Process(); | ||||||
| @@ -14,6 +19,7 @@ void NoiseDroplet::Process(float** in, float** out, size_t size) { | |||||||
|     } |     } | ||||||
|   } |   } | ||||||
| } | } | ||||||
|  |  | ||||||
| void NoiseDroplet::Draw() { | void NoiseDroplet::Draw() { | ||||||
|   WriteString(*patch, 0, 30, Font_6x8, "Test"); |   WriteString(*patch, 0, 30, Font_6x8, "Test"); | ||||||
| } | } | ||||||
|   | |||||||
| @@ -13,8 +13,9 @@ class NoiseDroplet: public Droplet { | |||||||
|  private: |  private: | ||||||
|   DaisyPatch* patch; |   DaisyPatch* patch; | ||||||
|   daisysp::WhiteNoise noise; |   daisysp::WhiteNoise noise; | ||||||
|  |   daisysp::NlFilt filter; | ||||||
|  public: |  public: | ||||||
|   NoiseDroplet(DaisyPatch*, float); |   NoiseDroplet(DaisyPatch*, float, DropletState); | ||||||
|   void Control(); |   void Control(); | ||||||
|   void Process(float**, float**, size_t); |   void Process(float**, float**, size_t); | ||||||
|   void Draw(); |   void Draw(); | ||||||
|   | |||||||
| @@ -19,7 +19,7 @@ Droplet* droplet; | |||||||
| int main(void) { | int main(void) { | ||||||
|   patch.Init(); |   patch.Init(); | ||||||
|   float samplerate = patch.AudioSampleRate(); |   float samplerate = patch.AudioSampleRate(); | ||||||
|   droplet = new NoiseDroplet(&patch, samplerate); |   droplet = new NoiseDroplet(&patch, samplerate, DropletState::kFull); | ||||||
|   patch.StartAdc(); |   patch.StartAdc(); | ||||||
|   patch.StartAudio(AudioThrough); |   patch.StartAudio(AudioThrough); | ||||||
|    |    | ||||||
| @@ -54,9 +54,9 @@ void ProcessOled() { | |||||||
|   if (menu.InMenu()) { |   if (menu.InMenu()) { | ||||||
|     menu.ProcessMenuOled(); |     menu.ProcessMenuOled(); | ||||||
|   } else { |   } else { | ||||||
|  |     droplet->Draw(); | ||||||
|     WriteString(patch, 0, 0, Font_6x8, menu.SelectedName()); |     WriteString(patch, 0, 0, Font_6x8, menu.SelectedName()); | ||||||
|   } |   } | ||||||
|   droplet->Draw(); |  | ||||||
|   patch.display.Update(); |   patch.display.Update(); | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user