diff --git a/BizHawk.Client.Common/movie/MovieSession.cs b/BizHawk.Client.Common/movie/MovieSession.cs index 5a5380dcc0..bbcb9c306b 100644 --- a/BizHawk.Client.Common/movie/MovieSession.cs +++ b/BizHawk.Client.Common/movie/MovieSession.cs @@ -200,6 +200,7 @@ namespace BizHawk.Client.Common ReadOnly = true; } + MultiTrack.Restart(); ModeChangedCallback(); } @@ -391,7 +392,6 @@ namespace BizHawk.Client.Common if (Global.MovieSession.MultiTrack.IsActive) { MessageCallback("MultiTrack Enabled"); - MultiTrack.CurrentState = "Recording None"; } else { @@ -415,6 +415,7 @@ namespace BizHawk.Client.Common { Movie = QueuedMovie; QueuedMovie = null; + MultiTrack.Restart(); if (Movie.IsRecording) { diff --git a/BizHawk.Client.Common/movie/MultitrackRecording.cs b/BizHawk.Client.Common/movie/MultitrackRecording.cs index 5a2ed7db88..6ffdcecfb3 100644 --- a/BizHawk.Client.Common/movie/MultitrackRecording.cs +++ b/BizHawk.Client.Common/movie/MultitrackRecording.cs @@ -2,29 +2,55 @@ { public class MultitrackRecording { + public void Restart() + { + IsActive = false; + CurrentPlayer = 0; + RecordAll = false; + } + public bool IsActive { get; set; } - public int CurrentPlayer { get; set; } + public int CurrentPlayer{ get; set; } public bool RecordAll { get; set; } /// /// A user friendly multitrack status /// - public string CurrentState { get; set; } + public string CurrentState + { + get + { + if (!IsActive) + { + return string.Empty; + } + + if (RecordAll) + { + return "Recording All"; + } + + if (CurrentPlayer == 0) + { + return "Recording None"; + } + + return "Recording Player " + CurrentPlayer; + } + } public void SelectAll() { CurrentPlayer = 0; RecordAll = true; - CurrentState = "Recording All"; } public void SelectNone() { RecordAll = false; CurrentPlayer = 0; - CurrentState = "Recording None"; } public void Increment() @@ -35,8 +61,6 @@ { CurrentPlayer = 1; } - - CurrentState = "Recording Player " + CurrentPlayer; } public void Decrement() @@ -47,8 +71,6 @@ { CurrentPlayer = Global.Emulator.ControllerDefinition.PlayerCount; } - - CurrentState = "Recording Player " + CurrentPlayer; } } }