Multitracking - restart when stopping or starting a movie, I busted this when refactoring to the Queued movie concept, also simplify some code in the multitrack object

This commit is contained in:
adelikat 2014-08-03 20:34:45 +00:00
parent 41ee6bf199
commit 2a7d4025cf
2 changed files with 32 additions and 9 deletions

View File

@ -200,6 +200,7 @@ namespace BizHawk.Client.Common
ReadOnly = true; ReadOnly = true;
} }
MultiTrack.Restart();
ModeChangedCallback(); ModeChangedCallback();
} }
@ -391,7 +392,6 @@ namespace BizHawk.Client.Common
if (Global.MovieSession.MultiTrack.IsActive) if (Global.MovieSession.MultiTrack.IsActive)
{ {
MessageCallback("MultiTrack Enabled"); MessageCallback("MultiTrack Enabled");
MultiTrack.CurrentState = "Recording None";
} }
else else
{ {
@ -415,6 +415,7 @@ namespace BizHawk.Client.Common
{ {
Movie = QueuedMovie; Movie = QueuedMovie;
QueuedMovie = null; QueuedMovie = null;
MultiTrack.Restart();
if (Movie.IsRecording) if (Movie.IsRecording)
{ {

View File

@ -2,29 +2,55 @@
{ {
public class MultitrackRecording public class MultitrackRecording
{ {
public void Restart()
{
IsActive = false;
CurrentPlayer = 0;
RecordAll = false;
}
public bool IsActive { get; set; } public bool IsActive { get; set; }
public int CurrentPlayer { get; set; } public int CurrentPlayer{ get; set; }
public bool RecordAll { get; set; } public bool RecordAll { get; set; }
/// <summary> /// <summary>
/// A user friendly multitrack status /// A user friendly multitrack status
/// </summary> /// </summary>
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() public void SelectAll()
{ {
CurrentPlayer = 0; CurrentPlayer = 0;
RecordAll = true; RecordAll = true;
CurrentState = "Recording All";
} }
public void SelectNone() public void SelectNone()
{ {
RecordAll = false; RecordAll = false;
CurrentPlayer = 0; CurrentPlayer = 0;
CurrentState = "Recording None";
} }
public void Increment() public void Increment()
@ -35,8 +61,6 @@
{ {
CurrentPlayer = 1; CurrentPlayer = 1;
} }
CurrentState = "Recording Player " + CurrentPlayer;
} }
public void Decrement() public void Decrement()
@ -47,8 +71,6 @@
{ {
CurrentPlayer = Global.Emulator.ControllerDefinition.PlayerCount; CurrentPlayer = Global.Emulator.ControllerDefinition.PlayerCount;
} }
CurrentState = "Recording Player " + CurrentPlayer;
} }
} }
} }