/* Copyright (C) 2024 Rubén Beltrán del Río This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see https://captura.tranquil.systems. */ import Foundation @objc(ScriptedPreferences) class ScriptedPreferences: NSObject { @objc dynamic var fps: Int { get { CapturaSettings.frameRate } set { CapturaSettings.frameRate = newValue } } @objc dynamic var outputs: String { get { CapturaSettings.outputFormats.toString() } set { CapturaSettings.outputFormats = OutputFormatSetting(newValue) ?? .gifOnly } } @objc dynamic var backend: String { get { CapturaSettings.backend?.absoluteString ?? "" } set { CapturaSettings.backend = URL(string: newValue) } } @objc dynamic var backend_output: String { get { CapturaSettings.backendFormat.toString() } set { CapturaSettings.backendFormat = OutputFormatSetting(newValue) ?? .gifOnly } } @objc dynamic var keep_local_files: Bool { get { CapturaSettings.shouldKeepLocalFiles } set { CapturaSettings.shouldKeepLocalFiles = newValue } } }