pub struct Settings {Show 51 fields
pub ffmpeg_dir: String,
pub ytdlp_dir: String,
pub download_dir: String,
pub encoder: String,
pub crf: u32,
pub preset: String,
pub confirm_overwrite: bool,
pub lossless_save: bool,
pub context_menu: bool,
pub theme: String,
pub decoder: String,
pub preview_max_width: u32,
pub snap: bool,
pub show_library: bool,
pub show_inspector: bool,
pub hotkeys: BTreeMap<String, String>,
pub recent_assets: Vec<RecentAsset>,
pub recent_projects: Vec<String>,
pub layout: String,
pub layout_profiles: Vec<LayoutProfile>,
pub curve_presets: Vec<CurvePreset>,
pub motion_presets: Vec<MotionPreset>,
pub effect_presets: Vec<EffectPreset>,
pub templates: Vec<Template>,
pub user_fonts: Vec<String>,
pub export_scaler: String,
pub export_resolution: String,
pub mcp_enabled: bool,
pub mcp_port: u16,
pub gpu: bool,
pub preview_quality: u32,
pub movie_mode: bool,
pub use_proxies: bool,
pub proxy_height: u32,
pub icon_overrides: BTreeMap<String, String>,
pub capture_fps: u32,
pub capture_bitrate_kbps: u32,
pub capture_mic: String,
pub capture_desktop_audio: bool,
pub capture_cursor: bool,
pub capture_on_blur: bool,
pub capture_dir: String,
pub voice_device: String,
pub voice_channels: u32,
pub frame_resolution: String,
pub frame_format: String,
pub frame_quality: u32,
pub effect_thumb_image: String,
pub palette: PaletteOverride,
pub whisper_dir: String,
pub transcribe_model: String,
}Fields§
§ffmpeg_dir: StringDirectory containing ffmpeg.exe / ffprobe.exe. Empty = app dir, then PATH.
ytdlp_dir: StringDirectory containing yt-dlp.exe (the optional URL import). Empty = app dir, then PATH.
download_dir: StringWhere URL downloads are written. Empty = the user’s Videos folder.
encoder: String“auto” (libx264 / libvpx-vp9 by extension) or an ffmpeg encoder name (“libx264”, “h264_nvenc”, “h264_qsv”, “h264_amf”, “libx265”, “hevc_nvenc”, …).
crf: u32Quality (CRF / CQ), lower = better. 18 is visually lossless for x264.
preset: Stringx264/x265 preset (“ultrafast”..“veryslow”); NVENC/QSV/AMF map to their own presets.
confirm_overwrite: bool§lossless_save: boolSave (Ctrl+S) over the opened video uses the instant -c copy cut when the project is a plain cut
(cuts snap to keyframes) instead of re-encoding.
Register “Edit with Simple Editor” in the Explorer context menu for videos.
theme: String“system” | “dark” | “light”
decoder: String“auto” | “mf” | “ffmpeg” (auto = Media Foundation, ffmpeg fallback)
preview_max_width: u32Preview is rendered at most this wide (pixels) to keep CPU low.
snap: bool§show_library: bool§show_inspector: bool§hotkeys: BTreeMap<String, String>Action id -> shortcut text (“Ctrl+Shift+B”); only non-default bindings are stored. “” = unbound.
recent_assets: Vec<RecentAsset>§recent_projects: Vec<String>§layout: StringCurrent editor layout as JSON (empty = default layout).
layout_profiles: Vec<LayoutProfile>Saved layout profiles (also exportable to / importable from .sedit-layout files).
curve_presets: Vec<CurvePreset>Keyframe / motion presets, effect-chain / node-graph presets and clip templates (global, reusable across projects — the Presets pane lists all of them).
motion_presets: Vec<MotionPreset>§effect_presets: Vec<EffectPreset>§templates: Vec<Template>§user_fonts: Vec<String>Extra font files (.ttf/.otf) imported by the user (loaded by the text rasterizer + font lists).
export_scaler: StringExport: output scaling when the output size differs from the project (ffmpeg scale flags: “neighbor” | “bilinear” | “bicubic” | “lanczos” | “area” | “spline”).
export_resolution: StringExport: “project” or “WxH”.
mcp_enabled: boolMCP server (AI co-editing) on 127.0.0.1:mcp_port/mcp.
mcp_port: u16§gpu: boolRender the preview on the GPU (OpenGL) when a context is available.
preview_quality: u32Preview render scale in percent (100 = full canvas; lower is faster).
movie_mode: bool“Movie mode”: play back pre-rendered full-quality frames.
use_proxies: boolPreview plays background-built all-intra proxies instead of the originals.
proxy_height: u32Proxy height in pixels (width keeps aspect).
icon_overrides: BTreeMap<String, String>User icon picks: “action.
capture_fps: u32Screen capture defaults.
capture_bitrate_kbps: u32§capture_mic: String§capture_desktop_audio: bool§capture_cursor: bool§capture_on_blur: boolStart/stop screen recording automatically when the editor loses/gains focus.
capture_dir: String§voice_device: StringVoiceover defaults.
voice_channels: u32§frame_resolution: StringExport-frame defaults (“project” | “2x” | “4x” | “WxH”) and image format.
frame_format: String§frame_quality: u32§effect_thumb_image: StringStock image the effects panel renders its thumbnails from (empty = the embedded default).
palette: PaletteOverrideSettings > Appearance: override for the custom-painted (timeline/preview/waveform) palette. Default (“system” mode, every colour unset) reproduces today’s Windows-derived palette exactly.
whisper_dir: StringDirectory containing a whisper.cpp binary (whisper-cli.exe). Empty = the cache’s whisper
folder, then the app dir, then PATH. Speech-to-text is off until a model is downloaded.
transcribe_model: StringModel the Subtitles pane offers first: a engine::transcribe::MODELS name or file name.
Implementations§
Source§impl Settings
impl Settings
pub fn path() -> PathBuf
pub fn load() -> Self
Sourcepub fn save(&self)
pub fn save(&self)
Writes a temp file then renames, so a failed write can’t destroy the previous settings.
pub fn now() -> u64
Sourcepub fn touch_recent(&mut self, path: &str)
pub fn touch_recent(&mut self, path: &str)
Record a media file as recently used (most recent first; pinned entries first; capped). Keeps the entry’s tags/label/pin if it already existed.
pub fn remove_recent(&mut self, path: &str)
Sourcepub fn sort_recent(&mut self)
pub fn sort_recent(&mut self)
Pinned first, then most recently used.
pub fn touch_recent_project(&mut self, path: &str)
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Settings
impl<'de> Deserialize<'de> for Settings
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for Settings
impl RefUnwindSafe for Settings
impl Send for Settings
impl Sync for Settings
impl Unpin for Settings
impl UnwindSafe for Settings
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more