Mesen-SX/Core/MovieManager.h

33 lines
622 B
C
Raw Permalink Normal View History

#pragma once
#include "stdafx.h"
#include "MessageManager.h"
#include "IInputProvider.h"
#include "MovieTypes.h"
class MovieRecorder;
class VirtualFile;
class Console;
class IMovie : public IInputProvider
{
public:
virtual bool Play(VirtualFile &file) = 0;
virtual bool IsPlaying() = 0;
};
class MovieManager
{
private:
2019-10-16 20:22:45 -04:00
shared_ptr<Console> _console;
shared_ptr<IMovie> _player;
shared_ptr<MovieRecorder> _recorder;
public:
2019-10-16 20:22:45 -04:00
MovieManager(shared_ptr<Console> console);
void Record(RecordMovieOptions options);
void Play(VirtualFile file, bool silent = false);
void Stop();
bool Playing();
bool Recording();
};