#pragma once #include #include #include #include class Playback { private: std::string filePath; std::atomic_bool running; std::atomic_bool file_changed; std::atomic_bool seeking; std::atomic_bool update; std::mutex flag_mutex; std::thread thread; double position; double length; bool paused; void ThreadFunc(); public: Playback(); ~Playback(); double GetPosition(); double GetLength(); void Seek(double position); void Start(std::string filePath); bool IsPaused(); void Pause(); void Stop(); void Update(); bool IsStopped(); float volume; float speed; };