advplyr.audiobookshelf-app/ios/App/Shared/models/PlaybackSession.swift

58 lines
1.4 KiB
Swift
Raw Normal View History

2022-04-12 14:28:47 +02:00
//
// PlaybackSession.swift
// App
//
// Created by Rasmus Krämer on 12.04.22.
//
import Foundation
2022-04-14 12:24:27 +02:00
struct PlaybackSession: Decodable, Encodable {
2022-04-12 14:28:47 +02:00
var id: String
var userId: String?
var libraryItemId: String?
var episodeId: String?
var mediaType: String
// var mediaMetadata: MediaTypeMetadata - It is not implemented in android?
var chapters: [Chapter]
var displayTitle: String?
var displayAuthor: String?
var coverPath: String?
var duration: Double
var playMethod: Int
var startedAt: Double?
var updatedAt: Double?
2022-04-12 14:28:47 +02:00
var timeListening: Double
var audioTracks: [AudioTrack]
var currentTime: Double
// var libraryItem: LibraryItem?
// var localLibraryItem: LocalLibraryItem?
var serverConnectionConfigId: String?
var serverAddress: String?
}
2022-04-14 12:24:27 +02:00
struct Chapter: Decodable, Encodable {
2022-04-12 14:28:47 +02:00
var id: Int
var start: Double
var end: Double
var title: String?
}
2022-04-14 12:24:27 +02:00
struct AudioTrack: Decodable, Encodable {
var index: Int?
2022-04-12 14:28:47 +02:00
var startOffset: Double
var duration: Double
var title: String
var contentUrl: String
var mimeType: String
var metadata: FileMetadata?
// var isLocal: Bool
// var localFileId: String?
// var audioProbeResult: AudioProbeResult? Needed for local playback
2022-04-12 14:28:47 +02:00
var serverIndex: Int?
}
2022-04-14 12:24:27 +02:00
struct FileMetadata: Decodable, Encodable {
2022-04-12 14:28:47 +02:00
var filename: String
var ext: String
var path: String
var relPath: String
}