Expose MovieSession settings and use those settings some in movie classes

This commit is contained in:
adelikat 2020-06-02 19:41:25 -05:00
parent 943d704ca5
commit 8c988ab2fc
4 changed files with 9 additions and 7 deletions

View File

@ -12,7 +12,6 @@ namespace BizHawk.Client.Common
public class MovieSession : IMovieSession
{
private readonly IMovieConfig _settings;
private readonly Action _pauseCallback;
private readonly Action _modeChangedCallback;
private readonly Action<string> _messageCallback;
@ -31,7 +30,7 @@ namespace BizHawk.Client.Common
Action pauseCallback,
Action modeChangedCallback)
{
_settings = settings;
Settings = settings;
_messageCallback = messageCallback;
_popupCallback = popupCallback;
_pauseCallback = pauseCallback
@ -40,6 +39,8 @@ namespace BizHawk.Client.Common
?? throw new ArgumentNullException($"{nameof(modeChangedCallback)} CannotUnloadAppDomainException be null.");
}
public IMovieConfig Settings { get; }
public IMovie Movie { get; private set; }
public bool ReadOnly { get; set; } = true;
public bool NewMovieQueued => _queuedMovie != null;
@ -122,7 +123,7 @@ namespace BizHawk.Client.Common
LatchInputToUser();
ClearFrame();
}
else if (_settings.MoviePlaybackPokeMode)
else if (Settings.MoviePlaybackPokeMode)
{
LatchInputToUser();
var lg = Movie.LogGeneratorInstance(Global.InputManager.MovieOutputHardpoint);
@ -313,7 +314,7 @@ namespace BizHawk.Client.Common
{
if (Movie.IsActive())
{
if (_settings.VBAStyleMovieLoadState)
if (Settings.VBAStyleMovieLoadState)
{
Output("Multi-track can not be used in Full Movie Loadstates mode");
}
@ -455,7 +456,7 @@ namespace BizHawk.Client.Common
}
// TODO: mainform callback to update on mode change
switch (_settings.MovieEndAction)
switch (Settings.MovieEndAction)
{
case MovieEndAction.Stop:
Movie.Stop();

View File

@ -160,7 +160,7 @@ namespace BizHawk.Client.Common
SetCycleValues(); // We are pretending these only need to be set on save
CreateDirectoryIfNotExists(fn);
using var bs = new ZipStateSaver(fn, Global.Config.Movies.MovieCompressionLevel);
using var bs = new ZipStateSaver(fn, Session.Settings.MovieCompressionLevel);
AddLumps(bs);
if (!isBackup)

View File

@ -101,7 +101,7 @@ namespace BizHawk.Client.Common
public virtual void RecordFrame(int frame, IController source)
{
if (Global.Config.Movies.VBAStyleMovieLoadState)
if (Session.Settings.VBAStyleMovieLoadState)
{
if (Emulator.Frame < Log.Count)
{

View File

@ -6,6 +6,7 @@ namespace BizHawk.Client.Common
{
public interface IMovieSession
{
IMovieConfig Settings { get; }
IMovie Movie { get; }
bool ReadOnly { get; set; }