MiniPlayer/Sources/Models.swift

43 lines
861 B
Swift

import Foundation
import AVFoundation
//
enum MediaType: String, Codable {
case video, audio, stream
}
//
enum RepeatMode: String, CaseIterable {
case none //
case single //
case all //
var icon: String {
switch self {
case .none: return "repeat"
case .single: return "repeat.1"
case .all: return "repeat"
}
}
var next: RepeatMode {
switch self {
case .none: return .single
case .single: return .all
case .all: return .none
}
}
}
//
struct MediaItem: Identifiable, Equatable {
let id = UUID()
let url: URL
let name: String
let type: MediaType
static func == (lhs: MediaItem, rhs: MediaItem) -> Bool {
lhs.id == rhs.id
}
}