#pragma once #include "engine/models/magenta_realtime_2/assets.h" #include "engine/framework/core/execution_context.h" #include #include #include namespace engine::models::magenta_realtime_2 { class SpectroStreamRuntime { public: SpectroStreamRuntime(core::ExecutionContext & execution, std::shared_ptr assets); ~SpectroStreamRuntime(); void reset(); // At most four consecutive 25 Hz frames, returning interleaved 48 kHz stereo. std::vector decode(const std::vector> & codes); private: class Impl; std::unique_ptr impl_; }; } // namespace engine::models::magenta_realtime_2