public WhirligigTimeSource(ISampleClock clock, WhirligigConnectionSettings connectionSettings)
        {
            _connectionSettings = connectionSettings;

            _timeSource = new ManualTimeSource(clock, TimeSpan.FromMilliseconds(100));
            _timeSource.DurationChanged     += TimeSourceOnDurationChanged;
            _timeSource.IsPlayingChanged    += TimeSourceOnIsPlayingChanged;
            _timeSource.ProgressChanged     += TimeSourceOnProgressChanged;
            _timeSource.PlaybackRateChanged += TimeSourceOnPlaybackRateChanged;

            _clientLoop = new Thread(ClientLoop);
            _clientLoop.Start();
        }
 public void UpdateConnectionSettings(WhirligigConnectionSettings connectionSettings)
 {
     _connectionSettings = connectionSettings;
 }