Skip to content

Releases: SonoSooS/_MPGL

2025/03/23, huge performance improvement, and temporary bug workaround

23 Mar 02:50
Compare
Choose a tag to compare

Changes since previous release:

  • Disabled overlapped voce mode.
    While overlapped voices are technically more correct, almost nothing renders "correctly" with it enabled, so I have temporarily disabled it until I investigate.
    Disabling this also gave a mild performance boost due to acting as a really broken overlap remover.
  • Added the new experimental engine code.
    This change should always yield better performance, or equal to the speed of the previous version of the player logic, even at worst case scenairo.
    The cost of the new engine code is a slight increase in code complexity, and now tracks require 3x memory instead of 1x memory (+4MB extra memory use for a 65536-track file).
  • Added/fixed graceful fadeoff mode.
    GRACE mode means that the renderer only shuts down when the keyboard stops updating at the end of the playback, and all keys have faded to default. This is also good for video capture purposes.
    This feature was broken ever since it was implemented. Not the case anymore.

2025/03/20, first tagged release

20 Mar 11:45
Compare
Choose a tag to compare

First release since the closure of the website.

Things fixed since the website build:

  • Remove bad performance that "comes out of nowhere".
    I have made changes to MPGL that let it be captured by OBS without color keying, but accidentally left it enabled for a few years, so the GPU was doing more work that did not even show a single pixel difference on-screen during normal use.
  • Added zero-track MIDI support.
    If zero tracks are encountered, the file will be scanned for tracks instead.
    This allows for effectively unlimited track count as well, but you shouldn't do that.
  • Playback is no longer slow on Windows 11. This has been an issue since the original mmidi.

Changes:

  • Light dense notes (configurable at compile-time).
    It has better performance, and better visibility.
  • Changed the default text layout.
    Thanks to all the people who have messaged me over the years, I have combined their ideas, and now the text is more readable and less obtrusive.
  • Added support for the abandoned track color event that has been present in MMVis.
    This now makes some MIDIs be visible in all their glory outside of the janky broken mess that MMVis is.
  • Use new timing method for better accuracy.
    This may result in antivirus false-positives, but they are incorrect.
    The benefit is worth it suffering fake antivirus popups.
    Also has slightly better performance as well.

New work-in-progress rework:

  • Prepared MPGL for custom shader support.
    The feature is not there yet, but most of the code modifications have been done. Now most features are gated at runtime instead of compile-time, so shaders can use any select renderer features, at basically zero runtime cost if a specific feature is not used at all.