#pragma once #include #include #define VIZSIZE 10 using micro = std::chrono::duration; using ms = std::chrono::duration; 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 start; std::chrono::time_point frameStart; long frames = 0; }; }