#pragma once #include #include #include class Config { public: Config(); ~Config(); bool hasChanged(); void load(); struct RootConfig { struct AudioConfig { std::vector devices; } audio; struct ButtonConfig { std::string name; std::string file; std::string key; uint64_t offset; uint64_t length; bool isValid() const; }; std::vector buttons; std::string audioPath; } rootConfig; private: std::string file = "soundboard.json"; };