From b25f2d0916e14de680e1f0d64e025172a2424cde Mon Sep 17 00:00:00 2001 From: True Zhuanjia Date: Tue, 9 Jul 2024 23:12:04 +0800 Subject: [PATCH] add statsOverlay realtime setting config --- .../ViewControllers/MainFrameViewController.m | 2 +- .../ViewControllers/StreamFrameViewController.m | 14 +++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/Limelight/ViewControllers/MainFrameViewController.m b/Limelight/ViewControllers/MainFrameViewController.m index 74680f8f..d4e0f83e 100644 --- a/Limelight/ViewControllers/MainFrameViewController.m +++ b/Limelight/ViewControllers/MainFrameViewController.m @@ -906,6 +906,7 @@ static NSMutableSet* hostList; // If we moved back to the center position, we should save the settings SettingsViewController* settingsViewController = (SettingsViewController*)[revealController rearViewController]; settingsViewController.mainFrameViewController = self; + // enable / disable widgets acoordingly: in streamview, disable, outside of streamview, enable. [settingsViewController.resolutionSelector setEnabled:!self.settingsExpandedInStreamView]; [settingsViewController.framerateSelector setEnabled:!self.settingsExpandedInStreamView]; @@ -916,7 +917,6 @@ static NSMutableSet* hostList; [settingsViewController.framePacingSelector setEnabled:!self.settingsExpandedInStreamView]; [settingsViewController.btMouseSelector setEnabled:!self.settingsExpandedInStreamView]; - if (position == FrontViewPositionLeft) { [settingsViewController saveSettings]; _settingsButton.enabled = YES; // make sure these 2 buttons are enabled after closing setting view. diff --git a/Limelight/ViewControllers/StreamFrameViewController.m b/Limelight/ViewControllers/StreamFrameViewController.m index d494b273..61ab9bda 100644 --- a/Limelight/ViewControllers/StreamFrameViewController.m +++ b/Limelight/ViewControllers/StreamFrameViewController.m @@ -107,6 +107,13 @@ [_streamView setupStreamView:_controllerSupport interactionDelegate:self config:self.streamConfig]; //reinitiate setupStreamView process. [self->_streamView reloadOnScreenControlsRealtimeWith:(ControllerSupport*)_controllerSupport andConfig:(StreamConfiguration*)_streamConfig]; //reload OSC here. + + //reconfig statsOverlay + self->_statsUpdateTimer = [NSTimer scheduledTimerWithTimeInterval:1.0f + target:self + selector:@selector(updateStatsOverlay) + userInfo:nil + repeats:_settings.statsOverlay]; } @@ -337,8 +344,13 @@ #endif - (void)updateStatsOverlay { + if(!_settings.statsOverlay){ + [_overlayView removeFromSuperview]; + return; // add this for realtime streamview reconfig + } + else [self.view addSubview:_overlayView]; // don't know why but this is necessary for reactivating overlay. + NSString* overlayText = [self->_streamMan getStatsOverlayText]; - dispatch_async(dispatch_get_main_queue(), ^{ [self updateOverlayText:overlayText]; });