From b5ce7a8ff7f63ef3f535a504a6a2445aa09cd469 Mon Sep 17 00:00:00 2001 From: Acaki Date: Thu, 8 May 2025 21:53:19 +0800 Subject: [PATCH 01/21] refactor: adopt UIScene lifecycle feat: add initial support for pip feat: add setting toggle for pip fix: let os handle invokation of pip which is more reliable fix: UIScene compatibility with airplay fix: black screen on external display when on app view and streaming fix: incorrect window size when launched directly on external display fix: wrong resolution shown in settings when in stream session Enable gamemode flag for iOS18+ Explicitly enters pip mode when in background --- Limelight/Base.lproj/iPhone.storyboard | 20 +- Limelight/SceneDelegate.h | 12 + Limelight/SceneDelegate.m | 91 ++++++ .../ViewControllers/SettingsViewController.h | 1 + .../ViewControllers/SettingsViewController.m | 5 +- VoidLink/AppDelegate.h | 2 +- VoidLink/AppDelegate.m | 9 + VoidLink/Database/DataManager.h | 1 + VoidLink/Database/DataManager.m | 2 + VoidLink/Database/TemporarySettings.h | 1 + VoidLink/Database/TemporarySettings.m | 2 + VoidLink/Limelight-Info.plist | 29 +- .../VoidLink v1.0.xcdatamodel/contents | 1 + VoidLink/Stream/StreamConfiguration.h | 1 + VoidLink/Stream/StreamConfiguration.m | 2 +- VoidLink/Stream/StreamManager.h | 2 + VoidLink/Stream/StreamManager.m | 9 +- VoidLink/Stream/VideoDecoderRenderer.h | 2 + VoidLink/Stream/VideoDecoderRenderer.m | 28 +- .../ViewControllers/MainFrameViewController.m | 115 ++++---- .../ViewControllers/SWRevealViewController.m | 4 +- .../StreamFrameViewController.h | 9 +- .../StreamFrameViewController.m | 274 +++++++++++++----- VoidLink/mul.lproj/iPad.xcstrings | 2 +- 24 files changed, 480 insertions(+), 144 deletions(-) create mode 100644 Limelight/SceneDelegate.h create mode 100644 Limelight/SceneDelegate.m diff --git a/Limelight/Base.lproj/iPhone.storyboard b/Limelight/Base.lproj/iPhone.storyboard index d63898b9..6f7c52af 100644 --- a/Limelight/Base.lproj/iPhone.storyboard +++ b/Limelight/Base.lproj/iPhone.storyboard @@ -570,7 +570,7 @@ ICAgICAgICAgICAgIA