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;
}
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)
{

View File

@ -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; }
/// <summary>
/// A user friendly multitrack status
/// </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()
{
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;
}
}
}