Audio: Added Stereo Support

RainbowLine: Moved FadeOut effect to Keyboard
Loudness: Changed to use Stereo
Keyboard: Fixed Wrong Column Mapping
This commit is contained in:
Maurice Grönwoldt 2021-02-24 18:52:01 +01:00
commit 2e266fe038
10 changed files with 105 additions and 69 deletions

View file

@ -35,8 +35,8 @@ public:
void init();
FFT fft;
ReqMode requestMode = ReqMode::FFT;
double loudness = 0.0;
float getLoudness();
stereoSampleFrame loudness = {0.0, 0.0};
stereoSampleFrame getLoudness();
bool work();
VUtils::Environment *env = nullptr;
private:

View file

@ -39,6 +39,7 @@ public:
int getIndex(int row, int col);
// PLEASE MAKE SURE YOU KNOW THE LIMITS!
int getIndexNoCheck(int row, int col);
static void fadeOutMap(led_map* map, double factor);
protected:
void setupMap();
// we need some mapping feature! rows and cols dont have the same amount of keys. so the struct needs

View file

@ -1,4 +1,5 @@
#pragma once
#include <VulcanoLE/Visual/VIZ.h>
#include <VulcanoLE/Audio/AudioGrabber.h>
#include <VulcanoLE/Keyboards/Vulcan121.h>
@ -10,9 +11,18 @@ namespace VIZ {
~Loudness() override = default;
void onSetup() override;
void onTick(float delta) override;
float lastVal = 0;
void setForChannel(float value, int channel);
void drawFrame(int toRow);
const char *name() override;
std::string m_name = "Loudness Meter";
protected:
rgba colours[3] = {
{ 0, 0, 255, 80 },
{ 0, 255, 0, 80 },
{ 255, 0, 0, 40 }
};
double tailFactor = 0;
led_map *data = Vulcan121::createEmptyLEDMap();
};
}

View file

@ -10,7 +10,7 @@ namespace VIZ {
rgba *colours = nullptr;
double lastValue = 0;
double decayValue = 0;
double ratios[4] = {1.3,1.2,1.3,1.4};
double ratios[4] = {1.3,1.3,1.3,1.2};
double tailFactor = 0.3;
public:
RainbowLine(AudioGrabber *pGrabber, Vulcan121 *vulcan);
@ -18,7 +18,6 @@ namespace VIZ {
void onSetup() override;
void onTick(float delta) override;
void calcNextDelta(double ratio);
void updateMap(double factor);
const char *name() override;
std::string m_name = "Rainbow Line";
led_map *data = Vulcan121::createEmptyLEDMap();