format merge

This commit is contained in:
Ethan Pippin 2022-01-10 13:34:03 -07:00
parent 071d07d5ff
commit e12da2cf07
8 changed files with 544 additions and 524 deletions

View File

@ -1,11 +1,10 @@
// //
/* // Swiftfin is subject to the terms of the Mozilla Public
* SwiftFin is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this
* License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/.
* file, you can obtain one at https://mozilla.org/MPL/2.0/. //
* // Copyright (c) 2022 Jellyfin & Jellyfin Contributors
* Copyright 2021 Aiden Vigue & Jellyfin Contributors //
*/
#if os(tvOS) #if os(tvOS)
import TVVLCKit import TVVLCKit
@ -18,9 +17,7 @@ extension VLCMediaPlayer {
/// ///
/// This is pretty hacky until VLCKit 4 has a public API to support this /// This is pretty hacky until VLCKit 4 has a public API to support this
func setSubtitleSize(_ size: SubtitleSize) { func setSubtitleSize(_ size: SubtitleSize) {
perform( perform(Selector(("setTextRendererFontSize:")),
Selector(("setTextRendererFontSize:")), with: size.textRendererFontSize)
with: size.textRendererFontSize
)
} }
} }

View File

@ -1,11 +1,10 @@
// //
/* // Swiftfin is subject to the terms of the Mozilla Public
* SwiftFin is subject to the terms of the Mozilla Public // License, v2.0. If a copy of the MPL was not distributed with this
* License, v2.0. If a copy of the MPL was not distributed with this // file, you can obtain one at https://mozilla.org/MPL/2.0/.
* file, you can obtain one at https://mozilla.org/MPL/2.0/. //
* // Copyright (c) 2022 Jellyfin & Jellyfin Contributors
* Copyright 2021 Aiden Vigue & Jellyfin Contributors //
*/
import Defaults import Defaults

View File

