diff options
author | der richter <der.richter@gmx.de> | 2024-02-13 22:23:06 +0100 |
---|---|---|
committer | der richter <der.richter@gmx.de> | 2024-02-15 00:11:55 +0100 |
commit | 45192d94d356c25b032c0d6c360ed35fca6215aa (patch) | |
tree | 265ec0223e499717cd69ef527634315cf3c4f6cc /osdep/macos | |
parent | e457cc260c89f492ba59a3012d77643b00e7fd55 (diff) | |
download | mpv-45192d94d356c25b032c0d6c360ed35fca6215aa.tar.bz2 mpv-45192d94d356c25b032c0d6c360ed35fca6215aa.tar.xz |
mac/remote: remove unnecessary nowPlayingInfo variable
no need to keep track of the nowPlayingInfo, MPNowPlayingInfoCenter
already provides the current info.
Diffstat (limited to 'osdep/macos')
-rw-r--r-- | osdep/macos/remote_command_center.swift | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/osdep/macos/remote_command_center.swift b/osdep/macos/remote_command_center.swift index ef648b6bf5..f09360f815 100644 --- a/osdep/macos/remote_command_center.swift +++ b/osdep/macos/remote_command_center.swift @@ -40,7 +40,6 @@ extension RemoteCommandCenter { } class RemoteCommandCenter: NSObject { - var nowPlayingInfo: [String:Any] = [:] var configs: [MPRemoteCommand:Config] = [:] var disabledCommands: [MPRemoteCommand] = [] var isPaused: Bool = false { didSet { updateInfoCenter() } } @@ -51,6 +50,7 @@ class RemoteCommandCenter: NSObject { var chapter: String? { didSet { updateInfoCenter() } } var album: String? { didSet { updateInfoCenter() } } var artist: String? { didSet { updateInfoCenter() } } + var cover: NSImage = NSImage(size: NSSize(width: 256, height: 256)) var infoCenter: MPNowPlayingInfoCenter { get { return MPNowPlayingInfoCenter.default() } } var commandCenter: MPRemoteCommandCenter { get { return MPRemoteCommandCenter.shared() } } @@ -58,11 +58,6 @@ class RemoteCommandCenter: NSObject { @objc override init() { super.init() - nowPlayingInfo = [ - MPNowPlayingInfoPropertyMediaType: NSNumber(value: MPNowPlayingInfoMediaType.video.rawValue), - MPNowPlayingInfoPropertyPlaybackProgress: NSNumber(value: 0.0), - ] - configs = [ commandCenter.pauseCommand: Config(key: MP_KEY_PAUSEONLY, handler: keyHandler), commandCenter.playCommand: Config(key: MP_KEY_PLAYONLY, handler: keyHandler), @@ -90,10 +85,7 @@ class RemoteCommandCenter: NSObject { ] if let app = NSApp as? Application, let icon = app.getMPVIcon() { - let albumArt = MPMediaItemArtwork(boundsSize: icon.size) { _ in - return icon - } - nowPlayingInfo[MPMediaItemPropertyArtwork] = albumArt + cover = icon } for cmd in disabledCommands { @@ -140,17 +132,18 @@ class RemoteCommandCenter: NSObject { } func updateInfoCenter() { - nowPlayingInfo.merge([ + infoCenter.playbackState = isPaused ? .paused : .playing + infoCenter.nowPlayingInfo = (infoCenter.nowPlayingInfo ?? [:]).merging([ + MPNowPlayingInfoPropertyMediaType: NSNumber(value: MPNowPlayingInfoMediaType.video.rawValue), + MPNowPlayingInfoPropertyPlaybackProgress: NSNumber(value: 0.0), MPNowPlayingInfoPropertyPlaybackRate: NSNumber(value: isPaused ? 0 : rate), MPNowPlayingInfoPropertyElapsedPlaybackTime: NSNumber(value: position), MPMediaItemPropertyPlaybackDuration: NSNumber(value: duration), MPMediaItemPropertyTitle: title, MPMediaItemPropertyArtist: artist ?? chapter ?? "", MPMediaItemPropertyAlbumTitle: album ?? "", + MPMediaItemPropertyArtwork: MPMediaItemArtwork(boundsSize: cover.size) { _ in return self.cover } ]) { (_, new) in new } - - infoCenter.nowPlayingInfo = nowPlayingInfo - infoCenter.playbackState = isPaused ? .paused : .playing } lazy var keyHandler: ConfigHandler = { event in |