#pragma once #include "FrameSource.h" #include "../shape/Shape.h" #include "../obj/WorldObject.h" #include "../obj/Camera.h" #include "../svg/SvgParser.h" #include "../txt/TextParser.h" #include "../lua/LuaParser.h" class FileParser : public FrameSource { public: FileParser(); void parse(juce::String extension, std::unique_ptr) override; std::vector> nextFrame() override; Vector2 nextSample() override; bool isSample() override; bool isActive() override; void disable() override; void enable() override; std::shared_ptr getObject(); std::shared_ptr getCamera(); std::shared_ptr getSvg(); std::shared_ptr getText(); std::shared_ptr getLua(); private: bool active = true; bool sampleSource = false; juce::SpinLock lock; std::shared_ptr object; std::shared_ptr camera; std::shared_ptr svg; std::shared_ptr text; std::shared_ptr lua; };