Expand description
OneDrop GUI - Graphical user interface for MilkDrop visualizations
Modules§
- keymap 🔒
- Keyboard → action mapping for the OneDrop GUI.
- options_
ui 🔒 - egui-based Options overlay rendered on top of the MilkDrop visuals.
- settings 🔒
- Persistent user settings for the OneDrop GUI.
Structs§
- App 🔒
- Args 🔒
- Command-line arguments for
onedrop-gui. - Blit 🔒
- Fullscreen-triangle blit that samples the engine’s final display texture
and writes to the swapchain. Sampling (rather than
copy_texture_to_texture) sidesteps two failure modes: it doesn’t needCOPY_DSTon the swapchain (not guaranteed on all platforms), and sRGB conversion happens automatically when source and destination formats disagree.
Functions§
- apply_
options_ 🔒actions - Apply one frame’s worth of Options-panel changes to the live
engine. Each field of
OptionsActionsisSomeonly when the user just moved that widget, so the function is a series of cheap no-ops on quiet frames. - beat_
mode_ 🔒from_ name - Parse a beat-detection mode name (matches the Options-panel
dropdown and the engine’s
BeatDetectionMode::name()). Unknown values map toOff, which is also the engine’s boot default. - discover_
presets 🔒 - Discover preset files. Honours
--presetfirst, then--preset-dir(one or more), then the default search path. Returns the list of.milkfiles found, in lexicographic order so the boot sequence is reproducible. - main 🔒
- relaunch_
self 🔒 - Spawn a fresh copy of the current binary with the same CLI args
and exit. Used by the Options panel’s “Apply & restart” button so
settings that can’t be applied live (MSAA, texture format) take
effect on the next boot. We rely on the caller having just called
Settings::save()so the new process reads the user’s edits.