@@ -194,6 +194,9 @@ async resetCameraPermissions() : Promise<null> {
194194async resetMicrophonePermissions ( ) : Promise < null > {
195195 return await TAURI_INVOKE ( "reset_microphone_permissions" ) ;
196196} ,
197+ async clearPresets ( ) : Promise < null > {
198+ return await TAURI_INVOKE ( "clear_presets" ) ;
199+ } ,
197200async isCameraWindowOpen ( ) : Promise < boolean > {
198201 return await TAURI_INVOKE ( "is_camera_window_open" ) ;
199202} ,
@@ -380,15 +383,15 @@ export type AnnotationType = "arrow" | "circle" | "rectangle" | "text" | "mask"
380383export type AppTheme = "system" | "light" | "dark"
381384export type AspectRatio = "wide" | "vertical" | "square" | "classic" | "tall"
382385export type Audio = { duration : number ; sample_rate : number ; channels : number ; start_time : number }
383- export type AudioConfiguration = { mute : boolean ; improve : boolean ; micVolumeDb ? : number ; micStereoMode ? : StereoMode ; systemVolumeDb ? : number }
386+ export type AudioConfiguration = { mute : boolean ; improve : boolean ; micVolumeDb : number ; micStereoMode : StereoMode ; systemVolumeDb : number }
384387export type AudioInputLevelChange = number
385388export type AudioMeta = { path : string ; start_time ?: number | null ; device_id ?: string | null }
386389export type AuthSecret = { api_key : string } | { token : string ; expires : number }
387390export type AuthStore = { secret : AuthSecret ; user_id : string | null ; plan : Plan | null ; intercom_hash : string | null ; organizations ?: Organization [ ] }
388- export type BackgroundConfiguration = { source : BackgroundSource ; blur : number ; padding : number ; rounding : number ; roundingType ? : CornerStyle ; inset : number ; crop : Crop | null ; shadow ? : number ; advancedShadow ? : ShadowConfiguration | null ; border ? : BorderConfiguration | null }
391+ export type BackgroundConfiguration = { source : BackgroundSource ; blur : number ; padding : number ; rounding : number ; roundingType : CornerStyle ; inset : number ; crop : Crop | null ; shadow : number ; advancedShadow : ShadowConfiguration | null ; border : BorderConfiguration | null }
389392export type BackgroundSource = { type : "wallpaper" ; path : string | null } | { type : "image" ; path : string | null } | { type : "color" ; value : [ number , number , number ] ; alpha ?: number } | { type : "gradient" ; from : [ number , number , number ] ; to : [ number , number , number ] ; angle ?: number }
390393export type BorderConfiguration = { enabled : boolean ; width : number ; color : [ number , number , number ] ; opacity : number }
391- export type Camera = { hide : boolean ; mirror : boolean ; position : CameraPosition ; size : number ; zoomSize : number | null ; rounding ? : number ; shadow ? : number ; advancedShadow ? : ShadowConfiguration | null ; shape ? : CameraShape ; roundingType ? : CornerStyle }
394+ export type Camera = { hide : boolean ; mirror : boolean ; position : CameraPosition ; size : number ; zoomSize : number | null ; rounding : number ; shadow : number ; advancedShadow : ShadowConfiguration | null ; shape : CameraShape ; roundingType : CornerStyle }
392395export type CameraInfo = { device_id : string ; model_id : ModelIDType | null ; display_name : string }
393396export type CameraPosition = { x : CameraXPosition ; y : CameraYPosition }
394397export type CameraPreviewShape = "round" | "square" | "full"
@@ -398,7 +401,7 @@ export type CameraXPosition = "left" | "center" | "right"
398401export type CameraYPosition = "top" | "bottom"
399402export type CaptionData = { segments : CaptionSegment [ ] ; settings : CaptionSettings | null }
400403export type CaptionSegment = { id : string ; start : number ; end : number ; text : string ; words ?: CaptionWord [ ] }
401- export type CaptionSettings = { enabled : boolean ; font : string ; size : number ; color : string ; backgroundColor : string ; backgroundOpacity : number ; position ? : string ; italic : boolean ; fontWeight ? : number ; outline : boolean ; outlineColor : string ; exportWithSubtitles : boolean ; highlightColor ? : string ; fadeDuration ? : number ; lingerDuration ? : number ; wordTransitionDuration ? : number ; activeWordHighlight ? : boolean }
404+ export type CaptionSettings = { enabled : boolean ; font : string ; size : number ; color : string ; backgroundColor : string ; backgroundOpacity : number ; position : string ; italic : boolean ; fontWeight : number ; outline : boolean ; outlineColor : string ; exportWithSubtitles : boolean ; highlightColor : string ; fadeDuration : number ; lingerDuration : number ; wordTransitionDuration : number ; activeWordHighlight : boolean }
402405export type CaptionWord = { text : string ; start : number ; end : number }
403406export type CaptionsData = { segments : CaptionSegment [ ] ; settings : CaptionSettings }
404407export type CaptureDisplay = { id : DisplayId ; name : string ; refresh_rate : number }
@@ -414,7 +417,7 @@ export type CurrentRecording = { target: CurrentRecordingTarget; mode: Recording
414417export type CurrentRecordingChanged = null
415418export type CurrentRecordingTarget = { window : { id : WindowId ; bounds : LogicalBounds | null } } | { screen : { id : DisplayId } } | { area : { screen : DisplayId ; bounds : LogicalBounds } }
416419export type CursorAnimationStyle = "slow" | "mellow" | "custom"
417- export type CursorConfiguration = { hide ? : boolean ; hideWhenIdle ? : boolean ; hideWhenIdleDelay ? : number ; size : number ; type : CursorType ; animationStyle : CursorAnimationStyle ; tension : number ; mass : number ; friction : number ; raw ? : boolean ; motionBlur ? : number ; useSvg ? : boolean }
420+ export type CursorConfiguration = { hide : boolean ; hideWhenIdle : boolean ; hideWhenIdleDelay : number ; size : number ; type : CursorType ; animationStyle : CursorAnimationStyle ; tension : number ; mass : number ; friction : number ; raw : boolean ; motionBlur : number ; useSvg : boolean }
418421export type CursorMeta = { imagePath : string ; hotspot : XY < number > ; shape ?: string | null }
419422export type CursorType = "auto" | "pointer" | "circle"
420423export type Cursors = { [ key in string ] : string } | { [ key in string ] : CursorMeta }
@@ -483,7 +486,7 @@ export type PostDeletionBehaviour = "doNothing" | "reopenRecordingWindow"
483486export type PostStudioRecordingBehaviour = "openEditor" | "showOverlay"
484487export type Preset = { name : string ; config : ProjectConfiguration }
485488export type PresetsStore = { presets : Preset [ ] ; default : number | null }
486- export type ProjectConfiguration = { aspectRatio : AspectRatio | null ; background : BackgroundConfiguration ; camera : Camera ; audio : AudioConfiguration ; cursor : CursorConfiguration ; hotkeys : HotkeysConfiguration ; timeline ? : TimelineConfiguration | null ; captions ? : CaptionsData | null ; clips ? : ClipConfiguration [ ] ; annotations ? : Annotation [ ] }
489+ export type ProjectConfiguration = { aspectRatio : AspectRatio | null ; background : BackgroundConfiguration ; camera : Camera ; audio : AudioConfiguration ; cursor : CursorConfiguration ; hotkeys : HotkeysConfiguration ; timeline : TimelineConfiguration | null ; captions : CaptionsData | null ; clips : ClipConfiguration [ ] ; annotations : Annotation [ ] }
487490export type ProjectRecordingsMeta = { segments : SegmentRecordings [ ] }
488491export type RecordingAction = "Started" | "InvalidAuthentication" | "UpgradeRequired"
489492export type RecordingDeleted = { path : string }
0 commit comments