Swift Media Player
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

64 lines
1.3 KiB

//
// Created by Marco Schmickler on 28.10.21.
// Copyright (c) 2021 Marco Schmickler. All rights reserved.
//
import Foundation
class KSettings: ObservableObject {
@Published
var scale = Float(1.5)
@Published
var autoloop = false
@Published
var slow = false
@Published
var zoomed = false
@Published
var jump = true
@Published
var edit = false
@Published
var confirm = true
@Published
var automaticallyWaitsToMinimizeStalling = true
@Published
var muteAudio = false
@Published
var docked = true
@Published
var embeddedVideoUrl : URL?
convenience init(model: KSettingsModel) {
self.init()
scale = model.scale
autoloop = model.autoloop
zoomed = model.zoomed
jump = model.jump
slow = model.slow
confirm = model.confirm
muteAudio = model.muteAudio
docked = model.docked
}
func toModel() -> KSettingsModel {
KSettingsModel(scale: scale, autoloop: autoloop, zoomed: zoomed, jump: jump, slow: slow, confirm: confirm, muteAudio: muteAudio, docked: docked)
}
func toJSON() -> String {
let jsonEncoder = JSONEncoder()
let jsonData = try! jsonEncoder.encode(toModel())
let json = String(data: jsonData, encoding: String.Encoding.utf8)
return json!
}
}