From 3d6eb2f183736beaee12ed5080363e8716da89c7 Mon Sep 17 00:00:00 2001 From: Aiden Vigue Date: Sat, 12 Jun 2021 00:00:02 -0700 Subject: [PATCH] release 41 --- JellyfinPlayer.xcodeproj/project.pbxproj | 44 ++++++++++++------- .../xcshareddata/swiftpm/Package.resolved | 18 ++++---- JellyfinPlayer/ConnectToServerView.swift | 2 +- JellyfinPlayer/ContentView.swift | 3 +- JellyfinPlayer/LibraryListView.swift | 2 +- JellyfinPlayer/LibraryView.swift | 12 ++--- JellyfinPlayer/SettingsView.swift | 10 ++--- JellyfinPlayer/VideoPlayer.swift | 2 + Shared/Typings/Typings.swift | 2 +- WidgetExtension/NextUpWidget.swift | 16 +++---- 10 files changed, 61 insertions(+), 50 deletions(-) diff --git a/JellyfinPlayer.xcodeproj/project.pbxproj b/JellyfinPlayer.xcodeproj/project.pbxproj index 79754d12..48e0afe6 100644 --- a/JellyfinPlayer.xcodeproj/project.pbxproj +++ b/JellyfinPlayer.xcodeproj/project.pbxproj @@ -17,6 +17,8 @@ 53352571265EA0A0006CCA86 /* Introspect in Frameworks */ = {isa = PBXBuildFile; productRef = 53352570265EA0A0006CCA86 /* Introspect */; }; 5338F74E263B61370014BF09 /* ConnectToServerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5338F74D263B61370014BF09 /* ConnectToServerView.swift */; }; 5338F757263B7E2E0014BF09 /* KeychainSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 5338F756263B7E2E0014BF09 /* KeychainSwift */; }; + 533A8E6626748B4F00719967 /* MobileVLCKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 533A8E6526748B4F00719967 /* MobileVLCKit.framework */; platformFilter = ios; }; + 533A8E6726748B4F00719967 /* MobileVLCKit.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 533A8E6526748B4F00719967 /* MobileVLCKit.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 535870632669D21600D05A09 /* JellyfinPlayer_tvOSApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 535870622669D21600D05A09 /* JellyfinPlayer_tvOSApp.swift */; }; 535870652669D21600D05A09 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 535870642669D21600D05A09 /* ContentView.swift */; }; 535870672669D21700D05A09 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 535870662669D21700D05A09 /* Assets.xcassets */; }; @@ -59,8 +61,6 @@ 53AD124E26702B8A0094A276 /* SeasonItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53987CA326572C1300E7EA70 /* SeasonItemView.swift */; }; 53C4404E266C75C70049424C /* HandleAPIRequestCompletion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53C4404D266C75C70049424C /* HandleAPIRequestCompletion.swift */; }; 53C4404F266C75C70049424C /* HandleAPIRequestCompletion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53C4404D266C75C70049424C /* HandleAPIRequestCompletion.swift */; }; - 53D5E3DD264B47EE00BADDC8 /* MobileVLCKit.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 53D5E3DC264B47EE00BADDC8 /* MobileVLCKit.xcframework */; }; - 53D5E3DE264B47EE00BADDC8 /* MobileVLCKit.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 53D5E3DC264B47EE00BADDC8 /* MobileVLCKit.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 53DE4BD02670961400739748 /* EpisodeItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53987CA72657424A00E7EA70 /* EpisodeItemView.swift */; }; 53DE4BD2267098F300739748 /* SearchBarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53DE4BD1267098F300739748 /* SearchBarView.swift */; }; 53DF641E263D9C0600A7CD1A /* LibraryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53DF641D263D9C0600A7CD1A /* LibraryView.swift */; }; @@ -116,6 +116,17 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 533A8E6826748B4F00719967 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 533A8E6726748B4F00719967 /* MobileVLCKit.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; 5358709F2669D82900D05A09 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; @@ -127,17 +138,6 @@ name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; }; - 53D5E3DF264B47EE00BADDC8 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 12; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 53D5E3DE264B47EE00BADDC8 /* MobileVLCKit.xcframework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; 628B95312670CABE0091AF3B /* Embed App Extensions */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; @@ -156,6 +156,7 @@ 5321753A2671BCFC005491E6 /* SettingsViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsViewModel.swift; sourceTree = ""; }; 53313B8F265EEA6D00947AA3 /* VideoPlayer.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = VideoPlayer.storyboard; sourceTree = ""; }; 5338F74D263B61370014BF09 /* ConnectToServerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConnectToServerView.swift; sourceTree = ""; }; + 533A8E6526748B4F00719967 /* MobileVLCKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileVLCKit.framework; path = "Carthage/Build/MobileVLCKit.xcframework/ios-arm64_armv7_armv7s/MobileVLCKit.framework"; sourceTree = ""; }; 535870602669D21600D05A09 /* JellyfinPlayer tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "JellyfinPlayer tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 535870622669D21600D05A09 /* JellyfinPlayer_tvOSApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JellyfinPlayer_tvOSApp.swift; sourceTree = ""; }; 535870642669D21600D05A09 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; @@ -233,8 +234,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 533A8E6626748B4F00719967 /* MobileVLCKit.framework in Frameworks */, 5338F757263B7E2E0014BF09 /* KeychainSwift in Frameworks */, - 53D5E3DD264B47EE00BADDC8 /* MobileVLCKit.xcframework in Frameworks */, 53352571265EA0A0006CCA86 /* Introspect in Frameworks */, 621C638026672A30004216EA /* NukeUI in Frameworks */, 53A431BD266B0FF20016769F /* JellyfinAPI in Frameworks */, @@ -373,6 +374,7 @@ 53D5E3DB264B47EE00BADDC8 /* Frameworks */ = { isa = PBXGroup; children = ( + 533A8E6526748B4F00719967 /* MobileVLCKit.framework */, 5358709C2669D82900D05A09 /* TVVLCKit.framework */, 53D5E3DC264B47EE00BADDC8 /* MobileVLCKit.xcframework */, 628B95212670CABD0091AF3B /* WidgetKit.framework */, @@ -454,9 +456,9 @@ 5377CBED263B596A003A4E83 /* Sources */, 5377CBEE263B596A003A4E83 /* Frameworks */, 5377CBEF263B596A003A4E83 /* Resources */, - 53D5E3DF264B47EE00BADDC8 /* Embed Frameworks */, 5302F8322658B74800647A2E /* CopyFiles */, 628B95312670CABE0091AF3B /* Embed App Extensions */, + 533A8E6826748B4F00719967 /* Embed Frameworks */, ); buildRules = ( ); @@ -863,6 +865,10 @@ ENABLE_BITCODE = NO; ENABLE_PREVIEWS = YES; EXCLUDED_ARCHS = ""; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/MobileVLCKit.xcframework/ios-arm64_armv7_armv7s", + ); INFOPLIST_FILE = JellyfinPlayer/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 14.1; LD_RUNPATH_SEARCH_PATHS = ( @@ -896,6 +902,10 @@ ENABLE_BITCODE = NO; ENABLE_PREVIEWS = YES; EXCLUDED_ARCHS = ""; + FRAMEWORK_SEARCH_PATHS = ( + "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/MobileVLCKit.xcframework/ios-arm64_armv7_armv7s", + ); INFOPLIST_FILE = JellyfinPlayer/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 14.1; LD_RUNPATH_SEARCH_PATHS = ( @@ -1033,8 +1043,8 @@ isa = XCRemoteSwiftPackageReference; repositoryURL = "https://github.com/kean/NukeUI"; requirement = { - branch = main; - kind = branch; + kind = exactVersion; + version = 0.3.0; }; }; /* End XCRemoteSwiftPackageReference section */ diff --git a/JellyfinPlayer.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/JellyfinPlayer.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved index 84fe0870..4cf2aa37 100644 --- a/JellyfinPlayer.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +++ b/JellyfinPlayer.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -20,16 +20,16 @@ } }, { - "package": "JellyfinAPI", + "package": "jellyfin-sdk-swift", "repositoryURL": "https://github.com/jellyfin/jellyfin-sdk-swift", "state": { "branch": "main", - "revision": "02fe19f44738341aa2ad7d9452f74ad3464a639d", + "revision": "5cdc2419f547b3f31dc96f5eccaf3f303f44184b", "version": null } }, { - "package": "KeychainSwift", + "package": "keychain-swift", "repositoryURL": "https://github.com/evgenyneu/keychain-swift", "state": { "branch": null, @@ -42,21 +42,21 @@ "repositoryURL": "https://github.com/kean/Nuke.git", "state": { "branch": null, - "revision": "e1e9d056fedafa486508759923a0db61ce46f1bc", - "version": "10.1.0" + "revision": "69ae6d5b8c4b898450432f94bd35f863d3830cfc", + "version": "10.3.0" } }, { "package": "NukeUI", "repositoryURL": "https://github.com/kean/NukeUI", "state": { - "branch": "main", - "revision": "31ef27030d4ebf8fc5a3d5b44d66e281921883ab", - "version": null + "branch": null, + "revision": "d2580b8d22b29c6244418d8e4b568f3162191460", + "version": "0.3.0" } }, { - "package": "Introspect", + "package": "SwiftUI-Introspect", "repositoryURL": "https://github.com/siteline/SwiftUI-Introspect", "state": { "branch": null, diff --git a/JellyfinPlayer/ConnectToServerView.swift b/JellyfinPlayer/ConnectToServerView.swift index 690a3d65..1fcb6cc0 100644 --- a/JellyfinPlayer/ConnectToServerView.swift +++ b/JellyfinPlayer/ConnectToServerView.swift @@ -155,7 +155,7 @@ struct ConnectToServerView: View { Button { isWorking = true if !uri.contains("http") { - uri = "http://" + uri + uri = "https://" + uri } if uri.last == "/" { uri = String(uri.dropLast()) diff --git a/JellyfinPlayer/ContentView.swift b/JellyfinPlayer/ContentView.swift index 3f6fd6c9..03b6aa59 100644 --- a/JellyfinPlayer/ContentView.swift +++ b/JellyfinPlayer/ContentView.swift @@ -9,7 +9,6 @@ import SwiftUI import KeychainSwift import Nuke -import Combine import JellyfinAPI import WidgetKit @@ -38,7 +37,7 @@ struct ContentView: View { @State private var loadState: Int = 2 private var recentFilterSet: LibraryFilters = LibraryFilters(filters: [], sortOrder: [.descending], sortBy: ["DateCreated"]) - + func startup() { if viewDidLoad == true { return diff --git a/JellyfinPlayer/LibraryListView.swift b/JellyfinPlayer/LibraryListView.swift index 0c69aa54..6bf26700 100644 --- a/JellyfinPlayer/LibraryListView.swift +++ b/JellyfinPlayer/LibraryListView.swift @@ -14,7 +14,7 @@ struct LibraryListView: View { @State var library_ids: [String] = ["favorites", "genres"] @State var library_names: [String: String] = ["favorites": "Favorites", "genres": "Genres"] var libraries: [String: String] = [:] // input libraries - var withFavorites: LibraryFilters = LibraryFilters(filters: [.isFavorite], sortOrder: [.descending], sortBy: ["SortName"]) + var withFavorites: LibraryFilters! init(libraries: [String: String]) { self.libraries = libraries diff --git a/JellyfinPlayer/LibraryView.swift b/JellyfinPlayer/LibraryView.swift index b49c4edc..30a18199 100644 --- a/JellyfinPlayer/LibraryView.swift +++ b/JellyfinPlayer/LibraryView.swift @@ -17,12 +17,12 @@ struct LibraryView: View { @State private var items: [BaseItemDto] = [] @State private var isLoading: Bool = false - var usingParentID: String = "" - var title: String = "" - var filters: LibraryFilters = LibraryFilters() - var personId: String = "" - var genre: String = "" - var studio: String = "" + private var usingParentID: String = "" + private var title: String = "" + private var filters: LibraryFilters = LibraryFilters() + private var personId: String = "" + private var genre: String = "" + private var studio: String = "" @State private var totalPages: Int = 0 @State private var currentPage: Int = 0 diff --git a/JellyfinPlayer/SettingsView.swift b/JellyfinPlayer/SettingsView.swift index 4b9964c3..c38d2c49 100644 --- a/JellyfinPlayer/SettingsView.swift +++ b/JellyfinPlayer/SettingsView.swift @@ -25,11 +25,11 @@ struct SettingsView: View { func onAppear() { let defaults = UserDefaults.standard - _username.wrappedValue = globalData.user.username! - _inNetworkStreamBitrate.wrappedValue = defaults.integer(forKey: "InNetworkBandwidth") - _outOfNetworkStreamBitrate.wrappedValue = defaults.integer(forKey: "OutOfNetworkBandwidth") - _autoSelectSubtitles.wrappedValue = defaults.bool(forKey: "AutoSelectSubtitles") - _autoSelectSubtitlesLangcode.wrappedValue = defaults.string(forKey: "AutoSelectSubtitlesLangcode") ?? "" + username = globalData.user.username! + inNetworkStreamBitrate = defaults.integer(forKey: "InNetworkBandwidth") + outOfNetworkStreamBitrate = defaults.integer(forKey: "OutOfNetworkBandwidth") + autoSelectSubtitles = defaults.bool(forKey: "AutoSelectSubtitles") + autoSelectSubtitlesLangcode = defaults.string(forKey: "AutoSelectSubtitlesLangcode") ?? "" } var body: some View { diff --git a/JellyfinPlayer/VideoPlayer.swift b/JellyfinPlayer/VideoPlayer.swift index e9d2d43e..216943a1 100644 --- a/JellyfinPlayer/VideoPlayer.swift +++ b/JellyfinPlayer/VideoPlayer.swift @@ -79,6 +79,7 @@ class PlayerViewController: UIViewController, VLCMediaDelegate, VLCMediaPlayerDe var manifest: BaseItemDto = BaseItemDto() var playbackItem = PlaybackItem() + //MARK: IBActions @IBAction func seekSliderStart(_ sender: Any) { sendProgressReport(eventName: "pause") mediaPlayer.pause() @@ -257,6 +258,7 @@ class PlayerViewController: UIViewController, VLCMediaDelegate, VLCMediaPlayerDe dump(event) } + //MARK: viewDidLoad override func viewDidLoad() { super.viewDidLoad() // View has loaded. diff --git a/Shared/Typings/Typings.swift b/Shared/Typings/Typings.swift index b131c3d7..915415e8 100644 --- a/Shared/Typings/Typings.swift +++ b/Shared/Typings/Typings.swift @@ -11,7 +11,7 @@ import JellyfinAPI struct LibraryFilters: Codable, Hashable { var filters: [ItemFilter] = [] - var sortOrder: [SortOrder] = [.descending] + var sortOrder: [APISortOrder] = [.descending] var withGenres: [NameGuidPair] = [] var sortBy: [String] = ["SortName"] } diff --git a/WidgetExtension/NextUpWidget.swift b/WidgetExtension/NextUpWidget.swift index 27d7b960..fcc66227 100644 --- a/WidgetExtension/NextUpWidget.swift +++ b/WidgetExtension/NextUpWidget.swift @@ -168,14 +168,14 @@ struct NextUpEntryView: View { .frame(minWidth: 0, maxWidth: .infinity, minHeight: 0, maxHeight: .infinity) } else { switch family { - case .systemSmall: - small(item: entry.items.first) - case .systemMedium: - medium(items: entry.items) - case .systemLarge: - large(items: entry.items) - @unknown default: - EmptyView() + case .systemSmall: + small(item: entry.items.first) + case .systemMedium: + medium(items: entry.items) + case .systemLarge: + large(items: entry.items) + default: + EmptyView() } } }