public void StopMovie(bool saveChanges = true) { if (Movie.IsActive()) { var message = "Movie "; if (Movie.IsRecording()) { message += "recording "; } else if (Movie.IsPlayingOrFinished()) { message += "playback "; } message += "stopped."; var result = Movie.Stop(saveChanges); if (result) { Output($"{Path.GetFileName(Movie.Filename)} written to disk."); } Output(message); ReadOnly = true; MultiTrack.Restart(Movie.Emulator.ControllerDefinition.PlayerCount); _modeChangedCallback(); } // TODO: we aren't ready for this line, keeping the old movie hanging around masks a lot of Tastudio problems // Uncommenting this can cause drawing crashes in tastudio since it depends on a ITasMovie and doesn't have one between closing and opening a rom //Movie = null; }
public void StopMovie(bool saveChanges = true) { var message = "Movie "; if (Movie.IsRecording) { message += "recording "; } else if (Movie.IsPlaying) { message += "playback "; } message += "stopped."; if (Movie.IsActive) { var result = Movie.Stop(saveChanges); if (result) { Output(Path.GetFileName(Movie.Filename) + " written to disk."); } Output(message); ReadOnly = true; } MultiTrack.Restart(); ModeChangedCallback(); }
public void RunQueuedMovie(bool recordMode, IEmulator emulator) { _queuedMovie.Attach(this, emulator); foreach (var previousPref in _preferredCores) { Global.Config.PreferredCores[previousPref.Key] = previousPref.Value; } Movie = _queuedMovie; _queuedMovie = null; MultiTrack.Restart(Movie.Emulator.ControllerDefinition.PlayerCount); Movie.ProcessSavestate(Movie.Emulator); Movie.ProcessSram(Movie.Emulator); if (recordMode) { Movie.StartNewRecording(); ReadOnly = false; } else { Movie.StartNewPlayback(); } }
/// <summary> /// Sets the Movie property with the QueuedMovie, clears the queued movie, and starts the new movie /// </summary> public void RunQueuedMovie(bool recordMode) { Movie = QueuedMovie; QueuedMovie = null; MultiTrack.Restart(); if (recordMode) { Movie.StartNewRecording(); ReadOnly = false; } else { Movie.StartNewPlayback(); } }