Overview | News | Windows | macOS | Android | iOS | Audio Formats | Components | Encoder Pack | Screenshots | Help & Support | Developer | Old Versions | Other Projects
MilkDrop 2 Visualisation
By: oops
Version: 0.7.3-rc2, released on 2026-03-30 (archived)
Change log:
- Add screenshot capture support with keyboard and mouse shortcuts [feature]
- Add system time and date shader variables [feature]
- Add per-preset FFT/wave audio texture samplers for custom shaders [feature]
- Parse MilkDrop 3 presets and reject unsupported preset formats [feature]
- Extend the sprite system by adding layers, rotation modes, blend modes 5 to 10 and color keying [feature]
- Save preset navigation order on close [feature]
- Add embedded sprite load control option [change]
- Copy bundled "*.fx" shader files to profile directory on first install and clean up source, but fall back to component directory if absent [change]
- Update menu navigation (Home/End/Space), track enabled and visible items better [change]
- Pass `rad` and `ang` from input to output in default vertex shader [change]
- Revert composite shader's `uv_orig` to `_uv.xy` [change]
- Load and save preset-embedded sprite blocks [change]
- Toggle preset order playlist independently [change]
- Fix several DX11 rendering bugs [bug]
- Fix composite shader zeroing `uv_orig` [bug]
- Fix constant buffer corruption of unchanged variables [bug]
- Fix preset selection invalidation after directory/list changes [bug]
- Fix text element fade and layout invalidation edge cases [bug]
- Guard invalid EEL handles in compile, free and execute paths [bug]
- Guard `m_errors` list reads and writes with mutex lock [bug]
- Fix intermittent stuck UI text caused by waitable timers race [bug]
- Fix preset and interactivity locking to avoid concurrency races [bug]
- Fix text-related crashes [bug]
- Fix typos in unused blur textures [bug]
- Fix incorrect WaitString buffer for closing square brace [bug]
- Fix menu's box margin dimensions [bug]
- Fix search thread argument lifetime inconsistency [bug]
- Fix missing reset of preset start and next times when resetting the time [bug]
- Fix crash while playlist loads (indices are stale or invalid) and ensure unneeded text is removed from screen [bug]
- Fix column-major `float4x3` matrix constant table layout [bug]
- Improve EEL cleanup and fix crashes [bug]
- Fix buffer overrun on WaitString commit [bug]
- Fix text manager concurrency crash on menu close [bug]
- Fix embedded sprite runtime behavior [bug]
- Fix preset lock priority [bug]
- Correct motion-vector seed behavior and frame ordering [bug]
- Reset feedback history on preset load completion to prevent carry-over artifacts [bug]
- Use current warped frame for blur and isolate custom-shape shader state [bug]
- Harden shader texture binding [improvement]
- Expand debug monitor to three views [improvement]
- Change instance tracker implementation [improvement]
- Use `PowerSetRequest()` instead of `SetThreadExecutionState()` for power management (during fullscreen enter/exit) [improvement]
- Replace large stack WaitString scratch buffers with vectors [improvement]
- Use `MDVERTEX` stride for all vertex buffers [developer]
- Expose blend operation override and add device accessors in D3D11 shim [developer]
- Add explicit VS source selection to `ApplyShaderParams()` [developer]
- Add NULL guards to `CacheParams()` [developer]
- Zero-initialize `CShaderParams` on construction [developer]
- Add null-guard bindings and names in `CacheParams()` [developer]
- Defer brush release out of `UnregisterElement()` and into `CleanUpMilkDropDX11()` [developer]
- Update keyboard command comments [developer]
- Update README [developer]
Supported systems: Windows 32-bit, Windows 64-bit, Windows ARM.
Works with foobar2000 v2.0 and newer
Links
View version history
View latest version and component description
Documentation
Discussion
Source code