diff --git a/OpenF1.Console/Display/MainDisplay.cs b/OpenF1.Console/Display/MainDisplay.cs index 84692b4..54087d6 100644 --- a/OpenF1.Console/Display/MainDisplay.cs +++ b/OpenF1.Console/Display/MainDisplay.cs @@ -21,10 +21,12 @@ public Task GetContentAsync() Welcome to [bold italic]Open F1 Console[/]. To start a live timing session, press [bold]S[/] then [bold]L[/]. - To start a replay an recorded session, press [bold]S[/] then [bold]F[/]. + To start a replay a previously recorded/imported session, press [bold]S[/] then [bold]F[/]. Once a session is started, navigate to the Timing Tower using [bold]T[/] Then use the Arrow Keys [bold]◄[/]/[bold]►[/] to switch between timing pages. + Use [bold]N[/]/[bold]M[/] to adjust the stream delay, and [bold]▲[/]/[bold]▼[/] keys to use the cursor. + Press Shift with these keys to adjust by a higher amount. You can download old session data from Formula 1 by running: > openf1-console import list diff --git a/OpenF1.Console/Input/Session/StartLiveSessionInputHandler.cs b/OpenF1.Console/Input/Session/StartLiveSessionInputHandler.cs index 7571939..541e72f 100644 --- a/OpenF1.Console/Input/Session/StartLiveSessionInputHandler.cs +++ b/OpenF1.Console/Input/Session/StartLiveSessionInputHandler.cs @@ -3,7 +3,8 @@ public class StartLiveSessionInputHandler( SessionInfoProcessor sessionInfo, - ILiveTimingClient liveTimingClient + ILiveTimingClient liveTimingClient, + State state ) : IInputHandler { public bool IsEnabled => sessionInfo.Latest.Name is null; @@ -19,5 +20,9 @@ ILiveTimingClient liveTimingClient public async Task ExecuteAsync( ConsoleKeyInfo consoleKeyInfo, CancellationToken cancellationToken = default - ) => await liveTimingClient.StartAsync(); + ) + { + await liveTimingClient.StartAsync(); + state.CurrentScreen = Screen.TimingTower; + } } diff --git a/OpenF1.Console/Input/Session/StartSimulatedSessionInputHandler.cs b/OpenF1.Console/Input/Session/StartSimulatedSessionInputHandler.cs index e5d29ae..6fc63f3 100644 --- a/OpenF1.Console/Input/Session/StartSimulatedSessionInputHandler.cs +++ b/OpenF1.Console/Input/Session/StartSimulatedSessionInputHandler.cs @@ -43,7 +43,7 @@ displayOptions.SelectedLocation is null if (state.CursorOffset >= 0 && state.CursorOffset < selected.Count) { _ = jsonTimingClient.StartAsync(selected.ElementAt(state.CursorOffset).Directory); - state.CurrentScreen = Screen.ManageSession; + state.CurrentScreen = Screen.TimingTower; } } } diff --git a/OpenF1.Console/Input/SwitchToSessionInputHandler.cs b/OpenF1.Console/Input/SwitchToSessionInputHandler.cs index a8625a0..9af322e 100644 --- a/OpenF1.Console/Input/SwitchToSessionInputHandler.cs +++ b/OpenF1.Console/Input/SwitchToSessionInputHandler.cs @@ -4,7 +4,7 @@ public class SwitchToSessionInputHandler(State state) : IInputHandler { public bool IsEnabled => true; - public Screen[] ApplicableScreens => [Screen.Main]; + public Screen[] ApplicableScreens => [Screen.Main, Screen.TimingTower]; public ConsoleKey[] Keys => [ConsoleKey.S];