mirror of
https://github.com/yattee/yattee.git
synced 2025-08-06 10:44:06 +00:00
Add option "Keep last played video in the queue after restart"
This commit is contained in:
@@ -150,6 +150,8 @@ final class PlayerModel: ObservableObject {
|
||||
}
|
||||
}}
|
||||
|
||||
@Default(.saveLastPlayed) var saveLastPlayed
|
||||
@Default(.lastPlayed) var lastPlayed
|
||||
@Default(.qualityProfiles) var qualityProfiles
|
||||
@Default(.forceAVPlayerForLiveStreams) var forceAVPlayerForLiveStreams
|
||||
@Default(.pauseOnHidingPlayer) private var pauseOnHidingPlayer
|
||||
@@ -643,7 +645,9 @@ final class PlayerModel: ObservableObject {
|
||||
|
||||
DispatchQueue.main.async(qos: .background) { [weak self] in
|
||||
guard let self = self else { return }
|
||||
Defaults[.lastPlayed] = self.currentItem
|
||||
if self.saveLastPlayed {
|
||||
self.lastPlayed = self.currentItem
|
||||
}
|
||||
|
||||
if self.playbackMode == .related,
|
||||
let video = self.currentVideo,
|
||||
|
@@ -239,11 +239,11 @@ extension PlayerModel {
|
||||
func restoreQueue() {
|
||||
var restoredQueue = [PlayerQueueItem?]()
|
||||
|
||||
if let lastPlayed = Defaults[.lastPlayed],
|
||||
if let lastPlayed = lastPlayed,
|
||||
!Defaults[.queue].contains(where: { $0.videoID == lastPlayed.videoID })
|
||||
{
|
||||
restoredQueue.append(lastPlayed)
|
||||
Defaults[.lastPlayed] = nil
|
||||
self.lastPlayed = nil
|
||||
}
|
||||
|
||||
restoredQueue.append(contentsOf: Defaults[.queue])
|
||||
|
Reference in New Issue
Block a user