diff --git a/Limelight/Base.lproj/iPad.storyboard b/Limelight/Base.lproj/iPad.storyboard index 9923baa9..e43c3bc3 100644 --- a/Limelight/Base.lproj/iPad.storyboard +++ b/Limelight/Base.lproj/iPad.storyboard @@ -1,9 +1,9 @@ - + - + @@ -12,7 +12,7 @@ - + @@ -548,21 +548,21 @@ ICAgICAgICAgICAgICA - - + @@ -644,7 +644,7 @@ ICAgICAgICAgICAgICA - + @@ -684,7 +684,7 @@ ICAgICAgICAgICAgICA - + @@ -706,7 +706,7 @@ ICAgICAgICAgICAgICA - + @@ -733,7 +733,7 @@ ICAgICAgICAgICAgICA - + @@ -930,11 +930,11 @@ ICAgICAgICAgICAgICA - + - + @@ -995,13 +995,13 @@ ICAgICAgICAgICAgICA - + - + diff --git a/Limelight/Base.lproj/iPhone.storyboard b/Limelight/Base.lproj/iPhone.storyboard index 943ff049..d632b6de 100644 --- a/Limelight/Base.lproj/iPhone.storyboard +++ b/Limelight/Base.lproj/iPhone.storyboard @@ -1,9 +1,9 @@ - + - + @@ -580,18 +580,18 @@ ICAgICAgICAgICAgIA - diff --git a/Limelight/Database/DataManager.h b/Limelight/Database/DataManager.h index eeed64e2..ea8956de 100644 --- a/Limelight/Database/DataManager.h +++ b/Limelight/Database/DataManager.h @@ -45,7 +45,7 @@ allowPortrait:(BOOL)allowPortrait resolutionSelected:(NSInteger)resolutionSelected externalDisplayMode:(NSInteger)externalDisplayMode - mouseMode:(NSInteger)mouseMode; + localMousePointerMode:(NSInteger)localMousePointerMode; - (NSArray*) getHosts; - (void) updateHost:(TemporaryHost*)host; diff --git a/Limelight/Database/DataManager.m b/Limelight/Database/DataManager.m index bc6e1168..299ca947 100644 --- a/Limelight/Database/DataManager.m +++ b/Limelight/Database/DataManager.m @@ -84,7 +84,7 @@ allowPortrait:(BOOL)allowPortrait resolutionSelected:(NSInteger)resolutionSelected externalDisplayMode:(NSInteger)externalDisplayMode - mouseMode:(NSInteger)mouseMode { + localMousePointerMode:(NSInteger)localMousePointerMode { [_managedObjectContext performBlockAndWait:^{ Settings* settingsToSave = [self retrieveSettings]; @@ -120,7 +120,7 @@ settingsToSave.allowPortrait = allowPortrait; settingsToSave.resolutionSelected = [NSNumber numberWithInteger:resolutionSelected]; settingsToSave.externalDisplayMode = [NSNumber numberWithInteger:externalDisplayMode]; - settingsToSave.mouseMode = [NSNumber numberWithInteger:mouseMode]; + settingsToSave.localMousePointerMode = [NSNumber numberWithInteger:localMousePointerMode]; [self saveData]; }]; } diff --git a/Limelight/Database/TemporarySettings.h b/Limelight/Database/TemporarySettings.h index c01ee84d..76b30ac9 100644 --- a/Limelight/Database/TemporarySettings.h +++ b/Limelight/Database/TemporarySettings.h @@ -35,7 +35,7 @@ @property (nonatomic, retain) NSString * uniqueId; @property (nonatomic, retain) NSNumber * resolutionSelected; @property (nonatomic, retain) NSNumber * externalDisplayMode; -@property (nonatomic, retain) NSNumber * mouseMode; +@property (nonatomic, retain) NSNumber * localMousePointerMode; @property (nonatomic) enum { CODEC_PREF_AUTO, CODEC_PREF_H264, diff --git a/Limelight/Database/TemporarySettings.m b/Limelight/Database/TemporarySettings.m index 02f81033..832d6bd5 100644 --- a/Limelight/Database/TemporarySettings.m +++ b/Limelight/Database/TemporarySettings.m @@ -101,7 +101,7 @@ self.allowPortrait = settings.allowPortrait; self.resolutionSelected = settings.resolutionSelected; self.externalDisplayMode = settings.externalDisplayMode; - self.mouseMode = settings.mouseMode; + self.localMousePointerMode = settings.localMousePointerMode; #endif self.uniqueId = settings.uniqueId; diff --git a/Limelight/Input/ControllerSupport.m b/Limelight/Input/ControllerSupport.m index 9ceec98f..d6dc568b 100644 --- a/Limelight/Input/ControllerSupport.m +++ b/Limelight/Input/ControllerSupport.m @@ -1126,7 +1126,7 @@ static const double MOUSE_SPEED_DIVISOR = 1.25; } } - _captureMouse = (streamConfig.mouseMode == 0); + _captureMouse = (streamConfig.localMousePointerMode == 0); if (@available(iOS 14.0, tvOS 14.0, *)) { for (GCMouse* mouse in [GCMouse mice]) { [self registerMouseCallbacks:mouse]; diff --git a/Limelight/Input/StreamView.m b/Limelight/Input/StreamView.m index d971814c..90c7fb99 100644 --- a/Limelight/Input/StreamView.m +++ b/Limelight/Input/StreamView.m @@ -24,6 +24,9 @@ static const double X1_MOUSE_SPEED_DIVISOR = 2.5; +/* + Stream Video has been moved out of this class to _renderView in StreamFrameViewController. + */ @implementation StreamView { UIView* streamFrameTopLayerView; TemporarySettings* settings; @@ -48,7 +51,7 @@ static const double X1_MOUSE_SPEED_DIVISOR = 2.5; double accumulatedMouseDeltaX; double accumulatedMouseDeltaY; - int mouseMode; + int localMousePointerMode; UIResponder* touchHandler; @@ -81,7 +84,7 @@ static const double X1_MOUSE_SPEED_DIVISOR = 2.5; settings = [[[DataManager alloc] init] getSettings]; - mouseMode = streamConfig.mouseMode; + localMousePointerMode = streamConfig.localMousePointerMode; keysDown = [[NSMutableSet alloc] init]; keyInputField = [[KeyboardInputField alloc] initWithFrame:CGRectZero]; @@ -901,7 +904,7 @@ static const double X1_MOUSE_SPEED_DIVISOR = 2.5; regionForRequest:(UIPointerRegionRequest *)request defaultRegion:(UIPointerRegion *)defaultRegion API_AVAILABLE(ios(13.4)) { if (@available(iOS 14.0, *)) { - if ([GCMouse current] != nil && mouseMode == 0) { + if ([GCMouse current] != nil && localMousePointerMode == 0) { // We'll handle this with GCMouse. Do nothing here. return nil; } @@ -929,7 +932,7 @@ static const double X1_MOUSE_SPEED_DIVISOR = 2.5; } - (UIPointerStyle *)pointerInteraction:(UIPointerInteraction *)interaction styleForRegion:(UIPointerRegion *)region API_AVAILABLE(ios(13.4)) { - if(mouseMode != 2){ + if(localMousePointerMode != 2){ return [UIPointerStyle hiddenPointerStyle]; }else{ return nil; diff --git a/Limelight/Limelight.xcdatamodeld/Moonlight v1.10.xcdatamodel/contents b/Limelight/Limelight.xcdatamodeld/Moonlight v1.10.xcdatamodel/contents index 7cbb880a..8c92e61e 100644 --- a/Limelight/Limelight.xcdatamodeld/Moonlight v1.10.xcdatamodel/contents +++ b/Limelight/Limelight.xcdatamodeld/Moonlight v1.10.xcdatamodel/contents @@ -1,5 +1,5 @@ - + @@ -33,7 +33,7 @@ - + @@ -47,7 +47,7 @@ - + diff --git a/Limelight/Stream/StreamConfiguration.h b/Limelight/Stream/StreamConfiguration.h index ab1aa33d..05d9fc13 100644 --- a/Limelight/Stream/StreamConfiguration.h +++ b/Limelight/Stream/StreamConfiguration.h @@ -32,6 +32,6 @@ @property BOOL multiController; @property BOOL useFramePacing; @property NSData* serverCert; -@property int mouseMode; +@property int localMousePointerMode; @end diff --git a/Limelight/ViewControllers/MainFrameViewController.m b/Limelight/ViewControllers/MainFrameViewController.m index 2331b8ea..46407d96 100644 --- a/Limelight/ViewControllers/MainFrameViewController.m +++ b/Limelight/ViewControllers/MainFrameViewController.m @@ -670,7 +670,7 @@ static NSMutableSet* hostList; // multiController must be set before calling getConnectedGamepadMask _streamConfig.multiController = streamSettings.multiController; _streamConfig.gamepadMask = [ControllerSupport getConnectedGamepadMask:_streamConfig]; - _streamConfig.mouseMode = streamSettings.mouseMode.intValue; + _streamConfig.localMousePointerMode = streamSettings.localMousePointerMode.intValue; // Probe for supported channel configurations int physicalOutputChannels = (int)[AVAudioSession sharedInstance].maximumOutputNumberOfChannels; diff --git a/Limelight/ViewControllers/SettingsViewController.h b/Limelight/ViewControllers/SettingsViewController.h index 4e1bc240..c046ccd7 100644 --- a/Limelight/ViewControllers/SettingsViewController.h +++ b/Limelight/ViewControllers/SettingsViewController.h @@ -58,7 +58,7 @@ @property (nonatomic, strong) MainFrameViewController *mainFrameViewController; @property (strong, nonatomic) IBOutlet UISegmentedControl *externalDisplayModeSelector; -@property (strong, nonatomic) IBOutlet UISegmentedControl *mouseModeSelector; +@property (strong, nonatomic) IBOutlet UISegmentedControl *localMousePointerModeSelector; #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wunguarded-availability" diff --git a/Limelight/ViewControllers/SettingsViewController.m b/Limelight/ViewControllers/SettingsViewController.m index 3ba5545b..cea7008b 100644 --- a/Limelight/ViewControllers/SettingsViewController.m +++ b/Limelight/ViewControllers/SettingsViewController.m @@ -560,7 +560,7 @@ BOOL isCustomResolution(CGSize res) { } [self.externalDisplayModeSelector setSelectedSegmentIndex:currentSettings.externalDisplayMode.integerValue]; - [self.mouseModeSelector setSelectedSegmentIndex:currentSettings.mouseMode.integerValue]; + [self.localMousePointerModeSelector setSelectedSegmentIndex:currentSettings.localMousePointerMode.integerValue]; } - (void)slideToSettingsScreenEdgeChanged{ @@ -1068,7 +1068,7 @@ BOOL isCustomResolution(CGSize res) { BOOL allowPortrait = [self.allowPortraitSelector selectedSegmentIndex] == 1; NSInteger resolutionSelected = [self.resolutionSelector selectedSegmentIndex]; NSInteger externalDisplayMode = [self.externalDisplayModeSelector selectedSegmentIndex]; - NSInteger mouseMode = [self.mouseModeSelector selectedSegmentIndex]; + NSInteger localMousePointerMode = [self.localMousePointerModeSelector selectedSegmentIndex]; [dataMan saveSettingsWithBitrate:_bitrate framerate:framerate height:height @@ -1101,7 +1101,7 @@ BOOL isCustomResolution(CGSize res) { allowPortrait:allowPortrait resolutionSelected:resolutionSelected externalDisplayMode:externalDisplayMode - mouseMode:mouseMode]; + localMousePointerMode:localMousePointerMode]; } - (void)didReceiveMemoryWarning { diff --git a/Limelight/ViewControllers/StreamFrameViewController.m b/Limelight/ViewControllers/StreamFrameViewController.m index 48be9c09..e421b2ee 100644 --- a/Limelight/ViewControllers/StreamFrameViewController.m +++ b/Limelight/ViewControllers/StreamFrameViewController.m @@ -957,10 +957,10 @@ DataManager* dataMan = [[DataManager alloc] init]; Settings *currentSettings = [dataMan retrieveSettings]; - if(currentSettings.mouseMode.intValue == 0){ - currentSettings.mouseMode = @1; + if(currentSettings.localMousePointerMode.intValue == 0){ + currentSettings.localMousePointerMode = @1; }else{ - currentSettings.mouseMode = @0; + currentSettings.localMousePointerMode = @0; } [dataMan saveData]; @@ -971,10 +971,10 @@ DataManager* dataMan = [[DataManager alloc] init]; Settings *currentSettings = [dataMan retrieveSettings]; - if(currentSettings.mouseMode.intValue == 2){ - currentSettings.mouseMode = @1; + if(currentSettings.localMousePointerMode.intValue == 2){ + currentSettings.localMousePointerMode = @1; }else{ - currentSettings.mouseMode = @2; + currentSettings.localMousePointerMode = @2; } [dataMan saveData]; @@ -1012,7 +1012,7 @@ // Pointer lock breaks the UIKit mouse APIs, which is a problem because // GCMouse is horribly broken on iOS 14.0 for certain mice. Only lock // the cursor if there is a GCMouse present. - return ([GCMouse mice].count > 0) && [_settings mouseMode].intValue == 0; + return ([GCMouse mice].count > 0) && [_settings localMousePointerMode].intValue == 0; } #endif diff --git a/Limelight/mul.lproj/iPad.xcstrings b/Limelight/mul.lproj/iPad.xcstrings index 9d5fead5..e5a7a94f 100644 --- a/Limelight/mul.lproj/iPad.xcstrings +++ b/Limelight/mul.lproj/iPad.xcstrings @@ -92,31 +92,31 @@ } }, "4FU-iP-c6T.segmentTitles[0]" : { - "comment" : "Class = \"UISegmentedControl\"; 4FU-iP-c6T.segmentTitles[0] = \"Capture\"; ObjectID = \"4FU-iP-c6T\";", + "comment" : "Class = \"UISegmentedControl\"; 4FU-iP-c6T.segmentTitles[0] = \"Restricted by Window\"; ObjectID = \"4FU-iP-c6T\";", "extractionState" : "extracted_with_value", "localizations" : { "en" : { "stringUnit" : { "state" : "new", - "value" : "Capture" + "value" : "Restricted by Window" } }, "zh-Hans" : { "stringUnit" : { - "state" : "translated", - "value" : "捕获" + "state" : "needs_review", + "value" : "被窗口捕获" } }, "zh-Hant" : { "stringUnit" : { - "state" : "translated", - "value" : "捕获" + "state" : "needs_review", + "value" : "被窗口捕获" } }, "zh-HK" : { "stringUnit" : { - "state" : "translated", - "value" : "捕获" + "state" : "needs_review", + "value" : "被窗口捕获" } } } @@ -134,19 +134,19 @@ "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "隐藏" + "value" : "隐藏(绝对坐标)" } }, "zh-Hant" : { "stringUnit" : { "state" : "translated", - "value" : "隐藏" + "value" : "隐藏(绝对坐标)" } }, "zh-HK" : { "stringUnit" : { "state" : "translated", - "value" : "隐藏" + "value" : "隐藏(绝对坐标)" } } } @@ -164,19 +164,19 @@ "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "可见" + "value" : "可见(绝对坐标)" } }, "zh-Hant" : { "stringUnit" : { "state" : "translated", - "value" : "可见" + "value" : "可见(绝对坐标)" } }, "zh-HK" : { "stringUnit" : { "state" : "translated", - "value" : "可见" + "value" : "可见(绝对坐标)" } } } @@ -2258,31 +2258,31 @@ } }, "tAd-bm-2IO.text" : { - "comment" : "Class = \"UILabel\"; text = \"Mouse Mode\"; ObjectID = \"tAd-bm-2IO\";", + "comment" : "Class = \"UILabel\"; text = \"Local Mouse Pointer\"; ObjectID = \"tAd-bm-2IO\";", "extractionState" : "extracted_with_value", "localizations" : { "en" : { "stringUnit" : { "state" : "new", - "value" : "Mouse Mode" + "value" : "Local Mouse Pointer" } }, "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "鼠标模式" + "value" : "本地鼠标指针" } }, "zh-Hant" : { "stringUnit" : { "state" : "translated", - "value" : "鼠标模式" + "value" : "本地鼠标指针" } }, "zh-HK" : { "stringUnit" : { "state" : "translated", - "value" : "鼠标模式" + "value" : "本地鼠标指针" } } } diff --git a/Limelight/mul.lproj/iPhone.xcstrings b/Limelight/mul.lproj/iPhone.xcstrings index 2af3742b..31a72819 100644 --- a/Limelight/mul.lproj/iPhone.xcstrings +++ b/Limelight/mul.lproj/iPhone.xcstrings @@ -962,31 +962,31 @@ } }, "F96-Um-Q6t.segmentTitles[0]" : { - "comment" : "Class = \"UISegmentedControl\"; F96-Um-Q6t.segmentTitles[0] = \"Capture\"; ObjectID = \"F96-Um-Q6t\";", + "comment" : "Class = \"UISegmentedControl\"; F96-Um-Q6t.segmentTitles[0] = \"Restricted by Window\"; ObjectID = \"F96-Um-Q6t\";", "extractionState" : "extracted_with_value", "localizations" : { "en" : { "stringUnit" : { "state" : "new", - "value" : "Capture" + "value" : "Restricted by Window" } }, "zh-Hans" : { "stringUnit" : { - "state" : "translated", - "value" : "捕获" + "state" : "needs_review", + "value" : "被窗口捕获" } }, "zh-Hant" : { "stringUnit" : { - "state" : "translated", - "value" : "捕获" + "state" : "needs_review", + "value" : "被窗口捕获" } }, "zh-HK" : { "stringUnit" : { - "state" : "translated", - "value" : "捕获" + "state" : "needs_review", + "value" : "被窗口捕获" } } } @@ -1004,19 +1004,19 @@ "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "隐藏" + "value" : "隐藏(绝对坐标)" } }, "zh-Hant" : { "stringUnit" : { "state" : "translated", - "value" : "隐藏" + "value" : "隐藏(绝对坐标)" } }, "zh-HK" : { "stringUnit" : { "state" : "translated", - "value" : "隐藏" + "value" : "隐藏(绝对坐标)" } } } @@ -1034,19 +1034,19 @@ "zh-Hans" : { "stringUnit" : { "state" : "translated", - "value" : "可见" + "value" : "可见(绝对坐标)" } }, "zh-Hant" : { "stringUnit" : { "state" : "translated", - "value" : "可见" + "value" : "可见(绝对坐标)" } }, "zh-HK" : { "stringUnit" : { "state" : "translated", - "value" : "可见" + "value" : "可见(绝对坐标)" } } } @@ -2120,31 +2120,31 @@ } }, "VGn-Oc-mKc.text" : { - "comment" : "Class = \"UILabel\"; text = \"Mouse Mode\"; ObjectID = \"VGn-Oc-mKc\";", + "comment" : "Class = \"UILabel\"; text = \"Local Mouse Pointer\"; ObjectID = \"VGn-Oc-mKc\";", "extractionState" : "extracted_with_value", "localizations" : { "en" : { "stringUnit" : { "state" : "new", - "value" : "Mouse Mode" + "value" : "Local Mouse Pointer" } }, "zh-Hans" : { "stringUnit" : { - "state" : "translated", - "value" : "鼠标模式" + "state" : "needs_review", + "value" : "本地鼠标指针" } }, "zh-Hant" : { "stringUnit" : { - "state" : "translated", - "value" : "鼠标模式" + "state" : "needs_review", + "value" : "本地鼠标指针" } }, "zh-HK" : { "stringUnit" : { - "state" : "translated", - "value" : "鼠标模式" + "state" : "needs_review", + "value" : "本地鼠标指针" } } } diff --git a/Moonlight.xcodeproj/project.pbxproj b/Moonlight.xcodeproj/project.pbxproj index 22ab7a13..badb6d92 100644 --- a/Moonlight.xcodeproj/project.pbxproj +++ b/Moonlight.xcodeproj/project.pbxproj @@ -1283,7 +1283,7 @@ "$(PROJECT_DIR)/libs/FFmpeg/lib/iOS-Sim", ); MARKETING_VERSION = 9.0.263; - PRODUCT_BUNDLE_IDENTIFIER = "com.moonlight-trzj3.iOS"; + PRODUCT_BUNDLE_IDENTIFIER = "com.moonlight-trzj5.iOS"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE = ""; PROVISIONING_PROFILE_SPECIFIER = "";