diff --git a/src/BizHawk.Client.Common/Api/Classes/MovieApi.cs b/src/BizHawk.Client.Common/Api/Classes/MovieApi.cs index ce13a0f3b1..01fc3912f1 100644 --- a/src/BizHawk.Client.Common/Api/Classes/MovieApi.cs +++ b/src/BizHawk.Client.Common/Api/Classes/MovieApi.cs @@ -9,13 +9,16 @@ namespace BizHawk.Client.Common { public sealed class MovieApi : IMovieApi { + private readonly IMainFormForApi _mainForm; + private readonly IMovieSession _movieSession; private readonly Action LogCallback; - public MovieApi(Action logCallback, IMovieSession movieSession) + public MovieApi(Action logCallback, IMainFormForApi mainForm, IMovieSession movieSession) { LogCallback = logCallback; + _mainForm = mainForm; _movieSession = movieSession; } @@ -103,7 +106,8 @@ namespace BizHawk.Client.Common public void SetRerecordCounting(bool counting) => _movieSession.Movie.IsCountingRerecords = counting; - public void Stop() => _movieSession.StopMovie(); + public void Stop() + => _mainForm.StopMovie(); public double GetFps() { diff --git a/src/BizHawk.Client.Common/IMainFormForApi.cs b/src/BizHawk.Client.Common/IMainFormForApi.cs index ff6f4286ad..16f856ae9a 100644 --- a/src/BizHawk.Client.Common/IMainFormForApi.cs +++ b/src/BizHawk.Client.Common/IMainFormForApi.cs @@ -87,6 +87,9 @@ namespace BizHawk.Client.Common /// only referenced from EmuClientApi void StepRunLoop_Throttle(); + /// only referenced from + void StopMovie(bool saveChanges = true); + /// only referenced from EmuClientApi void TakeScreenshot(); diff --git a/src/BizHawk.Client.EmuHawk/MainForm.Movie.cs b/src/BizHawk.Client.EmuHawk/MainForm.Movie.cs index 91a9ec4bab..e87ec85a88 100644 --- a/src/BizHawk.Client.EmuHawk/MainForm.Movie.cs +++ b/src/BizHawk.Client.EmuHawk/MainForm.Movie.cs @@ -86,7 +86,7 @@ namespace BizHawk.Client.EmuHawk UpdateStatusSlots(); } - private void StopMovie(bool saveChanges = true) + public void StopMovie(bool saveChanges = true) { if (IsSlave && Master.WantsToControlStopMovie) {