From da47a6ae469fee7b29c259511ca8a1fa4a554aa0 Mon Sep 17 00:00:00 2001 From: TrueZhuanjia Date: Thu, 12 Jun 2025 13:38:54 +0800 Subject: [PATCH] hdrSwitch --- Limelight/Base.lproj/iPad.storyboard | 97 +++++++++---------- .../ViewControllers/MainFrameViewController.m | 3 +- .../ViewControllers/SettingsViewController.h | 2 +- .../ViewControllers/SettingsViewController.m | 11 +-- Limelight/mul.lproj/iPad.xcstrings | 60 ++++++++++-- 5 files changed, 105 insertions(+), 68 deletions(-) diff --git a/Limelight/Base.lproj/iPad.storyboard b/Limelight/Base.lproj/iPad.storyboard index 3ea4fb1e..0dcc1556 100644 --- a/Limelight/Base.lproj/iPad.storyboard +++ b/Limelight/Base.lproj/iPad.storyboard @@ -92,19 +92,19 @@ - + - @@ -183,51 +183,25 @@ - - + + - - - - - - - - - - - - - - - - - - - - - - @@ -785,12 +759,35 @@ ICAgICAgICAgICAgICA + + + + + + + + + + + + + + + + + + - + @@ -803,14 +800,14 @@ ICAgICAgICAgICAgICA - + - + @@ -1425,16 +1422,16 @@ ICAgICAgICAgICAgICA - + - + - + diff --git a/Limelight/ViewControllers/MainFrameViewController.m b/Limelight/ViewControllers/MainFrameViewController.m index 60c3fd35..65bf1df1 100644 --- a/Limelight/ViewControllers/MainFrameViewController.m +++ b/Limelight/ViewControllers/MainFrameViewController.m @@ -1122,7 +1122,7 @@ static NSMutableSet* hostList; [settingsViewController.framerateSelector setEnabled:!self.settingsExpandedInStreamView]; settingsViewController.fpsStack.hidden = self.settingsExpandedInStreamView; [settingsViewController widget:settingsViewController.bitrateSlider setEnabled:!self.settingsExpandedInStreamView]; - settingsViewController.bitrateStack.hidden = self.settingsExpandedInStreamView; + //settingsViewController.bitrateStack.hidden = self.settingsExpandedInStreamView; [settingsViewController.optimizeSettingsSelector setEnabled:!self.settingsExpandedInStreamView]; settingsViewController.optimizeSettingsStack.hidden = self.settingsExpandedInStreamView; [settingsViewController.audioOnPCSelector setEnabled:!self.settingsExpandedInStreamView]; @@ -1131,7 +1131,6 @@ static NSMutableSet* hostList; settingsViewController.codecStack.hidden = self.settingsExpandedInStreamView; [settingsViewController.yuv444Selector setEnabled:!self.settingsExpandedInStreamView]; settingsViewController.yuv444Stack.hidden = self.settingsExpandedInStreamView; - [settingsViewController.hdrSelector setEnabled:!self.settingsExpandedInStreamView]; settingsViewController.HdrStack.hidden = self.settingsExpandedInStreamView; [settingsViewController.framePacingSelector setEnabled:!self.settingsExpandedInStreamView]; settingsViewController.framepacingStack.hidden = self.settingsExpandedInStreamView; diff --git a/Limelight/ViewControllers/SettingsViewController.h b/Limelight/ViewControllers/SettingsViewController.h index 5af2db51..d9e5f4de 100644 --- a/Limelight/ViewControllers/SettingsViewController.h +++ b/Limelight/ViewControllers/SettingsViewController.h @@ -66,7 +66,7 @@ @property (strong, nonatomic) IBOutlet UISegmentedControl *audioOnPCSelector; @property (strong, nonatomic) IBOutlet UISegmentedControl *codecSelector; @property (strong, nonatomic) IBOutlet UISegmentedControl *yuv444Selector; -@property (strong, nonatomic) IBOutlet UISegmentedControl *hdrSelector; +@property (weak, nonatomic) IBOutlet UISwitch *hdrSwitch; @property (strong, nonatomic) IBOutlet UISegmentedControl *framePacingSelector; @property (strong, nonatomic) IBOutlet UISegmentedControl *btMouseSelector; @property (strong, nonatomic) IBOutlet UISegmentedControl *reverseMouseWheelDirectionSelector; diff --git a/Limelight/ViewControllers/SettingsViewController.m b/Limelight/ViewControllers/SettingsViewController.m index ab0b299d..4f69d724 100644 --- a/Limelight/ViewControllers/SettingsViewController.m +++ b/Limelight/ViewControllers/SettingsViewController.m @@ -470,7 +470,7 @@ BOOL isCustomResolution(CGSize res) { //[self addDynamicLabelForStack:self.bitrateStack]; [self addSetting:self.codecStack ofId:@"codecStack" withInfoTag:NO withDynamicLabel:NO to:videoSection]; - [self addSetting:self.HdrStack ofId:@"HdrStack" withInfoTag:NO withDynamicLabel:NO to:videoSection]; + [self addSetting:self.HdrStack ofId:@"HdrStack" withInfoTag:YES withDynamicLabel:NO to:videoSection]; [self addSetting:self.yuv444Stack ofId:@"yuv444Stack" withInfoTag:NO withDynamicLabel:NO to:videoSection]; [self addSetting:self.framepacingStack ofId:@"framepacingStack" withInfoTag:NO withDynamicLabel:NO to:videoSection]; [videoSection addToParentStack:parentStack]; @@ -1207,12 +1207,11 @@ BOOL isCustomResolution(CGSize res) { } if (!VTIsHardwareDecodeSupported(kCMVideoCodecType_HEVC) || !(AVPlayer.availableHDRModes & AVPlayerHDRModeHDR10)) { - [self.hdrSelector removeAllSegments]; - [self.hdrSelector insertSegmentWithTitle:[LocalizationHelper localizedStringForKey:@"Unsupported on this device"] atIndex:0 animated:NO]; - [self.hdrSelector setEnabled:NO]; + [self.hdrSwitch setOn:NO]; + [self.hdrSwitch setEnabled:NO]; } else { - [self.hdrSelector setSelectedSegmentIndex:currentSettings.enableHdr ? 1 : 0]; + [self.hdrSwitch setOn:currentSettings.enableHdr]; } [self.yuv444Selector setSelectedSegmentIndex:currentSettings.enableYUV444 ? 1 : 0]; @@ -1906,7 +1905,7 @@ BOOL isCustomResolution(CGSize res) { NSInteger touchMode = [self.touchModeSelector selectedSegmentIndex]; NSInteger statsOverlayLevel = [self.statsOverlaySelector selectedSegmentIndex]; BOOL statsOverlayEnabled = statsOverlayLevel != 0; - BOOL enableHdr = [self.hdrSelector selectedSegmentIndex] == 1; + BOOL enableHdr = self.hdrSwitch.isOn; BOOL unlockDisplayOrientation = [self.unlockDisplayOrientationSelector selectedSegmentIndex] == 1; NSInteger resolutionSelected = [self.resolutionSelector selectedSegmentIndex]; NSInteger externalDisplayMode = [self.externalDisplayModeSelector selectedSegmentIndex]; diff --git a/Limelight/mul.lproj/iPad.xcstrings b/Limelight/mul.lproj/iPad.xcstrings index f10a8db0..a8708b81 100644 --- a/Limelight/mul.lproj/iPad.xcstrings +++ b/Limelight/mul.lproj/iPad.xcstrings @@ -2,30 +2,30 @@ "sourceLanguage" : "en", "strings" : { "1ri-Kt-gSf.text" : { - "comment" : "Class = \"UILabel\"; text = \"Custom Resolution\"; ObjectID = \"1ri-Kt-gSf\";", - "extractionState" : "extracted_with_value", + "comment" : "Class = \"UILabel\"; text = \"dfasfasdfasdf\"; ObjectID = \"1ri-Kt-gSf\";", + "extractionState" : "stale", "localizations" : { "en" : { "stringUnit" : { "state" : "new", - "value" : "Custom Resolution" + "value" : "dfasfasdfasdf" } }, "zh-Hans" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "自定义分辨率" } }, "zh-Hant" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "自定义分辨率" } }, "zh-HK" : { "stringUnit" : { - "state" : "translated", + "state" : "needs_review", "value" : "自定义分辨率" } } @@ -121,6 +121,18 @@ } } }, + "2w1-Vw-GVy.text" : { + "comment" : "Class = \"UILabel\"; text = \"HDR\"; ObjectID = \"2w1-Vw-GVy\";", + "extractionState" : "extracted_with_value", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "HDR" + } + } + } + }, "4FU-iP-c6T.segmentTitles[0]" : { "comment" : "Class = \"UISegmentedControl\"; 4FU-iP-c6T.segmentTitles[0] = \"Restricted by Window\"; ObjectID = \"4FU-iP-c6T\";", "extractionState" : "extracted_with_value", @@ -993,7 +1005,7 @@ }, "bZL-t1-mk7.text" : { "comment" : "Class = \"UILabel\"; text = \"HDR (Beta) \"; ObjectID = \"bZL-t1-mk7\";", - "extractionState" : "extracted_with_value", + "extractionState" : "stale", "localizations" : { "en" : { "stringUnit" : { @@ -1987,6 +1999,36 @@ } } }, + "hq8-dy-8BF.text" : { + "comment" : "Class = \"UILabel\"; text = \"Custom Resolution\"; ObjectID = \"hq8-dy-8BF\";", + "extractionState" : "extracted_with_value", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "new", + "value" : "Custom Resolution" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "自定义分辨率" + } + }, + "zh-Hant" : { + "stringUnit" : { + "state" : "translated", + "value" : "自定义分辨率" + } + }, + "zh-HK" : { + "stringUnit" : { + "state" : "translated", + "value" : "自定义分辨率" + } + } + } + }, "iel-xl-xd9.text" : { "comment" : "Class = \"UILabel\"; text = \"Profile:\"; ObjectID = \"iel-xl-xd9\";", "extractionState" : "extracted_with_value", @@ -3333,7 +3375,7 @@ }, "RRk-03-hIr.segmentTitles[0]" : { "comment" : "Class = \"UISegmentedControl\"; RRk-03-hIr.segmentTitles[0] = \"No\"; ObjectID = \"RRk-03-hIr\";", - "extractionState" : "extracted_with_value", + "extractionState" : "stale", "localizations" : { "en" : { "stringUnit" : { @@ -3363,7 +3405,7 @@ }, "RRk-03-hIr.segmentTitles[1]" : { "comment" : "Class = \"UISegmentedControl\"; RRk-03-hIr.segmentTitles[1] = \"Yes\"; ObjectID = \"RRk-03-hIr\";", - "extractionState" : "extracted_with_value", + "extractionState" : "stale", "localizations" : { "en" : { "stringUnit" : {