VulcanoLE/headers/VulcanoLE/Scripts/RainbowLine.h

29 lines
837 B
C++

#pragma once
#include <VulcanoLE/Visual/VIZ.h>
namespace VIZ {
class RainbowLine : public VIZ {
int currentColumn = 0;
double deltaNeeded = 0.0;
double deltaElapsed = 0;
rgba *colours = nullptr;
int maxCols = 0;
double lastValue = 0;
double decayValue = 0;
double tailFactor = 0.5;
public:
RainbowLine(AudioGrabber *pGrabber, Vulcan121 *vulcan);
~RainbowLine() override;
void onSetup() override;
void onTick(float delta) override;
void calcNextDelta(double ratio);
const char *name() override;
std::string m_name = "Rainbow Line";
led_map data{};
bool firstUnder = true;
double deltaMove(double val);
void moveLine(double val, double d);
double factor = 1.0;
};
}