X-Git-Url: https://git.r.bdr.sh/rbdr/captura/blobdiff_plain/e42019cd38b59e757f6036b132614a471d4cf6fe..505c1e620497828ffb914e05dd76d9ab124f144a:/Captura/Scripting/ConfigureCommand.swift?ds=sidebyside diff --git a/Captura/Scripting/ConfigureCommand.swift b/Captura/Scripting/ConfigureCommand.swift index 4e42326..28cfe36 100644 --- a/Captura/Scripting/ConfigureCommand.swift +++ b/Captura/Scripting/ConfigureCommand.swift @@ -1,33 +1,51 @@ +/* + 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(ConfigureCommand) class ConfigureCommand: NSScriptCommand { - override func performDefaultImplementation() -> Any? { - - let args = self.directParameter as? [String: Any] ?? [:] - - // Here you can extract the parameters from the args dictionary and configure your settings - let fps = args["fps"] as? Int - let outputs = OutputFormatSetting(args["outputs"] as? String ?? "") - let backend = URL(string: args["backend"] as? String ?? "") - let backendOutput = OutputFormatSetting(args["backend_output"] as? String ?? "") - let keepLocalFiles = args["keep_local_files"] as? Bool - - let config = ConfigureAction( - action: "configure", - fps: fps, - outputs: outputs, - backend: backend, - backendOutput: backendOutput, - keepLocalFiles: keepLocalFiles - ) - - NotificationCenter.default.post(name: .setConfiguration, object: nil, userInfo: [ + override func performDefaultImplementation() -> Any? { + + let args = self.directParameter as? [String: Any] ?? [:] + + // Here you can extract the parameters from the args dictionary and configure your settings + let fps = args["fps"] as? Int + let outputs = OutputFormatSetting(args["outputs"] as? String ?? "") + let backend = URL(string: args["backend"] as? String ?? "") + let backendOutput = OutputFormatSetting(args["backend_output"] as? String ?? "") + let keepLocalFiles = args["keep_local_files"] as? Bool + + let config = ConfigureAction( + action: "configure", + fps: fps, + outputs: outputs, + backend: backend, + backendOutput: backendOutput, + keepLocalFiles: keepLocalFiles + ) + + NotificationCenter.default.post( + name: .setConfiguration, object: nil, + userInfo: [ "config": config ]) - NotificationCenter.default.post(name: .reloadConfiguration, object: nil, userInfo: nil) + NotificationCenter.default.post(name: .reloadConfiguration, object: nil, userInfo: nil) - // Return a result if needed - return nil - } + // Return a result if needed + return nil + } }