public Session StartPlayback(string source, string sessionName, uint start, int end) { Session session; switch (_currentMode) { case ApplicationMode.Live: StopRecord(); session = _playbackService.Play(source, sessionName, start, end); break; case ApplicationMode.Play: case ApplicationMode.Waiting: session = _playbackService.Play(source, sessionName, start, end); break; default: throw new ArgumentOutOfRangeException(); } _currentMode = _playbackService.IsPlaying() ? ApplicationMode.Play : ApplicationMode.Waiting; return(session); }