1
0
mirror of https://github.com/yattee/yattee.git synced 2024-12-13 22:00:31 +05:30

Fix updating now playing info with mpv on tvOS

Other minor tvOS fixes
This commit is contained in:
Arkadiusz Fal 2022-08-29 00:29:29 +02:00
parent 945dbfe00b
commit d5f8ad4eec
2 changed files with 51 additions and 41 deletions

View File

@ -505,16 +505,7 @@ final class PlayerModel: ObservableObject {
self.backend.setNeedsDrawing(self.presentingPlayer) self.backend.setNeedsDrawing(self.presentingPlayer)
} }
#if os(tvOS)
if presentingPlayer {
controls.show()
Delay.by(1) { [weak self] in
self?.controls.hide()
}
}
#else
controls.hide() controls.hide()
#endif
#if !os(macOS) #if !os(macOS)
UIApplication.shared.isIdleTimerDisabled = presentingPlayer UIApplication.shared.isIdleTimerDisabled = presentingPlayer
@ -883,7 +874,9 @@ final class PlayerModel: ObservableObject {
} }
func updateNowPlayingInfo() { func updateNowPlayingInfo() {
#if !os(tvOS) #if os(tvOS)
guard activeBackend == .mpv else { return }
#endif
guard let video = currentItem?.video else { guard let video = currentItem?.video else {
MPNowPlayingInfoCenter.default().nowPlayingInfo = .none MPNowPlayingInfoCenter.default().nowPlayingInfo = .none
return return
@ -914,7 +907,6 @@ final class PlayerModel: ObservableObject {
} }
MPNowPlayingInfoCenter.default().nowPlayingInfo = nowPlayingInfo MPNowPlayingInfoCenter.default().nowPlayingInfo = nowPlayingInfo
#endif
} }
func updateCurrentArtwork() { func updateCurrentArtwork() {

View File

@ -34,6 +34,8 @@ struct PlayerBackendView: View {
.padding(.top, controlsTopPadding) .padding(.top, controlsTopPadding)
.padding(.bottom, controlsBottomPadding) .padding(.bottom, controlsBottomPadding)
#endif #endif
#else
hiddenControlsButton
#endif #endif
} }
#if os(iOS) #if os(iOS)
@ -70,6 +72,22 @@ struct PlayerBackendView: View {
} }
} }
#endif #endif
#if os(tvOS)
private var hiddenControlsButton: some View {
VStack {
Button {
player.controls.show()
} label: {
EmptyView()
}
.offset(y: -100)
.buttonStyle(.plain)
.background(Color.clear)
.foregroundColor(.clear)
}
}
#endif
} }
struct PlayerBackendView_Previews: PreviewProvider { struct PlayerBackendView_Previews: PreviewProvider {