foobar2000

Releases of MilkDrop 2 Visualisation

0.2.0 current version, released on: 2024-11-16

  • Fix reinitialization crashes due to improper stack-allocated state/texture memory management
  • Make minor quality updates
  • Make minor comment updates

0.1.8-beta released on: 2024-09-22

  • Plug codehandle leaks on window resize
  • Fix all heap-use-after-free and stack-use-after-scope errors from AddressSanitizer
  • Fix PFC assertion firing due to accessing invalid list position

0.1.0-beta released on: 2024-09-14

  • 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 preset directory 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 previous release

0.0.299-alpha released on: 2024-09-08

  • Major Feature: 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\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)
  • 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

0.0.260-alpha released on: 2024-08-18

  • MAJOR CHANGE: Implement thread pool timer instead of the window message timer for rendering -- for higher frame rates and consistent frame-to-frame times
  • Fix crashes due to non-ASCII characters in foobar2000 installation path
  • Fix texture size combo box reset
  • Add option to skip composite shader blending
  • Create header file for and refactor UI element [developer]
  • Rename some variables [developer]
  • Update build and release script [developer]

0.0.250-alpha released on: 2024-08-16

  • Implement option to customize the lower left title display (F2) format
  • Fix unwanted white 1-pixel-thick border around the screen
  • Fix crash when entering fullscreen from an embedded window layout
  • Enable menu text, in particular the preset deletion prompt from the preset load list
  • Remove stale text on UI mode change
  • Synchronize currently loaded preset between the load list, the top right preset display (F4) and the right click context menu
  • Fix player staying in the foreground on visualization fullscreen when "Always on Top" is enabled
  • Update the preferences dialog control positions to accommodate more screen scale factors
  • Fix UI action confirmation check key handling
  • Fix preset load list directory navigation and crashes when moving to overflow pages
  • Fix resetting and/or non-saving presets directory path from advanced preferences
  • Update foobar2000 SDK to version 2024-08-07 [developer]
  • Refactor keyboard controls into a separate file [developer]
  • Add option to skip downconverting audio data into 8 bits (non-functional) [developer]
  • Fix duplicate resource ID [developer]
  • Update DirectXTK packages to 2024.6.5.1 [developer]
  • Update C++ standard to C++20 [developer]
  • Change component directory path to a wide string [developer]
  • Move the `char*` to `wchar_t*` converter to C++ [developer]
  • Add build run option to release script [developer]
  • Run ClangFormat to fix minor formatting issues [developer]
  • Grab latest version of MSVC in GitHub Actions dynamically [developer]
  • Remove unused code for foobar2000 component in text manager [developer]
  • Add flags to advanced configuration options [developer]
  • Update README, CHANGELOG and licensing information [developer]

0.0.230-alpha released on: 2024-02-20

  • Move presets to "profile" directory (without vector allocation errors)
  • Fix PgUp/PgDn behavior
  • Add menu keyboard controls
  • Add most of the menu drawing routines and infrastructure
  • Fix preset folder navigation and saving
  • Bump preferences version -> preferences will be reset
  • Update application version to 0.0.230
  • Update definitions [developer]
  • Begin cofiguration settings and preference page refactor [developer]
  • Try projectM's Expression Evaluation Library instead of Nullsoft/Cockos's [developer]
  • Add `m_szComponentDirPath` to library [developer]
  • Remove `m_szConfigIniFileA` variable [developer]
  • Add `ErrorOutput()` function [developer]
  • Update `GetFileAttributes()` calls [developer]
  • Replace custom string compare function [developer]

0.0.229-alpha released on: 2024-02-14

  • Enable text rendering via Direct2D and DirectWrite.
  • Enable full keyboard control.
  • Enable synchronized playlist.
  • Enable various status displays and fix error message crashes.
  • Keep single component configuration for all window instances.
  • Fix advanced setting override.
  • Target DirectX 11.1 (Direct3D 11.1, DXGI 1.6, Direct2D 1.1, DirectWrite 1.1). [developer]
  • Release resources on final plugin window "destroy". [developer]
  • Update foobar2000 SDK patch and enable caching. [developer]
  • Add component packaging script and fully enable build pipeline. [developer]
  • Enable and package ARM64 and ARM64EC builds. [developer]

0.0.227-alpha released on: 2024-02-05

  • Fix initialization crash due to corrupt configuration.

0.0.226-alpha released on: 2024-02-04

  • Fix fullscreen mode crash.
  • Update preferences, might need deleting the "config.sqlite" file if crashes on launch.

0.0.225-alpha released on: 2024-02-02

  • First public alpha release.

Unstable functionality:
  • Fullscreen mode can crash foobar2000.
  • Configurability is incomplete. Some changes may have no effect.
  • Several presets have NS-EEL compiler errors. Turn off "Suppress all errors and warnings" in Preferences to see messages in the Console.

In order to complete the port from Winamp and to DirectX 11 large amounts of MilkDrop 2 functionality has been removed, lost, or deprecated:
  • Text, image and texture rendering.
  • Customization through INI file.
  • Older presets break.
  • Interactive preset selection and shader editing (Note: only the UI does not show but some of the functionality has not been fully removed, so be careful).
  • Desktop mode.
  • Fake fullscreen mode and dual header functionality.
  • VJ mode.
  • Custom messages.