mirror of
https://github.com/jellyfin/Swiftfin.git
synced 2024-12-03 11:41:12 +00:00
release 41
This commit is contained in:
parent
66d0fdad0c
commit
3d6eb2f183
@ -17,6 +17,8 @@
|
|||||||
53352571265EA0A0006CCA86 /* Introspect in Frameworks */ = {isa = PBXBuildFile; productRef = 53352570265EA0A0006CCA86 /* Introspect */; };
|
53352571265EA0A0006CCA86 /* Introspect in Frameworks */ = {isa = PBXBuildFile; productRef = 53352570265EA0A0006CCA86 /* Introspect */; };
|
||||||
5338F74E263B61370014BF09 /* ConnectToServerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5338F74D263B61370014BF09 /* ConnectToServerView.swift */; };
|
5338F74E263B61370014BF09 /* ConnectToServerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5338F74D263B61370014BF09 /* ConnectToServerView.swift */; };
|
||||||
5338F757263B7E2E0014BF09 /* KeychainSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 5338F756263B7E2E0014BF09 /* KeychainSwift */; };
|
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 */; };
|
535870632669D21600D05A09 /* JellyfinPlayer_tvOSApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 535870622669D21600D05A09 /* JellyfinPlayer_tvOSApp.swift */; };
|
||||||
535870652669D21600D05A09 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 535870642669D21600D05A09 /* ContentView.swift */; };
|
535870652669D21600D05A09 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 535870642669D21600D05A09 /* ContentView.swift */; };
|
||||||
535870672669D21700D05A09 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 535870662669D21700D05A09 /* Assets.xcassets */; };
|
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 */; };
|
53AD124E26702B8A0094A276 /* SeasonItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53987CA326572C1300E7EA70 /* SeasonItemView.swift */; };
|
||||||
53C4404E266C75C70049424C /* HandleAPIRequestCompletion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53C4404D266C75C70049424C /* HandleAPIRequestCompletion.swift */; };
|
53C4404E266C75C70049424C /* HandleAPIRequestCompletion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53C4404D266C75C70049424C /* HandleAPIRequestCompletion.swift */; };
|
||||||
53C4404F266C75C70049424C /* 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 */; };
|
53DE4BD02670961400739748 /* EpisodeItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53987CA72657424A00E7EA70 /* EpisodeItemView.swift */; };
|
||||||
53DE4BD2267098F300739748 /* SearchBarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53DE4BD1267098F300739748 /* SearchBarView.swift */; };
|
53DE4BD2267098F300739748 /* SearchBarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53DE4BD1267098F300739748 /* SearchBarView.swift */; };
|
||||||
53DF641E263D9C0600A7CD1A /* LibraryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53DF641D263D9C0600A7CD1A /* LibraryView.swift */; };
|
53DF641E263D9C0600A7CD1A /* LibraryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53DF641D263D9C0600A7CD1A /* LibraryView.swift */; };
|
||||||
@ -116,6 +116,17 @@
|
|||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
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 */ = {
|
5358709F2669D82900D05A09 /* Embed Frameworks */ = {
|
||||||
isa = PBXCopyFilesBuildPhase;
|
isa = PBXCopyFilesBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
@ -127,17 +138,6 @@
|
|||||||
name = "Embed Frameworks";
|
name = "Embed Frameworks";
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
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 */ = {
|
628B95312670CABE0091AF3B /* Embed App Extensions */ = {
|
||||||
isa = PBXCopyFilesBuildPhase;
|
isa = PBXCopyFilesBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
@ -156,6 +156,7 @@
|
|||||||
5321753A2671BCFC005491E6 /* SettingsViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsViewModel.swift; sourceTree = "<group>"; };
|
5321753A2671BCFC005491E6 /* SettingsViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsViewModel.swift; sourceTree = "<group>"; };
|
||||||
53313B8F265EEA6D00947AA3 /* VideoPlayer.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = VideoPlayer.storyboard; sourceTree = "<group>"; };
|
53313B8F265EEA6D00947AA3 /* VideoPlayer.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = VideoPlayer.storyboard; sourceTree = "<group>"; };
|
||||||
5338F74D263B61370014BF09 /* ConnectToServerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConnectToServerView.swift; sourceTree = "<group>"; };
|
5338F74D263B61370014BF09 /* ConnectToServerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConnectToServerView.swift; sourceTree = "<group>"; };
|
||||||
|
533A8E6526748B4F00719967 /* MobileVLCKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileVLCKit.framework; path = "Carthage/Build/MobileVLCKit.xcframework/ios-arm64_armv7_armv7s/MobileVLCKit.framework"; sourceTree = "<group>"; };
|
||||||
535870602669D21600D05A09 /* JellyfinPlayer tvOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "JellyfinPlayer tvOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
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 = "<group>"; };
|
535870622669D21600D05A09 /* JellyfinPlayer_tvOSApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = JellyfinPlayer_tvOSApp.swift; sourceTree = "<group>"; };
|
||||||
535870642669D21600D05A09 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
|
535870642669D21600D05A09 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
|
||||||
@ -233,8 +234,8 @@
|
|||||||
isa = PBXFrameworksBuildPhase;
|
isa = PBXFrameworksBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
|
533A8E6626748B4F00719967 /* MobileVLCKit.framework in Frameworks */,
|
||||||
5338F757263B7E2E0014BF09 /* KeychainSwift in Frameworks */,
|
5338F757263B7E2E0014BF09 /* KeychainSwift in Frameworks */,
|
||||||
53D5E3DD264B47EE00BADDC8 /* MobileVLCKit.xcframework in Frameworks */,
|
|
||||||
53352571265EA0A0006CCA86 /* Introspect in Frameworks */,
|
53352571265EA0A0006CCA86 /* Introspect in Frameworks */,
|
||||||
621C638026672A30004216EA /* NukeUI in Frameworks */,
|
621C638026672A30004216EA /* NukeUI in Frameworks */,
|
||||||
53A431BD266B0FF20016769F /* JellyfinAPI in Frameworks */,
|
53A431BD266B0FF20016769F /* JellyfinAPI in Frameworks */,
|
||||||
@ -373,6 +374,7 @@
|
|||||||
53D5E3DB264B47EE00BADDC8 /* Frameworks */ = {
|
53D5E3DB264B47EE00BADDC8 /* Frameworks */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
533A8E6526748B4F00719967 /* MobileVLCKit.framework */,
|
||||||
5358709C2669D82900D05A09 /* TVVLCKit.framework */,
|
5358709C2669D82900D05A09 /* TVVLCKit.framework */,
|
||||||
53D5E3DC264B47EE00BADDC8 /* MobileVLCKit.xcframework */,
|
53D5E3DC264B47EE00BADDC8 /* MobileVLCKit.xcframework */,
|
||||||
628B95212670CABD0091AF3B /* WidgetKit.framework */,
|
628B95212670CABD0091AF3B /* WidgetKit.framework */,
|
||||||
@ -454,9 +456,9 @@
|
|||||||
5377CBED263B596A003A4E83 /* Sources */,
|
5377CBED263B596A003A4E83 /* Sources */,
|
||||||
5377CBEE263B596A003A4E83 /* Frameworks */,
|
5377CBEE263B596A003A4E83 /* Frameworks */,
|
||||||
5377CBEF263B596A003A4E83 /* Resources */,
|
5377CBEF263B596A003A4E83 /* Resources */,
|
||||||
53D5E3DF264B47EE00BADDC8 /* Embed Frameworks */,
|
|
||||||
5302F8322658B74800647A2E /* CopyFiles */,
|
5302F8322658B74800647A2E /* CopyFiles */,
|
||||||
628B95312670CABE0091AF3B /* Embed App Extensions */,
|
628B95312670CABE0091AF3B /* Embed App Extensions */,
|
||||||
|
533A8E6826748B4F00719967 /* Embed Frameworks */,
|
||||||
);
|
);
|
||||||
buildRules = (
|
buildRules = (
|
||||||
);
|
);
|
||||||
@ -863,6 +865,10 @@
|
|||||||
ENABLE_BITCODE = NO;
|
ENABLE_BITCODE = NO;
|
||||||
ENABLE_PREVIEWS = YES;
|
ENABLE_PREVIEWS = YES;
|
||||||
EXCLUDED_ARCHS = "";
|
EXCLUDED_ARCHS = "";
|
||||||
|
FRAMEWORK_SEARCH_PATHS = (
|
||||||
|
"$(inherited)",
|
||||||
|
"$(PROJECT_DIR)/Carthage/Build/MobileVLCKit.xcframework/ios-arm64_armv7_armv7s",
|
||||||
|
);
|
||||||
INFOPLIST_FILE = JellyfinPlayer/Info.plist;
|
INFOPLIST_FILE = JellyfinPlayer/Info.plist;
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 14.1;
|
IPHONEOS_DEPLOYMENT_TARGET = 14.1;
|
||||||
LD_RUNPATH_SEARCH_PATHS = (
|
LD_RUNPATH_SEARCH_PATHS = (
|
||||||
@ -896,6 +902,10 @@
|
|||||||
ENABLE_BITCODE = NO;
|
ENABLE_BITCODE = NO;
|
||||||
ENABLE_PREVIEWS = YES;
|
ENABLE_PREVIEWS = YES;
|
||||||
EXCLUDED_ARCHS = "";
|
EXCLUDED_ARCHS = "";
|
||||||
|
FRAMEWORK_SEARCH_PATHS = (
|
||||||
|
"$(inherited)",
|
||||||
|
"$(PROJECT_DIR)/Carthage/Build/MobileVLCKit.xcframework/ios-arm64_armv7_armv7s",
|
||||||
|
);
|
||||||
INFOPLIST_FILE = JellyfinPlayer/Info.plist;
|
INFOPLIST_FILE = JellyfinPlayer/Info.plist;
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 14.1;
|
IPHONEOS_DEPLOYMENT_TARGET = 14.1;
|
||||||
LD_RUNPATH_SEARCH_PATHS = (
|
LD_RUNPATH_SEARCH_PATHS = (
|
||||||
@ -1033,8 +1043,8 @@
|
|||||||
isa = XCRemoteSwiftPackageReference;
|
isa = XCRemoteSwiftPackageReference;
|
||||||
repositoryURL = "https://github.com/kean/NukeUI";
|
repositoryURL = "https://github.com/kean/NukeUI";
|
||||||
requirement = {
|
requirement = {
|
||||||
branch = main;
|
kind = exactVersion;
|
||||||
kind = branch;
|
version = 0.3.0;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
/* End XCRemoteSwiftPackageReference section */
|
/* End XCRemoteSwiftPackageReference section */
|
||||||
|
@ -20,16 +20,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"package": "JellyfinAPI",
|
"package": "jellyfin-sdk-swift",
|
||||||
"repositoryURL": "https://github.com/jellyfin/jellyfin-sdk-swift",
|
"repositoryURL": "https://github.com/jellyfin/jellyfin-sdk-swift",
|
||||||
"state": {
|
"state": {
|
||||||
"branch": "main",
|
"branch": "main",
|
||||||
"revision": "02fe19f44738341aa2ad7d9452f74ad3464a639d",
|
"revision": "5cdc2419f547b3f31dc96f5eccaf3f303f44184b",
|
||||||
"version": null
|
"version": null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"package": "KeychainSwift",
|
"package": "keychain-swift",
|
||||||
"repositoryURL": "https://github.com/evgenyneu/keychain-swift",
|
"repositoryURL": "https://github.com/evgenyneu/keychain-swift",
|
||||||
"state": {
|
"state": {
|
||||||
"branch": null,
|
"branch": null,
|
||||||
@ -42,21 +42,21 @@
|
|||||||
"repositoryURL": "https://github.com/kean/Nuke.git",
|
"repositoryURL": "https://github.com/kean/Nuke.git",
|
||||||
"state": {
|
"state": {
|
||||||
"branch": null,
|
"branch": null,
|
||||||
"revision": "e1e9d056fedafa486508759923a0db61ce46f1bc",
|
"revision": "69ae6d5b8c4b898450432f94bd35f863d3830cfc",
|
||||||
"version": "10.1.0"
|
"version": "10.3.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"package": "NukeUI",
|
"package": "NukeUI",
|
||||||
"repositoryURL": "https://github.com/kean/NukeUI",
|
"repositoryURL": "https://github.com/kean/NukeUI",
|
||||||
"state": {
|
"state": {
|
||||||
"branch": "main",
|
"branch": null,
|
||||||
"revision": "31ef27030d4ebf8fc5a3d5b44d66e281921883ab",
|
"revision": "d2580b8d22b29c6244418d8e4b568f3162191460",
|
||||||
"version": null
|
"version": "0.3.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"package": "Introspect",
|
"package": "SwiftUI-Introspect",
|
||||||
"repositoryURL": "https://github.com/siteline/SwiftUI-Introspect",
|
"repositoryURL": "https://github.com/siteline/SwiftUI-Introspect",
|
||||||
"state": {
|
"state": {
|
||||||
"branch": null,
|
"branch": null,
|
||||||
|
@ -155,7 +155,7 @@ struct ConnectToServerView: View {
|
|||||||
Button {
|
Button {
|
||||||
isWorking = true
|
isWorking = true
|
||||||
if !uri.contains("http") {
|
if !uri.contains("http") {
|
||||||
uri = "http://" + uri
|
uri = "https://" + uri
|
||||||
}
|
}
|
||||||
if uri.last == "/" {
|
if uri.last == "/" {
|
||||||
uri = String(uri.dropLast())
|
uri = String(uri.dropLast())
|
||||||
|
@ -9,7 +9,6 @@ import SwiftUI
|
|||||||
|
|
||||||
import KeychainSwift
|
import KeychainSwift
|
||||||
import Nuke
|
import Nuke
|
||||||
import Combine
|
|
||||||
import JellyfinAPI
|
import JellyfinAPI
|
||||||
import WidgetKit
|
import WidgetKit
|
||||||
|
|
||||||
@ -38,7 +37,7 @@ struct ContentView: View {
|
|||||||
@State private var loadState: Int = 2
|
@State private var loadState: Int = 2
|
||||||
|
|
||||||
private var recentFilterSet: LibraryFilters = LibraryFilters(filters: [], sortOrder: [.descending], sortBy: ["DateCreated"])
|
private var recentFilterSet: LibraryFilters = LibraryFilters(filters: [], sortOrder: [.descending], sortBy: ["DateCreated"])
|
||||||
|
|
||||||
func startup() {
|
func startup() {
|
||||||
if viewDidLoad == true {
|
if viewDidLoad == true {
|
||||||
return
|
return
|
||||||
|
@ -14,7 +14,7 @@ struct LibraryListView: View {
|
|||||||
@State var library_ids: [String] = ["favorites", "genres"]
|
@State var library_ids: [String] = ["favorites", "genres"]
|
||||||
@State var library_names: [String: String] = ["favorites": "Favorites", "genres": "Genres"]
|
@State var library_names: [String: String] = ["favorites": "Favorites", "genres": "Genres"]
|
||||||
var libraries: [String: String] = [:] // input libraries
|
var libraries: [String: String] = [:] // input libraries
|
||||||
var withFavorites: LibraryFilters = LibraryFilters(filters: [.isFavorite], sortOrder: [.descending], sortBy: ["SortName"])
|
var withFavorites: LibraryFilters!
|
||||||
|
|
||||||
init(libraries: [String: String]) {
|
init(libraries: [String: String]) {
|
||||||
self.libraries = libraries
|
self.libraries = libraries
|
||||||
|
@ -17,12 +17,12 @@ struct LibraryView: View {
|
|||||||
@State private var items: [BaseItemDto] = []
|
@State private var items: [BaseItemDto] = []
|
||||||
@State private var isLoading: Bool = false
|
@State private var isLoading: Bool = false
|
||||||
|
|
||||||
var usingParentID: String = ""
|
private var usingParentID: String = ""
|
||||||
var title: String = ""
|
private var title: String = ""
|
||||||
var filters: LibraryFilters = LibraryFilters()
|
private var filters: LibraryFilters = LibraryFilters()
|
||||||
var personId: String = ""
|
private var personId: String = ""
|
||||||
var genre: String = ""
|
private var genre: String = ""
|
||||||
var studio: String = ""
|
private var studio: String = ""
|
||||||
|
|
||||||
@State private var totalPages: Int = 0
|
@State private var totalPages: Int = 0
|
||||||
@State private var currentPage: Int = 0
|
@State private var currentPage: Int = 0
|
||||||
|
@ -25,11 +25,11 @@ struct SettingsView: View {
|
|||||||
|
|
||||||
func onAppear() {
|
func onAppear() {
|
||||||
let defaults = UserDefaults.standard
|
let defaults = UserDefaults.standard
|
||||||
_username.wrappedValue = globalData.user.username!
|
username = globalData.user.username!
|
||||||
_inNetworkStreamBitrate.wrappedValue = defaults.integer(forKey: "InNetworkBandwidth")
|
inNetworkStreamBitrate = defaults.integer(forKey: "InNetworkBandwidth")
|
||||||
_outOfNetworkStreamBitrate.wrappedValue = defaults.integer(forKey: "OutOfNetworkBandwidth")
|
outOfNetworkStreamBitrate = defaults.integer(forKey: "OutOfNetworkBandwidth")
|
||||||
_autoSelectSubtitles.wrappedValue = defaults.bool(forKey: "AutoSelectSubtitles")
|
autoSelectSubtitles = defaults.bool(forKey: "AutoSelectSubtitles")
|
||||||
_autoSelectSubtitlesLangcode.wrappedValue = defaults.string(forKey: "AutoSelectSubtitlesLangcode") ?? ""
|
autoSelectSubtitlesLangcode = defaults.string(forKey: "AutoSelectSubtitlesLangcode") ?? ""
|
||||||
}
|
}
|
||||||
|
|
||||||
var body: some View {
|
var body: some View {
|
||||||
|
@ -79,6 +79,7 @@ class PlayerViewController: UIViewController, VLCMediaDelegate, VLCMediaPlayerDe
|
|||||||
var manifest: BaseItemDto = BaseItemDto()
|
var manifest: BaseItemDto = BaseItemDto()
|
||||||
var playbackItem = PlaybackItem()
|
var playbackItem = PlaybackItem()
|
||||||
|
|
||||||
|
//MARK: IBActions
|
||||||
@IBAction func seekSliderStart(_ sender: Any) {
|
@IBAction func seekSliderStart(_ sender: Any) {
|
||||||
sendProgressReport(eventName: "pause")
|
sendProgressReport(eventName: "pause")
|
||||||
mediaPlayer.pause()
|
mediaPlayer.pause()
|
||||||
@ -257,6 +258,7 @@ class PlayerViewController: UIViewController, VLCMediaDelegate, VLCMediaPlayerDe
|
|||||||
dump(event)
|
dump(event)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//MARK: viewDidLoad
|
||||||
override func viewDidLoad() {
|
override func viewDidLoad() {
|
||||||
super.viewDidLoad()
|
super.viewDidLoad()
|
||||||
// View has loaded.
|
// View has loaded.
|
||||||
|
@ -11,7 +11,7 @@ import JellyfinAPI
|
|||||||
|
|
||||||
struct LibraryFilters: Codable, Hashable {
|
struct LibraryFilters: Codable, Hashable {
|
||||||
var filters: [ItemFilter] = []
|
var filters: [ItemFilter] = []
|
||||||
var sortOrder: [SortOrder] = [.descending]
|
var sortOrder: [APISortOrder] = [.descending]
|
||||||
var withGenres: [NameGuidPair] = []
|
var withGenres: [NameGuidPair] = []
|
||||||
var sortBy: [String] = ["SortName"]
|
var sortBy: [String] = ["SortName"]
|
||||||
}
|
}
|
||||||
|
@ -168,14 +168,14 @@ struct NextUpEntryView: View {
|
|||||||
.frame(minWidth: 0, maxWidth: .infinity, minHeight: 0, maxHeight: .infinity)
|
.frame(minWidth: 0, maxWidth: .infinity, minHeight: 0, maxHeight: .infinity)
|
||||||
} else {
|
} else {
|
||||||
switch family {
|
switch family {
|
||||||
case .systemSmall:
|
case .systemSmall:
|
||||||
small(item: entry.items.first)
|
small(item: entry.items.first)
|
||||||
case .systemMedium:
|
case .systemMedium:
|
||||||
medium(items: entry.items)
|
medium(items: entry.items)
|
||||||
case .systemLarge:
|
case .systemLarge:
|
||||||
large(items: entry.items)
|
large(items: entry.items)
|
||||||
@unknown default:
|
default:
|
||||||
EmptyView()
|
EmptyView()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user