BogaudioModules

BogaudioModules for VCV Rack
Log | Files | Refs | README | LICENSE

rack_overrides.hpp (673B)


      1 #pragma once
      2 
      3 #include "rack.hpp"
      4 
      5 using namespace rack;
      6 
      7 namespace bogaudio {
      8 
      9 struct Trigger : rack::dsp::SchmittTrigger {
     10 	float _highThreshold;
     11 	float _lowThreshold;
     12 
     13 	Trigger(float highThreshold = 1.0f, float lowThreshold = 0.1f)
     14 	: _highThreshold(highThreshold)
     15 	, _lowThreshold(lowThreshold)
     16 	{
     17 		assert(_highThreshold > _lowThreshold);
     18 		reset();
     19 	}
     20 
     21 	bool process(float in);
     22 };
     23 
     24 struct NegativeTrigger : Trigger {
     25 	NegativeTrigger(float highThreshold = -1.0f, float lowThreshold = -0.1f) : Trigger(-highThreshold, -lowThreshold) {}
     26 
     27 	bool process(float in);
     28 };
     29 
     30 inline float getZoom() {
     31 	return APP->scene->rackScroll->zoomWidget->zoom;
     32 }
     33 
     34 } // namespace bogaudio