Skip to content

v0.0.299-alpha

Pre-release
Pre-release
Compare
Choose a tag to compare
@jecassis jecassis released this 09 Sep 03:24
· 40 commits to master since this release

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 for img100
  • 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 and milk2_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 rects [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() and size() 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 and LICENSING.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