private void SubscribeToUpdateProcessIgnoreList() { _eventAggregator.GetEvent <PubSubEvent <ViewMessages.UpdateProcessIgnoreList> >() .Subscribe(msg => { ProcessesToIgnore.Clear(); ProcessesToIgnore.AddRange(CaptureServiceConfiguration.GetProcessIgnoreList()); }); }
private void OnAddToProcessList() { if (SelectedProcessToIgnore == null) { return; } StopCaptureService(); CaptureServiceConfiguration.RemoveProcessFromIgnoreList(SelectedProcessToIgnore); ProcessesToIgnore.Clear(); ProcessesToIgnore.AddRange(CaptureServiceConfiguration.GetProcessIgnoreList()); StartCaptureService(); }
public CaptureViewModel(IAppConfiguration appConfiguration, ICaptureService captureService, IEventAggregator eventAggregator, IRecordDataProvider recordDataProvider, IOverlayService overlayService, IStatisticProvider statisticProvider, ILogger <CaptureViewModel> logger) { _appConfiguration = appConfiguration; _captureService = captureService; _eventAggregator = eventAggregator; _recordDataProvider = recordDataProvider; _overlayService = overlayService; _statisticProvider = statisticProvider; _logger = logger; AddToIgonreListCommand = new DelegateCommand(OnAddToIgonreList); AddToProcessListCommand = new DelegateCommand(OnAddToProcessList); ResetCaptureProcessCommand = new DelegateCommand(OnResetCaptureProcess); _logger.LogDebug("{viewName} Ready", this.GetType().Name); CaptureStateInfo = "Service ready..." + Environment.NewLine + $"Press {CaptureHotkeyString} to start capture of the running process."; SelectedSoundMode = _appConfiguration.HotkeySoundMode; CaptureTimeString = _appConfiguration.CaptureTime.ToString(); ProcessesToIgnore.AddRange(CaptureServiceConfiguration.GetProcessIgnoreList()); _disposableHeartBeat = GetListUpdatHeartBeat(); _frametimeStream = new Subject <string>(); SubscribeToUpdateProcessIgnoreList(); SubscribeToGlobalCaptureHookEvent(); bool captureServiceStarted = StartCaptureService(); if (captureServiceStarted) { _overlayService.SetCaptureServiceStatus("Capture service ready..."); } _captureService.IsCaptureModeActiveStream.OnNext(false); FrametimeModel = new PlotModel { PlotMargins = new OxyThickness(40, 0, 0, 40), PlotAreaBorderColor = OxyColor.FromArgb(64, 204, 204, 204), LegendPosition = LegendPosition.TopCenter, LegendOrientation = LegendOrientation.Horizontal }; //Axes //X FrametimeModel.Axes.Add(new LinearAxis() { Key = "xAxis", Position = AxisPosition.Bottom, Title = "Samples", MajorGridlineStyle = LineStyle.Solid, MajorGridlineThickness = 1, MajorGridlineColor = OxyColor.FromArgb(64, 204, 204, 204), MinorTickSize = 0, MajorTickSize = 0 }); //Y FrametimeModel.Axes.Add(new LinearAxis() { Key = "yAxis", Position = AxisPosition.Left, Title = "Frametime [ms]", MajorGridlineStyle = LineStyle.Solid, MajorGridlineThickness = 1, MajorGridlineColor = OxyColor.FromArgb(64, 204, 204, 204), MinorTickSize = 0, MajorTickSize = 0 }); }