X-Git-Url: https://git.r.bdr.sh/rbdr/captura/blobdiff_plain/ba17de891507da74fb07423803fd636a4457354c..505c1e620497828ffb914e05dd76d9ab124f144a:/Captura/Domain/CaptureSessionConfiguration.swift diff --git a/Captura/Domain/CaptureSessionConfiguration.swift b/Captura/Domain/CaptureSessionConfiguration.swift index 69c1ebf..673db5f 100644 --- a/Captura/Domain/CaptureSessionConfiguration.swift +++ b/Captura/Domain/CaptureSessionConfiguration.swift @@ -6,7 +6,15 @@ struct CaptureSessionConfiguration { let backendFormat: OutputFormatSetting let backend: URL? let shouldKeepLocalFiles: Bool - + let x: Int? + let y: Int? + let width: Int? + let height: Int? + let preventMove: Bool + let preventResize: Bool + let autoStart: Bool + let maxLength: Int + init( frameRate: Int? = nil, outputFormats: OutputFormatSetting? = nil, @@ -19,24 +27,52 @@ struct CaptureSessionConfiguration { self.backendFormat = backendFormat ?? CapturaSettings.backendFormat self.backend = backend ?? CapturaSettings.backend self.shouldKeepLocalFiles = shouldKeepLocalFiles ?? CapturaSettings.shouldKeepLocalFiles + x = nil + y = nil + width = nil + height = nil + preventMove = false + preventResize = false + autoStart = false + maxLength = 300 + } + + init(from action: RecordAction) { + self.frameRate = action.fps ?? CapturaSettings.frameRate + self.outputFormats = action.outputs ?? CapturaSettings.outputFormats + self.backendFormat = action.backendOutput ?? CapturaSettings.backendFormat + if action.skipBackend { + self.backend = nil + } else { + self.backend = action.backend ?? CapturaSettings.backend + } + self.shouldKeepLocalFiles = action.keepLocalFiles ?? CapturaSettings.shouldKeepLocalFiles + self.x = action.x + self.y = action.y + self.width = action.width + self.height = action.height + preventMove = action.preventMove ?? false + preventResize = action.preventResize ?? false + autoStart = action.autoStart ?? false + maxLength = action.maxLength ?? 300 } - + var shouldSaveMp4: Bool { outputFormats.shouldSaveMp4() || (shouldUseBackend && shouldUploadMp4) } - + var shouldSaveGif: Bool { outputFormats.shouldSaveGif() || (shouldUseBackend && shouldUploadGif) } - + var shouldUploadGif: Bool { backendFormat.shouldSaveGif() } - + var shouldUploadMp4: Bool { backendFormat.shouldSaveMp4() } - + var shouldUseBackend: Bool { backend != nil }