X-Git-Url: https://git.r.bdr.sh/rbdr/captura/blobdiff_plain/5802c153cae64142d84e3cd5f762939501ee7e53..47eb1128eb930279d0fcf2e836d78372ac7ef5c3:/Captura/Scripting/RecordCommand.swift diff --git a/Captura/Scripting/RecordCommand.swift b/Captura/Scripting/RecordCommand.swift index 43cdd32..da2d28c 100644 --- a/Captura/Scripting/RecordCommand.swift +++ b/Captura/Scripting/RecordCommand.swift @@ -18,56 +18,58 @@ import Foundation @objc(RecordCommand) class RecordCommand: 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 x = args["x"] as? Int - let y = args["y"] as? Int - let width = args["width"] as? Int - let height = args["height"] as? Int - let preventResize = args["prevent_resize"] as? Bool - let preventMove = args["prevent_move"] as? Bool - 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 autoStart = args["auto_start"] as? Bool - let maxLength = args["max_length"] as? Int - - var skipBackend = false - if let backendString = args["backend"] as? String { - if backendString == "" { - skipBackend = true - } + 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 x = args["x"] as? Int + let y = args["y"] as? Int + let width = args["width"] as? Int + let height = args["height"] as? Int + let preventResize = args["prevent_resize"] as? Bool + let preventMove = args["prevent_move"] as? Bool + 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 autoStart = args["auto_start"] as? Bool + let maxLength = args["max_length"] as? Int + + var skipBackend = false + if let backendString = args["backend"] as? String { + if backendString == "" { + skipBackend = true } - - let config = RecordAction( - action: "record", - x: x, - y: y, - width: width, - height: height, - preventResize: preventResize, - preventMove: preventMove, - fps: fps, - outputs: outputs, - backend: backend, - backendOutput: backendOutput, - keepLocalFiles: keepLocalFiles, - autoStart: autoStart, - skipBackend: skipBackend, - maxLength: maxLength - ) - - NotificationCenter.default.post(name: .setCaptureSessionConfiguration, object: nil, userInfo: [ + } + + let config = RecordAction( + action: "record", + x: x, + y: y, + width: width, + height: height, + preventResize: preventResize, + preventMove: preventMove, + fps: fps, + outputs: outputs, + backend: backend, + backendOutput: backendOutput, + keepLocalFiles: keepLocalFiles, + autoStart: autoStart, + skipBackend: skipBackend, + maxLength: maxLength + ) + + NotificationCenter.default.post( + name: .setCaptureSessionConfiguration, object: nil, + userInfo: [ "config": config ]) - NotificationCenter.default.post(name: .startAreaSelection, object: nil, userInfo: nil) + NotificationCenter.default.post(name: .startAreaSelection, object: nil, userInfo: nil) - // Return a result if needed - return nil - } + // Return a result if needed + return nil + } }