コード例 #1
0
ファイル: MovieSession.cs プロジェクト: Patashu/BizHawk
        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;
        }
コード例 #2
0
        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();
        }
コード例 #3
0
ファイル: MovieSession.cs プロジェクト: Patashu/BizHawk
        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();
            }
        }
コード例 #4
0
        /// <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();
            }
        }