@ -34,7 +34,8 @@ extension Defaults.Keys {
static let inNetworkBandwidth = Key<Int>("InNetworkBandwidth", default: 40_000_000, suite: SwiftfinStore.Defaults.generalSuite) static let inNetworkBandwidth = Key<Int>("InNetworkBandwidth", default: 40_000_000, suite: SwiftfinStore.Defaults.generalSuite)
static let outOfNetworkBandwidth = Key<Int>("OutOfNetworkBandwidth", default: 40_000_000, suite: SwiftfinStore.Defaults.generalSuite) static let outOfNetworkBandwidth = Key<Int>("OutOfNetworkBandwidth", default: 40_000_000, suite: SwiftfinStore.Defaults.generalSuite)
static let isAutoSelectSubtitles = Key<Bool>("isAutoSelectSubtitles", default: false, suite: SwiftfinStore.Defaults.generalSuite) static let isAutoSelectSubtitles = Key<Bool>("isAutoSelectSubtitles", default: false, suite: SwiftfinStore.Defaults.generalSuite)
static let autoSelectSubtitlesLangCode = Key<String>("AutoSelectSubtitlesLangCode", default: "Auto", suite: SwiftfinStore.Defaults.generalSuite) static let autoSelectSubtitlesLangCode = Key<String>("AutoSelectSubtitlesLangCode", default: "Auto",
suite: SwiftfinStore.Defaults.generalSuite)
static let autoSelectAudioLangCode = Key<String>("AutoSelectAudioLangCode", default: "Auto", suite: SwiftfinStore.Defaults.generalSuite) static let autoSelectAudioLangCode = Key<String>("AutoSelectAudioLangCode", default: "Auto", suite: SwiftfinStore.Defaults.generalSuite)
// Customize settings // Customize settings
@ -44,8 +45,10 @@ extension Defaults.Keys {
// Video player / overlay settings // Video player / overlay settings
static let overlayType = Key<OverlayType>("overlayType", default: .normal, suite: SwiftfinStore.Defaults.generalSuite) static let overlayType = Key<OverlayType>("overlayType", default: .normal, suite: SwiftfinStore.Defaults.generalSuite)
static let jumpGesturesEnabled = Key<Bool>("gesturesEnabled", default: true, suite: SwiftfinStore.Defaults.generalSuite) static let jumpGesturesEnabled = Key<Bool>("gesturesEnabled", default: true, suite: SwiftfinStore.Defaults.generalSuite)
static let videoPlayerJumpForward = Key<VideoPlayerJumpLength>("videoPlayerJumpForward", default: .fifteen, suite: SwiftfinStore.Defaults.generalSuite) static let videoPlayerJumpForward = Key<VideoPlayerJumpLength>("videoPlayerJumpForward", default: .fifteen,
static let videoPlayerJumpBackward = Key<VideoPlayerJumpLength>("videoPlayerJumpBackward", default: .fifteen, suite: SwiftfinStore.Defaults.generalSuite) suite: SwiftfinStore.Defaults.generalSuite)
static let videoPlayerJumpBackward = Key<VideoPlayerJumpLength>("videoPlayerJumpBackward", default: .fifteen,
suite: SwiftfinStore.Defaults.generalSuite)
static let autoplayEnabled = Key<Bool>("autoPlayNextItem", default: true, suite: SwiftfinStore.Defaults.generalSuite) static let autoplayEnabled = Key<Bool>("autoPlayNextItem", default: true, suite: SwiftfinStore.Defaults.generalSuite)
static let resumeOffset = Key<Bool>("resumeOffset", default: false, suite: SwiftfinStore.Defaults.generalSuite) static let resumeOffset = Key<Bool>("resumeOffset", default: false, suite: SwiftfinStore.Defaults.generalSuite)
static let subtitleSize = Key<SubtitleSize>("subtitleSize", default: .regular, suite: SwiftfinStore.Defaults.generalSuite) static let subtitleSize = Key<SubtitleSize>("subtitleSize", default: .regular, suite: SwiftfinStore.Defaults.generalSuite)
@ -56,11 +59,13 @@ extension Defaults.Keys {
static let shouldShowAutoPlay = Key<Bool>("shouldShowAutoPlayNextItem", default: true, suite: SwiftfinStore.Defaults.generalSuite) static let shouldShowAutoPlay = Key<Bool>("shouldShowAutoPlayNextItem", default: true, suite: SwiftfinStore.Defaults.generalSuite)
// Should show video player items in overlay menu // Should show video player items in overlay menu
static let shouldShowJumpButtonsInOverlayMenu = Key<Bool>("shouldShowJumpButtonsInMenu", default: true, suite: SwiftfinStore.Defaults.generalSuite) static let shouldShowJumpButtonsInOverlayMenu = Key<Bool>("shouldShowJumpButtonsInMenu", default: true,
suite: SwiftfinStore.Defaults.generalSuite)
// Experimental settings // Experimental settings
struct Experimental { enum Experimental {
static let syncSubtitleStateWithAdjacent = Key<Bool>("experimental.syncSubtitleState", default: false, suite: SwiftfinStore.Defaults.generalSuite) static let syncSubtitleStateWithAdjacent = Key<Bool>("experimental.syncSubtitleState", default: false,
suite: SwiftfinStore.Defaults.generalSuite)
static let liveTVAlphaEnabled = Key<Bool>("liveTVAlphaEnabled", default: false, suite: SwiftfinStore.Defaults.generalSuite) static let liveTVAlphaEnabled = Key<Bool>("liveTVAlphaEnabled", default: false, suite: SwiftfinStore.Defaults.generalSuite)
} }

View File

@ -13,18 +13,29 @@ import SwiftUI
struct SettingsView: View { struct SettingsView: View {
@EnvironmentObject var settingsRouter: SettingsCoordinator.Router @EnvironmentObject
@ObservedObject var viewModel: SettingsViewModel var settingsRouter: SettingsCoordinator.Router
@ObservedObject
var viewModel: SettingsViewModel
@Default(.autoSelectAudioLangCode) var autoSelectAudioLangcode @Default(.autoSelectAudioLangCode)
@Default(.videoPlayerJumpForward) var jumpForwardLength var autoSelectAudioLangcode
@Default(.videoPlayerJumpBackward) var jumpBackwardLength @Default(.videoPlayerJumpForward)
@Default(.downActionShowsMenu) var downActionShowsMenu var jumpForwardLength
@Default(.confirmClose) var confirmClose @Default(.videoPlayerJumpBackward)
@Default(.tvOSCinematicViews) var tvOSCinematicViews var jumpBackwardLength
@Default(.showPosterLabels) var showPosterLabels @Default(.downActionShowsMenu)
@Default(.resumeOffset) var resumeOffset var downActionShowsMenu
@Default(.subtitleSize) var subtitleSize @Default(.confirmClose)
var confirmClose
@Default(.tvOSCinematicViews)
var tvOSCinematicViews
@Default(.showPosterLabels)
var showPosterLabels
@Default(.resumeOffset)
var resumeOffset
@Default(.subtitleSize)
var subtitleSize
var body: some View { var body: some View {
GeometryReader { reader in GeometryReader { reader in
@ -38,9 +49,7 @@ struct SettingsView: View {
Form { Form {
Section(header: EmptyView()) { Section(header: EmptyView()) {
Button { Button {} label: {
} label: {
HStack { HStack {
Text("User") Text("User")
Spacer() Spacer()

View File

@ -391,7 +391,7 @@ extension VLCPlayerViewController {
// remove old player // remove old player
if vlcMediaPlayer.media != nil { if vlcMediaPlayer.media != nil {
viewModelListeners.forEach({ $0.cancel() }) viewModelListeners.forEach { $0.cancel() }
vlcMediaPlayer.stop() vlcMediaPlayer.stop()
viewModel.sendStopReport() viewModel.sendStopReport()
@ -413,7 +413,7 @@ extension VLCPlayerViewController {
// Stop current media if there is one // Stop current media if there is one
if vlcMediaPlayer.media != nil { if vlcMediaPlayer.media != nil {
viewModelListeners.forEach({ $0.cancel() }) viewModelListeners.forEach { $0.cancel() }
vlcMediaPlayer.stop() vlcMediaPlayer.stop()
viewModel.sendStopReport() viewModel.sendStopReport()
@ -455,6 +455,7 @@ extension VLCPlayerViewController {
} }
// MARK: startPlayback // MARK: startPlayback
func startPlayback() { func startPlayback() {
vlcMediaPlayer.play() vlcMediaPlayer.play()

View File

@ -1043,7 +1043,6 @@
62ECA01926FA6D6900E8EBB7 /* AppURLHandler */, 62ECA01926FA6D6900E8EBB7 /* AppURLHandler */,
5377CBF8263B596B003A4E83 /* Assets.xcassets */, 5377CBF8263B596B003A4E83 /* Assets.xcassets */,
53F866422687A45400DCD1D7 /* Components */, 53F866422687A45400DCD1D7 /* Components */,
5D160401278A41BA00D22B99 /* Extensions */,
5377CC02263B596B003A4E83 /* Info.plist */, 5377CC02263B596B003A4E83 /* Info.plist */,
E13D02842788B634000FCB04 /* Swiftfin.entitlements */, E13D02842788B634000FCB04 /* Swiftfin.entitlements */,
5377CBFA263B596B003A4E83 /* Preview Content */, 5377CBFA263B596B003A4E83 /* Preview Content */,
@ -1224,13 +1223,6 @@
path = Components; path = Components;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
5D160401278A41BA00D22B99 /* Extensions */ = {
isa = PBXGroup;
children = (
);
path = Extensions;
sourceTree = "<group>";
};
5D64683B277B15E4009E09AE /* PreferenceUIHosting */ = { 5D64683B277B15E4009E09AE /* PreferenceUIHosting */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (

View File

@ -13,23 +13,39 @@ import SwiftUI
struct SettingsView: View { struct SettingsView: View {
@EnvironmentObject var settingsRouter: SettingsCoordinator.Router @EnvironmentObject
@ObservedObject var viewModel: SettingsViewModel var settingsRouter: SettingsCoordinator.Router
@ObservedObject
var viewModel: SettingsViewModel
@Default(.inNetworkBandwidth) var inNetworkStreamBitrate @Default(.inNetworkBandwidth)
@Default(.outOfNetworkBandwidth) var outOfNetworkStreamBitrate var inNetworkStreamBitrate
@Default(.isAutoSelectSubtitles) var isAutoSelectSubtitles @Default(.outOfNetworkBandwidth)
@Default(.autoSelectSubtitlesLangCode) var autoSelectSubtitlesLangcode var outOfNetworkStreamBitrate
@Default(.autoSelectAudioLangCode) var autoSelectAudioLangcode @Default(.isAutoSelectSubtitles)
@Default(.appAppearance) var appAppearance var isAutoSelectSubtitles
@Default(.overlayType) var overlayType @Default(.autoSelectSubtitlesLangCode)
@Default(.videoPlayerJumpForward) var jumpForwardLength var autoSelectSubtitlesLangcode
@Default(.videoPlayerJumpBackward) var jumpBackwardLength @Default(.autoSelectAudioLangCode)
@Default(.jumpGesturesEnabled) var jumpGesturesEnabled var autoSelectAudioLangcode
@Default(.showPosterLabels) var showPosterLabels @Default(.appAppearance)
@Default(.showCastAndCrew) var showCastAndCrew var appAppearance
@Default(.resumeOffset) var resumeOffset @Default(.overlayType)
@Default(.subtitleSize) var subtitleSize var overlayType
@Default(.videoPlayerJumpForward)
var jumpForwardLength
@Default(.videoPlayerJumpBackward)
var jumpBackwardLength
@Default(.jumpGesturesEnabled)
var jumpGesturesEnabled
@Default(.showPosterLabels)
var showPosterLabels
@Default(.showCastAndCrew)
var showCastAndCrew
@Default(.resumeOffset)
var resumeOffset
@Default(.subtitleSize)
var subtitleSize
var body: some View { var body: some View {
Form { Form {

View File

@ -293,7 +293,7 @@ extension VLCPlayerViewController {
// remove old player // remove old player
if vlcMediaPlayer.media != nil { if vlcMediaPlayer.media != nil {
viewModelListeners.forEach({ $0.cancel() }) viewModelListeners.forEach { $0.cancel() }
vlcMediaPlayer.stop() vlcMediaPlayer.stop()
viewModel.sendStopReport() viewModel.sendStopReport()
@ -346,6 +346,7 @@ extension VLCPlayerViewController {
} }
// MARK: startPlayback // MARK: startPlayback
func startPlayback() { func startPlayback() {
vlcMediaPlayer.play() vlcMediaPlayer.play()