Skip to content

Lactea 0.1.1

Choose a tag to compare

@github-actions github-actions released this 12 Oct 01:14
· 16 commits to main since this release
316bdcd

Lactea

First public release of Lactea (0.1.1: 0.1.0 crates were published but its Windows build failed, so this is the first release with binaries), a pure-Rust MilkDrop 2 / projectM-compatible music visualizer on wgpu (Vulkan, Metal, DX12, GL, WebGPU).

Matches the projectM reference on 99.8 % of the 4169 comparable presets of the projectM preset collection (method and details in docs/fidelity.md).

Highlights

  • Embeddable engine (lactea): renders into any wgpu texture the host provides. No windows, audio devices or filesystem access in the library; presets, textures and PCM come in as bytes.
  • projectM or MilkDrop 2 semantics (Compat::ProjectM, default, or Compat::MilkDrop2).
  • Soft preset transitions (projectM's six blend shaders), playlist, preset lock, beat-driven hard cuts, runtime mesh / fps / duration changes, idle preset.
  • Shaders: MilkDrop HLSL (ps_2 / ps_3 + include.fx) translated to WGSL; 1422 of 1423 corpus shaders.
  • Expressions: ns-eel2 / projectm-eval compatible VM, bitwise equal to projectm-eval and faster.
  • Standalone app (lactea): PipeWire "what you hear" capture (cpal elsewhere), audio file playback, preset browsing, fullscreen, soft cuts.
  • C API (lactea-capi): render to an RGBA8 buffer or into a host VkImage; cbindgen header lactea.h.
  • WebAssembly: the engine builds for wasm32-unknown-unknown and runs on WebGPU.

Crates

crate
lactea engine
lactea-render wgpu MilkDrop 2 frame pipeline
lactea-preset .milk parser
lactea-eel expression language
lactea-hlsl HLSL → WGSL
lactea-audio audio analysis
lactea-jpeg stb_image-exact JPEG decoder
lactea-abi shared contract
[dependencies]
lactea = "0.1"

Downloads

asset contents
lactea-v0.1.1-linux-x86_64.tar.gz lactea app (PipeWire + cpal), liblactea_capi.so/.a, lactea.h, desktop file, icon
lactea-v0.1.1-windows-x86_64.zip lactea.exe (cpal), lactea_capi.dll/.lib, lactea.h
lactea-v0.1.1-macos-arm64.tar.gz lactea app (cpal), liblactea_capi.dylib/.a, lactea.h
SHA256SUMS checksums

Windows and macOS builds are produced by CI but have not been tested on real machines yet; reports welcome.

Known limitations

  • Vulkan interop in the C API is not available on Apple platforms.
  • A handful of presets still differ from projectM by single pixels or float precision; see Open items.

Full changelog: CHANGELOG.md