import Foundation extension Duration { /// Die Dauer als Gleitkommazahl in Sekunden. /// /// Foundation und AVFoundation rechnen in `TimeInterval`; `Duration` ist /// der genauere Typ, den der übrige Code verwendet. /// /// Diese Brücke stand bis eben in `PlexKit` — „weil es die unterste /// Schicht ist". Das stimmte, solange es nur einen Server gab. Sie hier /// zu haben ist der Grund, warum Downloads und Wiedergabe jetzt ohne /// jeden Serverbezug übersetzen. public var seconds: Double { Double(components.seconds) + Double(components.attoseconds) / 1e18 } /// Die Dauer in ganzen Millisekunden. /// /// Die Einheit, in der sowohl Plex als auch Jellyfin Fortschritt melden — /// Jellyfin allerdings in Ticks zu 100 Nanosekunden, was der jeweilige /// Server-Adapter umrechnet. public var milliseconds: Int { Int(components.seconds * 1000 + components.attoseconds / 1_000_000_000_000_000) } }