VulcanoLE/headers/VulcanoLE/Visual/VisPlugins.h

33 lines
828 B
C++

#pragma once
#include <vector>
#include <VulcanoLE/Scripts/Spectrum.h>
#define VIZSIZE 10
using micro = std::chrono::duration<double, std::micro>;
using ms = std::chrono::duration<double, std::milli>;
namespace VIZ {
struct VisPlugins {
int mode = 0;
void init(HIDHelper *, AudioGrabber *);
void onStartup();
void onTick();
void onShutdown();
void setCurrentMode(int);
~VisPlugins();
VUtils::Environment *env{};
protected:
std::mutex guard;
VIZ *viz[VIZSIZE]{};
VIZ *currentVis{};
Vulcan121 *keyboard{};
AudioGrabber *grabber{};
std::chrono::time_point<std::chrono::system_clock, micro> start;
std::chrono::time_point<std::chrono::system_clock, ms> frameStart;
long frames = 0;
};
}