import Foundation import NowPlaying @available(iOS 27.0, *) struct SystemPlayerAttributes: RemoteMediaSessionAttributes { let id: String var title: String var artist: String var source: String var artworkID: String? var playing: Bool var rate: Double var position: Double var duration: Double var timestamp: Date var capabilities: Capabilities var volume: Double? var hasSession: Bool init(id: String, state: MediaState, now: Date = Date()) { self.id = id title = String(state.title.prefix(256)); artist = String(state.artist.prefix(256)) source = String(state.source.prefix(128)); artworkID = state.artworkId playing = state.playbackStatus == "Playing"; rate = state.playbackRate position = max(0, state.position(elapsed: 0) - state.startSeconds) duration = max(0, state.endSeconds - state.startSeconds) timestamp = now; capabilities = state.capabilities; volume = state.volume; hasSession = state.hasSession } }