Mesen-X/Core/MovieManager.h

31 lines
658 B
C
Raw Normal View History

2017-04-18 22:39:45 -04:00
#pragma once
#include "stdafx.h"
#include "MessageManager.h"
#include "EmulationSettings.h"
#include "IInputProvider.h"
#include "Types.h"
2017-04-18 22:39:45 -04:00
class MovieRecorder;
class VirtualFile;
class Console;
class IMovie : public IInputProvider
2017-04-18 22:39:45 -04:00
{
public:
virtual bool Play(VirtualFile &file) = 0;
2017-04-18 22:39:45 -04:00
virtual bool IsPlaying() = 0;
};
class MovieManager
{
private:
static shared_ptr<IMovie> _player;
static shared_ptr<MovieRecorder> _recorder;
2017-04-18 22:39:45 -04:00
public:
static void Record(RecordMovieOptions options, shared_ptr<Console> console);
static void Play(VirtualFile file, shared_ptr<Console> console);
2017-04-18 22:39:45 -04:00
static void Stop();
static bool Playing();
static bool Recording();
};