Releases: jecassis/foo_vis_milk2
Releases · jecassis/foo_vis_milk2
v0.1.9-beta
Bug Fixes
- Fix reinitialization crashes due to improper stack-allocated state/texture memory management
Documentation
- Make minor comment updates
Full Changelog: v0.1.8-beta...v0.1.9-beta
v0.1.8-beta
Bug Fixes
- Plug codehandle leaks on window resize
- Fix all
heap-use-after-free
andstack-use-after-scope
errors from AddressSanitizer - Fix PFC assertion firing due to accessing invalid list position
Modernization
- Add "Sanitize" build configuration for AddressSanitizer [developer]
- Add AddressSanitizer patches for DirectXTK [developer]
- Add C runtime (CRT) library heap debugging support [developer]
Documentation
- Make minor documentation updates
Full Changelog: v0.1.0-beta...v0.1.8-beta
v0.1.0-beta
Bug Fixes
- Fix device lost scenario crash while using a flip model swap chain associated with a window handle and Direct2D
- Fix
DEVICE_DRAW_INDEX_BUFFER_TOO_SMALL
and rendering of title text - Fix lingering Direct2D brushes on exit when song title, length and/or position are "displayed" when there is nothing to display
- Prevent crash on right click when no presets are available
- Fix crash due to an empty song name not differentiated from a message timeout
- Fix multiple instances of incorrect code page conversion of
szPresetDir
before saving - Check active playlist size before accessing to avoid exception
- Fix hang on error message display blocked by another message
- Correct minor oversights in component release
Features
- Update component icon
- Keep function key settings between sessions
Preferences
- Reset to defaults on "Reset page" plus "OK" or "Apply", not revert current changes
- Limit loading and saving preferences to opening and closing the visualization (i.e., not fullscreen/windowed toggle)
Optimizations
- Only write to settings on initial window creation [developer]
Readability
- Add error retrieve and display function [developer]
- Fix some comments [developer]
- Use
D3D11_BLEND
enumeration fields instead of integers [developer] - Remove unused text manager methods [developer]
Modernization
- Move DLL build to level 4 warnings (
/W4
) [developer] - Update HLSL build recipes and inclusion [developer]
- Implement various Code Analysis recommended changes [developer]
- Review the fixed-function pipeline migration to shaders [developer]
Documentation
- Add original MilkDrop documentation
Conveniences
- Use
_WIN32_WINNT
as Windows 10 for DXGI debugging [developer]
Deployment
- Add DLL signing and timestamping to release script [developer]
- Call executables explicitly in Windows [developer]
- Turn off checks when creating partial packages [developer]
Test
- Add FFT unit test [developer]
- Rename DLL test file [developer]
Full Changelog: v0.0.299-alpha...v0.1.0-beta
v0.0.299-alpha
Major Features
- Improve audio waveform resolution from 8-bit samples to use binary32 (IEEE 754 single-precision) floating-point -- this is very noticeable in the reaction of MilkDrop to high frequencies
- Enable song tile and custom message sprites and textures (
T
for title,Y
for messages,K
for textures) - Add album art extraction into visualization's textures or sprites; note this requires an entry in
<foobar2000 profile folder>\milkdrop2\milk2_img.ini
forimg100
- Add back all preset menus, including editing of "waitstring"s and preset parameters
- Update all tooltip and help strings
- Implement thread pool timer instead of the window message timer for rendering -- for higher frame rates and consistent frame-to-frame times (from past release) -> source of many annoying bugs
Features
- Allow smaller window size than Mode 13h (320x200); lower limit is now 150x150
- Port dark translucent box into DirectX 11
- Add caption icons to visualization window and fonts dialog
- Update DirectXTK from 2024.6.5.1 to 2024.9.5.1 [developer]
Preferences
- Add album art selection edit box for using foobar2000 script
- Add font selection dialog with proper style, centering and sizing
- Update preferences page with buttons to open
milk2_img.ini
andmilk2_msg.ini
as well as the font dialog - Add tooltips for all options
- Remove gamma correction for 16-bit color options since for Direct3D 11 the visualization runs on 32-bit color exclusively (
DXGI_FORMAT_B8G8R8A8_UNORM
) - Improve hard cut loudness slider range resolution
- Shrink image cache group box
- Enable title group box options
- Disable pixel shader model version selection, uses "Auto" implying Shader Model 4.0
- Disable canvas size selection, uses "Exact"
Context Menu
- Add options to launch preferences page, launch song title and show album art
Bug Fixes
- Fix song title animation launcher
- Fix several hangs and use-after-free issues due to thread pool threads racing with message loop/interactivity thread
- Fix initialization crash due to missing
\
in base path - Fix pixel shader model version resolution for Direct3D 11's feature levels [developer]
- Fix menu text second line bug due to negative
rect
s [developer] - Fix ARM builds missing HLSL options
Breaking Changes
- Move all options to "modern" configuration variables, update settings version to 3 [developer]
Optimizations
- Mirror
LOGFONTW
struct into foobar2000 configuration blob [developer] - Exclude unused dialogs, controls and strings from the resources [developer]
- Update device resources [developer]
- Update text manager class and its cleanup methods [developer]
- Change frame counter type definition to use
uint32_t
[developer] - Change font dialog style (
DS*
/WS*
) [developer] - Tighten playlist box calculation [developer]
Readability
- Update help file spacing
- Use
length()
andsize()
consistently when dealing with strings or arrays of characters [developer] - Rename "original" texture coordinates in vertex definitions [developer]
- Add timer preprocessor selection and checks with preprocessor expressions [developer]
- Move service factory instantiations [developer]
Modernization
- All libraries built with
/std:c++20
[developer] - Add Winamp shaders to project [developer]
- Make minor code cleanup updates [developer]
- Add fade in and fade out methods to text manager [developer]
- Add texture loading from memory methods to texture manager [developer]
- Increase Direct3D input assembler limits [developer]
- Move help text file into the
RCData
resource section from a custom"TEXT"
section [developer] - Make code and comments updates to rendering code from detailed review [developer]
Documentation
- Convert to Markdown and extensively update
milkdrop.html
- Add Doxygen and structure FFT comments for it [developer]
- Add
TESTING.md
[developer] - Add
BUILDING.md
[developer] - Update
README.md
andLICENSING.md
[developer]
Conveniences
- Update
.vsconfig
for Visual Studio 2022 component updates [developer] - Update
.gitignore
[developer]
Compatibility
- Revert
_WIN32_WINNT
to Windows 7 [developer] - Update path resolution functions [developer]
- Add DPI-aware and settings manifests [developer]
Deployment
- Fix PDB saving script issue [developer]
- Fix release script developer shell check [developer]
- Add "Clean" target to release script [developer]
Test
- Add DLL testing infrastructure and basic unit test [developer]
- Add test to query the DUT data [developer]
- Update test by minimizing duplication [developer]
- Enable runtime coverage collection [developer]
Experimental
- Complete functional integration of 3-D text class [unused, developer]
Full Changelog: v0.0.260-alpha...v0.0.299-alpha