OmniMIDI Changelog

What's new in OmniMIDI 14.8.5.0

Sep 14, 2023
  • Resetting the settings in OmniMIDI should now get rid of the weird linear attack/sustain behavior.
  • Small fixes.

New in OmniMIDI 14.8.4.0 (Aug 29, 2023)

  • Fixed issue that broke compatibility under Wine.

New in OmniMIDI 14.8.3.0 (Jul 18, 2023)

  • Exposed callback features, to make it work with the new universal WinMMWRP, for OM14 and OM15.

New in OmniMIDI 14.8.2.0 (Jun 26, 2023)

  • Ported some changes from OmniMIDI v15 codebase.
  • Minor bug fixes.

New in OmniMIDI 14.8.1.0 (Jun 22, 2023)

  • Fixed OmniMIDI fails to apply the BM patch to an application located in a exFAT partition #255
  • Fixed missing balloon tool tips in the SoundFont editor.
  • Added Huawei phone tools to the blacklist.

New in OmniMIDI 14.8.0.0 (Jun 22, 2023)

  • Fixed driver registration.
  • Fixed multiple issues.

New in OmniMIDI 14.7.1.0 (Apr 22, 2023)

  • Fixed regression that caused extremely slow playback in normal playback mode, even with MIDI Feedback disabled.

New in OmniMIDI 14.7.0.0 (Apr 19, 2023)

  • Updated libraries.
  • Fixed issue that caused the MIDI Feedback feature to stop working after restarting the synthesizer's engine.

New in OmniMIDI 14.6.14.0 (Sep 11, 2022)

  • Test fix for Windows 10/11 PnP registration. (From 14.6.13.127)
  • Fixed feedback mode. (From 14.6.13.127)
  • Added SoundFont 3.x support. (From 14.6.13.97)
  • Minor performance bump and bug fixes. (From 14.6.13.81)
  • Added Microsoft Teams and Mozilla Thunderbird to the blacklist. (From 14.6.13.97)
  • Applied minor fixes to the driver registration system. (From 14.6.13.81)
  • Added some Virtual Reality related executables to the blacklist. This should allow VR users to update the driver while wearing their HMD, without having to restart the compositor (e.g. SteamVR or Oculus). (From 14.6.13.77)
  • Made some changes to the driver registration system. (From 14.6.13.77)
  • Updated BASSMIDI to version 2.4.13.41. (From 14.6.13.51)
  • Added new asynchronous MIDI events processing mode, which will decouple the MIDI processing from the audio buffer. This should increase the "fineness" of the audio, by removing the limit on the amount of notes that can be played on each buffer sample. This leverages the new asynchronous flags implemented by Un4seen Developments in the latest test version of BASSMIDI. (BASS_MIDI_ASYNC and BASS_MIDI_EVENTS_ASYNC) (From 14.6.13.51)
  • The Windows Multimedia Wrapper for Black MIDIs has been merged with the driver library. That means that whenever you're patching a program with the Black MIDI patch, the configurator is effectively copying the driver to the MIDI app's root folder. The upside of this approach is a huge boost in performance, since there are less hoops between the MIDI app and OmniMIDI, but the downside is that the user will have to repatch everytime a new OmniMIDI update is released. (From 14.6.13.51)
  • Minor bug fixes here and there. (From 14.6.13.51)

New in OmniMIDI 14.6.13.127 Pre-release (Jul 18, 2022)

  • Test fix for Windows 10/11 PnP registration.
  • Fixed feedback mode.

New in OmniMIDI 14.6.13.97 Pre-release (May 14, 2022)

  • Added SoundFont 3.x support.
  • Minor performance bump and bug fixes.

New in OmniMIDI 14.6.13.81 Pre-release (Apr 12, 2022)

  • Added Microsoft Teams and Mozilla Thunderbird to the blacklist.
  • Applied minor fixes to the driver registration system.

New in OmniMIDI 14.6.13.77 Pre-release (Apr 10, 2022)

  • Added some Virtual Reality related executables to the blacklist. This should allow VR users to update the driver while wearing their HMD, without having to restart the compositor (e.g. SteamVR or Oculus).
  • Made some changes to the driver registration system.

New in OmniMIDI 14.6.13.51 Pre-release (Apr 9, 2022)

  • Updated BASSMIDI to version 2.4.13.41.
  • Added new asynchronous MIDI events processing mode, which will decouple the MIDI processing from the audio buffer. This should increase the "fineness" of the audio, by removing the limit on the amount of notes that can be played on each buffer sample. This leverages the new asynchronous flags implemented by Un4seen Developments in the latest test version of BASSMIDI. (BASS_MIDI_ASYNC and BASS_MIDI_EVENTS_ASYNC)
  • The Windows Multimedia Wrapper for Black MIDIs has been merged with the driver library. That means that whenever you're patching a program with the Black MIDI patch, the configurator is effectively copying the driver to the MIDI app's root folder. The upside of this approach is a huge boost in performance, since there are less hoops between the MIDI app and OmniMIDI, but the downside is that the user will have to repatch everytime a new OmniMIDI update is released.
  • Minor bug fixes here and there.

New in OmniMIDI 14.6.13.0 (Dec 23, 2021)

  • Optimizations.

New in OmniMIDI 14.6.12.0 (Dec 3, 2021)

  • Fixed Update system.

New in OmniMIDI 14.6.11.0 (Nov 29, 2021)

  • Fixed error in the Windows Multimedia Wrapper DAW patch.
  • Increased stability.

New in OmniMIDI 14.6.10.0 (Oct 19, 2021)

  • Fixed UI on Chinese and Japanese versions of Windows.
  • Fixed crashes.
  • Optimized code.
  • Minor bug fixes.

New in OmniMIDI 14.6.9.0 (Aug 17, 2021)

  • Increased reliability of the driver. It shouldn't crash as much now.
  • Fixed some issues in the Plug and Play registration system.
  • Backported some features, fixes and performance improvements from the OM15 branch.
  • Minor bug fixes.

New in OmniMIDI 14.6.8.0 (Aug 16, 2021)

  • I forgot to add this to the previous changelogs, but the events buffer is now able to use more than one L1 cache! That means that it'll be able to use the L1 cache of each core on your CPU.
  • Backported timing enhancements from OM15. The audio should sound better now, and you guys should also be able to achieve lower latencies on all engines (Especially XAudio 2.9! It can do 24SPF now!!!).
  • Fixed issue that caused the MIDI feedback feature to not work properly when restarting the audio stream.

New in OmniMIDI 14.6.7.0 (Aug 14, 2021)

  • Updated PnP registration system. It should work more reliably now.

New in OmniMIDI 14.6.6.0 (Aug 8, 2021)

  • Fixed rare config corruption issue that could prevent the configurator from working properly, causing an issue that made the registry values unavailable for both the configurator and the driver.

New in OmniMIDI 14.6.5.0 (Aug 6, 2021)

  • Fixed issue that caused the configurator to crash on boot-up.

New in OmniMIDI 14.6.4.0 (Aug 5, 2021)

  • Began complete rewrite of the source code.
  • Removed DevEnum and merged its function in both the configurator and the DriverRegister tool. (From PR21)
  • Minor logo changes to modernize the icons a bit. (From PR21)
  • Minor bug fixes. (From PR21)
  • Updated Windows Multimedia Wrapper. It is now statically linked to OmniMIDI. This should reduce the footprint of the DLLs and increase performance. (From PR32)
  • Fixed broken developer libs and header. (From PR32)
  • Added hotkey to override the default architecture of the Windows Multimedia Wrapper patch system. This should allow users that use weird apps that don't report their architecture correctly to make use of the right version of the patch. (From PR34)
  • Improved performance by locking the events buffer to the CPU cache/RAM. It will not be moved to pagefile anymore. (From PR38)
  • Fixed crashes when changing the events buffer size. (From PR38)
  • Rewritten PnP registration system. It should be more reliable now. If you're still encountering issues, unregister the driver then register it again. (From PR45 and PR51)
  • Updated KDMAPI to version v4.1. (From PR47)
  • You can now override the reverb and chorus values individually. Added feature by user request. (From PR67)
  • Fixed issue that caused the configurator to misinterpret the registration status of the driver, in some cases. (From PR71)
  • Removed redundant code. (From PR81)
  • Improved performance across all audio engines.(From PR81)

New in OmniMIDI 14.6.3.81 Pre-release (Jul 31, 2021)

  • Changelog:
  • Removed redundant code.
  • Improved performance across all audio engines.
  • Minor bug fixes.

New in OmniMIDI 14.6.3.75 Pre-release (Jul 29, 2021)

  • Fixed minor issues.

New in OmniMIDI 14.6.3.71 Pre-release (Jul 29, 2021)

  • Fixed issue that caused the configurator to misinterpret the registration status of the driver, in some cases.

New in OmniMIDI 14.6.3.67 Pre-release (Jul 28, 2021)

  • Fixed issue that caused the configurator to misinterpret the registration status of the driver, in some cases.

New in OmniMIDI 14.6.3.51 Pre-release (Jul 28, 2021)

  • Fixed some issues in the PnP registration system.

New in OmniMIDI 14.6.3.47 Pre-release (Jul 28, 2021)

  • Updated KDMAPI to version v4.1.
  • Minor performance improvements.

New in OmniMIDI 14.6.3.38 (Jul 27, 2021)

  • Improved performance by locking the events buffer to the CPU cache/RAM. It will not be moved to pagefile anymore.
  • Fixed crashes when changing the events buffer size.

New in OmniMIDI 14.6.3.34 Pre-release (Jul 26, 2021)

  • Added hotkey to override the default architecture of the Windows Multimedia Wrapper patch system. This should allow users that use weird apps that don't report their architecture correctly to make use of the right version of the patch.
  • Minor bug fixes.

New in OmniMIDI 14.6.3.27 (Jul 25, 2021)

  • Minor additions and bug fixes.

New in OmniMIDI 14.6.2.0 (Jul 24, 2021)

  • Fixed issue that caused the WASAPI engine to not work properly.

New in OmniMIDI 14.6.1.0 (Jul 21, 2021)

  • Updated branch system. (From PR109)
  • Fixed issue that caused the ASIO engine with Direct Feed mode enabled to spawn a new events processer thread every time the stream was restarted. (From PR97)
  • Fixed live changes system, it should crash less and also work more reliably. (From PR88)
  • Added small troubleshooting utility to the configurator. (From PR83)
  • Removed CookedPlayer when not using the Windows Multimedia Wrapper. Windows' own WinMM library handles MIDI_IO_COOKED by itself. (From PR79)
  • Added MIDI feedback option, that allows you to send the incoming MIDI data to another MIDI out device, like for example a virtual MIDI cable or a physical MIDI device like a piano. (From PR77)
  • Added support for linear attack phase and linear decay and release phases. You can enable them in the Settings tab. (From PR58 and PR70)
  • Fixed issue that caused BASSASIO to get freed with a delay, and crash the app during OmniMIDI's BASS check process (Where it checks if it has to load its own BASS libraries or use the app's already loaded ones). OmniMIDI would see BASSASIO loaded in memory and use GetModuleHandle on it (while BASSASIO was still freeing itself), causing a crash. (From PR49)
  • Rewritten XAudio 2.9 engine, and restored support for that engine on Windows 8.1 and older. (From PR46 and PR67)
  • Fixed race condition between the rendering threads and the stream health-check thread, that caused the driver to crash with an EXCEPTION_ACCESS_VIOLATION error when freeing the BASS libraries during the MIDI output closing process, when playing lots of notes (e.g. in Black MIDIs). The stream health-check thread will now wait for the rendering threads to close, before freeing up the BASS libraries. (From PR31)
  • Enabled Control Flow Guard. (From PR25)
  • Increased minimum system requirements to SSE2-capable CPUs. (From PR25)
  • Removed debug chime. (From PR25)
  • Updated BASS to version 2.4.16 U1, BASS_VST to version 2.4.1, BASSASIO to version 1.4.1, BASSenc to version 2.4.15 and BASSMIDI to version 2.4.13 U22 BASSMIDI contains more performance improvements for Black MIDI playback. (From PR23)
  • Reduced update rate of the stream health thread, which should increase the performance on BASS-related threads. (From PR17)
  • Removed useless features that no one used.
  • Rearranged settings in the configurator.

New in OmniMIDI 14.6.0.109 (Jul 20, 2021)

  • Updated branch system.

New in OmniMIDI 14.6.0.104 (Jul 20, 2021)

  • Fixed "CloseThread" error when restarting the audio stream.
  • Fixed random crashes caused by the MIDI feedback feature not freeing WinMM properly.

New in OmniMIDI 14.6.0.97 (Jul 20, 2021)

  • Fixed issue that caused the ASIO engine with Direct Feed mode enabled to spawn a new events processor thread every time the stream was restarted.
  • Minor bug fixes.

New in OmniMIDI 14.6.0.91 (Jul 19, 2021)

  • Changelog:
  • Improved reliability of the new live changes system.
  • Minor bug fixes.

New in OmniMIDI 14.6.0.88 (Jul 19, 2021)

  • Fixed live changes system, it should crash less and also work more reliably.
  • Fixed random crashes when restarting the audio stream.

New in OmniMIDI 14.6.0.86 (Jul 19, 2021)

  • Added whitelist system to the MIDI feedback function, to allow users to enable the feature on specific apps only.
  • Minor bug fixes.

New in OmniMIDI 14.6.0.83 (Jul 18, 2021)

  • Added small troubleshooting utility to the configurator.
  • Minor changes to the UI.
  • Minor bug fixes.

New in OmniMIDI 14.6.0.77 (Jul 18, 2021)

  • Changelog:
  • Added MIDI feedback option, that allows you to send the incoming MIDI data to another MIDI out device, like for example a virtual MIDI cable or a physical MIDI device like a piano.
  • Minor bug fixes here and there.

New in OmniMIDI 14.6.0.70 (Jul 15, 2021)

  • Added some nifty SoundFont related features to the Settings tab.

New in OmniMIDI 14.6.0.55 (Jul 14, 2021)

  • Fixed random crashes when using XAudio2.

New in OmniMIDI 14.6.0.52 (Jul 12, 2021)

  • Fixed issue that made OmniMIDI spam _beginthreadex for the fast audio thread, when using BASSASIO with ASIO Direct Feed disabled.

New in OmniMIDI 14.6.0.46 (Jul 12, 2021)

  • Fixed XAudio 2.9 support on Windows 8.1 and older.
  • Fixed issue that caused XAudio 2.9 to not output any audio when the ASIO Direct Feed mode was enabled.

New in OmniMIDI 14.6.0.44 (Jul 12, 2021)

  • Fixed issue that caused the ASIO engine to parse the MIDI events twice, causing some weird feedback in the audio.

New in OmniMIDI 14.6.0.31 (Jul 12, 2021)

  • Fixed race condition between the rendering threads and the stream health-check thread, that caused the driver to crash with an EXCEPTION_ACCESS_VIOLATION error when freeing the BASS libraries during the MIDI output closing process, when playing lots of notes (e.g. in Black MIDIs). The stream health-check thread will now wait for the renderin threads to close', before freeing up the BASS libraries.
  • Fixed crash when using BASSASIO, caused by a double-free of the device. The FreeUpBASSASIO() function in the driver now checks if the ASIO device has been started using BASS_ASIO_IsStarted().
  • Minor bug fixes.

New in OmniMIDI 14.6.0.27 (Jul 10, 2021)

  • Fixed initialization issues and crashes with XAudio2. It should work properly now. (microsoft msdn moment)

New in OmniMIDI 14.6.0.25 (Jul 9, 2021)

  • Enabled Control Flow Guard.
  • Increased minimum system requirements to SSE2-capable CPUs.
  • Removed debug chime.
  • Minor fixes.

New in OmniMIDI 14.6.0.23 (Jul 9, 2021)

  • Changelog:
  • Enabled Control Flow Guard.
  • Increased minimum system requirements to SSE2-capable CPUs.
  • Removed debug chime.
  • Minor fixes.

New in OmniMIDI 14.6.0.17 (Jul 8, 2021)

  • Updated BASSMIDI to pre-release version 2.4.13 U20. This should finally fix the bad performance on Black MIDIs, which allowed me to remove the "optimized libraries" option from the configurator, while also bringing to the table the latest fixes when it comes to MIDI events parsing and SoundFonts decoding.
  • Reduced update rate of the stream health thread, which should increase the performance on BASS-related threads. The downside of this change is that live changes won't be applied instantly now, but it's not a big deal. The new update rate value is 333ms (from 30).
  • Fixed lots and lots of bugs in the code. The driver should feel more stable now.

New in OmniMIDI 14.6.0.0 (Jul 2, 2021)

  • Added speedhack system to the Windows Multimedia Wrapper (Configurator > Settings > Debug and legacy settings), for those Black MIDI no-lag freaks. You have to repatch the app, if it's been patched with an older version of the Windows Multimedia Wrapper.
  • Fixed numerous bugs caused by the awesome MSDN team and their terrible documentation about WinMM. I had to dig out an old Windows NT SDK PDF to be able to fix them.
  • The MIDI panic hotkey (Insert) will not reset the channel instruments, pitch bends and other related stuff anymore, and should only turn off all the currently playing notes. You can revert back to the old MIDI panic mode by holding Shift as you press Insert.
  • Minor bug fixes here and there.

New in OmniMIDI 14.5.3.0 (Jun 30, 2021)

  • Fixed weird compiler quirk introduced from version 14.5.0 that caused the driver to misbehave, especially when used through the OmniMapper. (It crashed Minecraft too, for some reason...?).

New in OmniMIDI 14.5.2.0 (Jun 28, 2021)

  • Updated BASSMIDI library to version 2.4.13.18.
  • Removed mask system.

New in OmniMIDI 14.5.1.0 (Jun 25, 2021)

  • Fixed issue that caused Windows Multimedia API apps to crash when loading the driver.

New in OmniMIDI 14.5.0.0 (Jun 24, 2021)

  • Fixed issue with the library loader that caused some MIDI applications to misbehave (e.g. Kiva).
  • Fixed issue that caused the XAudio2 to throw an error during startup. It was caused by an out of memory error in the driver's heap.

New in OmniMIDI 14.4.0.0 (Jun 23, 2021)

  • Updated BASS to version 2415 U59 and BASSMIDI to version 2413 U17
  • For Black MIDI users, you can still use the old libraries by using the "Load Black MIDI optimized libraries" option in the configurator's settings The latest libraries aren't suited for playback of multi-million MIDIs, I'm afraid
  • Added asynchronous mode support for Windows Audio Session API Enabling it could improve the latency but introduce some crackling too
  • Fixed issue that caused some driver errors to not display and instead crash the MIDI application
  • Optimized code of the audio thread and events processer
  • Minor bug fixes

New in OmniMIDI 14.3.0.0 (Jun 21, 2021)

  • The driver should not crash anymore when applying live changes that don't affect the size of the events buffer. Making changes to the size of the events buffer while events are being written to it will still lead to crashes, so always remember to pause the playback in the MIDI app and be careful!
  • Backported some features and optimizations from Shakra.

New in OmniMIDI 14.2.0.0 (Jun 21, 2021)

  • Fixed crash caused by a double free[] on XA/.WAV mode's sound buffer array.

New in OmniMIDI 14.1.0.0 (Jun 20, 2021)

  • Refined settings and code for XAudio 2.9 engine.
  • Minor bug fixes.

New in OmniMIDI 14.0.0.0 (Jun 19, 2021)

  • Added latency monitoring to the debug window, for those pros that want to know how much delay there is between the DAW and the actual sound. Useful for people who play instruments in live with the driver.
  • BASSWASAPI has been restored, which means that exclusive WASAPI support is available once again.
  • Changed behavior for incoming long messages. Instead of letting the app spam the driver with as many long messages as it wants, the driver will now spinlock and force the app to wait for the incoming long message to be parsed, before accepting any more. This should fix those glitches with apps such as vanBasco. Well-coded apps should not be affected by this behavior.
  • Fixed broken support on x86 machines.
  • Fixed issue that caused the setup to not spawn the required registry keys for the driver to work properly.
  • Fixed that annoying bug in the configurator that could make you lose your shared list.
  • Reduced crashes when changing settings in live. They might still happen, but it's normal. You should always restart your program after you change the advanced settings.
  • Renamed DirectX Audio to DirectSound 9.0L, to avoid confusions with the new and improved XAudio 2.9 engine! XAudio2 is back!!!
  • Reworked the ASIO control panel from scratch. It now gives way more info about the ASIO output.
  • The RivaTuner OSD has been removed. barely anyone actually made use of it.

New in OmniMIDI 13.8.15.0 (Jun 19, 2021)

  • Restored XAudio2 (XA Gaming) engine.

New in OmniMIDI 13.8.7.0 (Jun 6, 2021)

  • Fixed missing BASSWASAPI library on 32-bit installs of OmniMIDI.

New in OmniMIDI 13.8.5.0 (Jun 4, 2021)

  • Fixed issue that caused some registry values to not spawn on a clean install of the driver, causing the latter to crash on start.

New in OmniMIDI 13.8.4.0 (Jun 3, 2021)

  • Offloaded registry-related functions from the setup to the configurator. This should fix an issue that occurs when the driver is installed on a standard account while getting the privileges from another with admin permissions.

New in OmniMIDI 13.8.3.0 (May 31, 2021)

  • Fixed issue with shared list.

New in OmniMIDI 13.8.2.0 (Mar 11, 2021)

  • Now the driver, upon receiving a long message, will spinlock until the audio stream is ready. This is to prevent some apps from spamming the driver with long messages while ignoring the default return value (Which is MIDIERR_NOTREADY). This should fix some issues with badly coded apps such as VanBasco, that ignore the return value of the long messages call (midiOutLongMsg).
  • Minor bug fixes.

New in OmniMIDI 13.8.1.0 (Mar 8, 2021)

  • Fixed issue (#182). It was actually caused by WinMMWRP ignoring the setting in the configurator.
  • While the fix was as easy as making the patch read the configurator's setting (The original functions apparently worked fine, I thought they were broken oops), I actually decided to follow Khang's suggestion of importing the time* functions from Kernel32, instead of loading them from WinMM. This will only happen on Windows 8 and newer, since Windows 7 does not have those new functions in Kernel32. (This is also why Windows 8 and newer have two DLLs that mostly share the same functions, WinMM and WinMMBase)

New in OmniMIDI 13.8.0.0 (Feb 26, 2021)

  • Fixed issue (#181) that caused events to not be parsed properly.

New in OmniMIDI 13.7.0.0 (Feb 25, 2021)

  • Reworked ASIO control panel in the configurator. That should fix the BASS_ERROR_UNKNOWN error with Realtek ASIO, and the freeze when configuring FL Studio ASIO.
  • Minor fixes to the driver's code.
  • Dropped Update executable. I'll only provide the Setup from now on.

New in OmniMIDI 13.6.0.0 (Feb 23, 2021)

  • Fixed regression from OM13.5.3, that caused the configurator to crash on startup.
  • Removed RivaTuner OSD support. (From 13.5.2.0)
  • Fixed a code error that made the new WASAPI incompatible with Windows 8.1 or older. (From 13.5.2.0)
  • Fixed an issue that caused random notes to be played, after restarting the stream in normal playback mode. The issue did not occur in minimum playback mode. (From 13.5.2.0)
  • Fixed error that caused BASS to complain about tampering. (From 13.5.2.0)
  • Fixed error in the code that caused OM to load a BASSenc extension from the BASSASIO library. (From 13.5.1.0)
  • The driver will not crash anymore when rapidly changing settings that require a complete restart of the audio stream. (From 13.5.1.0)

New in OmniMIDI 13.5.1.0 Bugfix 1 (Feb 22, 2021)

  • Changelog:
  • Fixed error in the code that caused OM to load a BASSenc extension from the BASSASIO library.
  • The driver will not crash anymore when rapidly changing settings that require a complete restart of the audio stream.

New in OmniMIDI 13.5.1.0 (Feb 20, 2021)

  • Fixed error in the code that caused OM to load a BASSenc extension from the BASSASIO library.
  • The driver will not crash anymore when rapidly changing settings that require a complete restart of the audio stream.

New in OmniMIDI 13.5.0.0 (Feb 20, 2021)

  • Added workaround for apps that load the BASS libraries on boot-up. (E.g. Synthesia and Kiva MIDI Player)
  • Added option to disable the audio ramp-in (BASS_MIDI_FONT_NORAMPIN) to the configurator. (From 13.4.0.0)
  • Added latency info for all engines, in the debug window. (If you see a mismatch between the frames value in the debug window and the buffer size in the ASIO control panel, don't worry about it. BASSASIO automatically allocates a few more frames for audio monitoring. E.g. 64 samples + 48 for monitoring.) (From 13.4.0.0)
  • The debug window will now correctly report the correct KDMAPI status when using the Windows Multimedia Wrapper. (From 13.4.0.0)
  • Fixed bug with ASIO and new WASAPI that would make some notes get stuck and played every few seconds. (From 13.2.0.0)
  • Changed behavior of MIDI_IO_COOKED. It will not use dwUser's address for CookedPlayer anymore. The player will now be hosted inside OM's own working set. (From 13.2.0.0)
  • Updated the Windows Multimedia Wrapper to version 7.1, which should fix compatibility with apps that make use of callbacks and also fix a pesky issue with MIDI_IO_COOKED apps, such as GZDoom. (From 13.2.0.0)
  • Updated DirectX Audio engine. (From 13.1.0.0)
  • Restored BASSWASAPI. This means that WASAPI exclusive mode is back, together with some nifty features that could benefit Windows 10 users that both want low-latency playback and shared mode. If you don't like the new WASAPI implementation, you can always revert back to the old one by clicking "Use old WASAPI" button in the "Change output" window. (From 13.0.0.0)
  • Added a workaround for an issue in the MSVC libraries, that made FreeLibrary free up the libraries without zeroing the pointers. (From 13.0.0.0)

New in OmniMIDI 13.4.0.0 (Feb 15, 2021)

  • Added option to disable the audio ramp-in (BASS_MIDI_FONT_NORAMPIN) to the configurator.
  • Added latency info for all engines, in the debug window. (If you see a mismatch between the frames value in the debug window and the buffer size in the ASIO control panel, don't worry about it. BASSASIO automatically allocates a few more frames for audio monitoring. E.g. 64 samples + 48 for monitoring.)
  • The debug window will now correctly report the correct KDMAPI status when using the Windows Multimedia Wrapper.
  • Fixed bug with ASIO and new WASAPI that would make some notes get stuck and played every few seconds. (From 13.2.0.0)
  • Changed behavior of MIDI_IO_COOKED. It will not use dwUser's address for CookedPlayer anymore. The player will now be hosted inside OM's own working set. (From 13.2.0.0)
  • Updated the Windows Multimedia Wrapper to version 7.1, which should fix compatibility with apps that make use of callbacks and also fix a pesky issue with MIDI_IO_COOKED apps, such as GZDoom. (From 13.2.0.0)
  • Updated DirectX Audio engine. (From 13.1.0.0)
  • Restored BASSWASAPI. This means that WASAPI exclusive mode is back, together with some nifty features that could benefit Windows 10 users that both want low-latency playback and shared mode. If you don't like the new WASAPI implementation, you can always revert back to the old one by clicking "Use old WASAPI" button in the "Change output" window. (From 13.0.0.0)
  • Added a workaround for an issue in the MSVC libraries, that made FreeLibrary free up the libraries without zeroing the pointers. (From 13.0.0.0)

New in OmniMIDI 13.3.0.0 (Feb 9, 2021)

  • Changelog:
  • Improved performance by a bit.
  • Added latency info for all engines, in the debug window. (If you see a mismatch between the frames value in the debug window and the buffer size in the ASIO control panel, don't worry about it. BASSASIO automatically allocates a few more frames for audio monitoring. E.g. 64 samples + 48 for monitoring.)
  • The debug window will now correctly report the correct KDMAPI status when using the Windows Multimedia Wrapper.
  • Fixed bug with ASIO and new WASAPI that would make some notes get stuck and played every few seconds. (From 13.2.0.0)
  • Changed behavior of MIDI_IO_COOKED. It will not use dwUser's address for CookedPlayer anymore. The player will now be hosted inside OM's own working set. (From 13.2.0.0)
  • Updated the Windows Multimedia Wrapper to version 7.1, which should fix compatibility with apps that make use of callbacks and also fix a pesky issue with MIDI_IO_COOKED apps, such as GZDoom. (From 13.2.0.0)
  • Updated DirectX Audio engine. (From 13.1.0.0)
  • Restored BASSWASAPI. This means that WASAPI exclusive mode is back, together with some nifty features that could benefit Windows 10 users that both want low-latency playback and shared mode. If you don't like the new WASAPI implementation, you can always revert back to the old one by clicking "Use old WASAPI" button in the "Change output" window. (From 13.0.0.0)
  • Added a workaround for an issue in the MSVC libraries, that made FreeLibrary free up the libraries without zeroing the pointers. (From 13.0.0.0)

New in OmniMIDI 13.2.0.0 (Feb 7, 2021)

  • Changelog:
  • Fixed bug with ASIO and new WASAPI that would make some notes get stuck and played every few seconds.
  • Changed behavior of MIDI_IO_COOKED. It will not use dwUser's address for CookedPlayer anymore. The player will now be hosted inside OM's own working set.
  • Updated the Windows Multimedia Wrapper to version 7.1, which should fix compatibility with apps that make use of callbacks and also fix a pesky issue with MIDI_IO_COOKED apps, such as GZDoom.
  • Updated DirectX Audio engine. (From 13.1.0.0)
  • Restored BASSWASAPI. This means that WASAPI exclusive mode is back, together with some nifty features that could benefit Windows 10 users that both want low-latency playback and shared mode. If you don't like the new WASAPI implementation, you can always revert back to the old one by clicking "Use old WASAPI" button in the "Change output" window. (From 13.0.0.0)
  • Added a workaround for an issue in the MSVC libraries, that made FreeLibrary free up the libraries without zeroing the pointers. (From 13.0.0.0)

New in OmniMIDI 13.1.0.0 (Feb 1, 2021)

  • Updated the Windows Multimedia Wrapper to version 7.0, which should fix compatibility with apps that make use of callbacks.
  • Updated DirectX Audio engine.
  • Restored BASSWASAPI. This means that WASAPI exclusive mode is back, together with some nifty features that could benefit Windows 10 users that both want low-latency playback and shared mode. If you don't like the new WASAPI implementation, you can always revert back to the old one by clicking "Use old WASAPI" button in the "Change output" window. (From 13.0.0.0)
  • Added a workaround for an issue in the MSVC libraries, that made FreeLibrary free up the libraries without zeroing the pointers. (From 13.0.0.0)

New in OmniMIDI 12.1.0.0 (Feb 1, 2021)

  • Changelog:
  • Hooray, Windows 10 20Hx will not remove the driver from the Drivers32 key anymore! Dirty fix, but it works™. (From 12.0.0.0)
  • Fixed support for Zenith and Kiva. It was actually caused by OM's internal lib loader. Everything should work fine now, including old WinMMWRP patches!

New in OmniMIDI 12.0.0.0 (Jan 31, 2021)

  • Hooray, Windows 10 20Hx will not remove the driver from the Drivers32 key anymore! Dirty fix, but it works

New in OmniMIDI 11.2.0.0 (Apr 10, 2020)

  • Added change from issue #169.
  • Updated BASS and BASSMIDI libraries to the latest versions available.
  • Fixed issue in the SoundFont lists editor

New in OmniMIDI 11.1.4.0 (Jan 31, 2020)

  • Fixed some bugs in the SoundFonts lists system.

New in OmniMIDI 11.1.3.2 (Jan 27, 2020)

  • Fixed some bugs in the SoundFonts lists system.

New in OmniMIDI 11.1.3.0 (Jan 20, 2020)

  • Added support for concert pitch changes.
  • Moved transposing and concert pitch settings to the appropriate section in the Settings tab.
  • Updated BASS to version 2.4.15.1, BASSMIDI to version 2.4.12.12 and BASSFLAC to version 2.4.4.4.

New in OmniMIDI 11.1.2.0 (Jan 19, 2020)

  • Added transposing back to the configurator, in the "Debug and legacy settings".
  • Fixed issue #164.

New in OmniMIDI 11.1.1.1 (Dec 27, 2019)

  • Added text to the debug window that shows which SoundFonts list is currently loaded to the app.
  • Added ability to assign bank's least significant byte (LSB).

New in OmniMIDI 11.1.0.2 (Dec 26, 2019)

  • Fixed broken mask system.

New in OmniMIDI 11.1.0.1 (Dec 26, 2019)

  • Added feature to always keep the audio stream active, even when midiOutClose/midiStreamClose is called. It will only work with the BM-type WinMMWRP patch. (Done for Reserve on Vogons)

New in OmniMIDI 11.1.0.0 (Dec 25, 2019)

  • Fixed issue which caused Synthesia 10.6.5383 (and newer question mark?) to crash whenever the user selected OmniMIDI as the output device. (Sorry Nicholas for blaming this on your app!)
  • All the callback types should work fine now, on both packed and cooked mode. This means that any app that makes extremely use of both unknown callback types and cooked mode, like GZDoom and EDuke32, will work fine starting with this release! Merry Christmas!

New in OmniMIDI 11.0.0.0 (Dec 24, 2019)

  • Fixed mistake in WinMMWRP's source code which caused the wrapper to pass the wrong value for the dwFlags parameter to OmniMIDI. This should fix any issue with MIDI Stream API capable applications.
  • Fixed EXCEPTION_PRIV_INSTRUCTION, EXCEPTION_INT_DIVIDE_BY_ZERO and EXCEPTION_ACCESS_VIOLATION errors when using players with callback support. (From 10.3)
  • Fixed exploit in the Windows Multimedia Wrapper that could lead to privilege escalation (if used for malicious purposes) and data loss. Thanks to DixelU for the report. (From 10.2)

New in OmniMIDI 10.1.0.0 (Dec 23, 2019)

  • Minor bug fixes.

New in OmniMIDI 10.0.3.0 (Dec 9, 2019)

  • Updated Inno Setup to version 6.0.3.
  • Native Windows 10 ARM64 support is on its way.
  • Minor bug fixes.

New in OmniMIDI 10.0.2.0 (Dec 5, 2019)

  • Reduced aggressiveness of the "No callback address specified" error.
  • This is the 666th release! This release is not sponsored by Satan though.

New in OmniMIDI 10.0.1.0 (Dec 2, 2019)

  • Minor bug fixes.

New in OmniMIDI 10.0.0.15 (Nov 27, 2019)

  • Updated OmniMapper control panel.
  • Fixed issue in the OmniMIDI Update setup which caused crashes when updating from .12 or older.
  • Improved performance of the debug window.
  • Minor bug fixes.

New in OmniMIDI 10.0.0.14 (Nov 26, 2019)

  • Updated OmniMapper control panel.

New in OmniMIDI 10.0.0.13 (Nov 23, 2019)

  • Fixed issue that caused the configurator to get stuck into a reload loop when the "Shared list" is selected.
  • Minor bug fixes.

New in OmniMIDI 10.0.0.12 (Nov 23, 2019)

  • Changelog:
  • Minor bug fixes to the configurator.
  • Added FLAC support to the SoundFonts list loading system.

New in OmniMIDI 10.0.0.11 (Nov 22, 2019)

  • Changelog:
  • Fixed bug in the SoundFonts list editor.
  • You can now change which SoundFonts to or not to preload. (From CR10)
  • Added support for SF2Pack SoundFonts. (From CR10)
  • Minor bug fixes. (From CR10)
  • Signatures (SHA256):
  • OmniMIDISetup.exe

New in OmniMIDI 10.0.0.9 (Nov 21, 2019)

  • Added checkboxes to the list to manage enabled/disabled SoundFonts.
  • Minor bug fixes.

New in OmniMIDI 10.0.0.8 (Nov 19, 2019)

  • Fixed issue #156.
  • Reworked blacklist editor in the configurator.

New in OmniMIDI 10.0.0.7 (Nov 18, 2019)

  • Added checkbox to disable QPC in the Windows Multimedia Wrapper, to make Black MIDIs play and sound like Windows 7 with native WinMM.
  • Minor bug fixes.

New in OmniMIDI 10.0.0.5 (Nov 17, 2019)

  • Added support for more MIDI callbacks, other than CALLBACK_FUNCTION.
  • Improved MIDI Stream API support in the Windows Multimedia Wrapper.

New in OmniMIDI 10.0.0.3 (Nov 15, 2019)

  • Fixed issue which caused the SoundFonts list editor to snap back to the beginning when moving SoundFonts up and down with "Shared list" selected.
  • Fixed issue which caused the "Move SoundFont(s) down" command to not work properly with multiple SoundFonts selected.
  • Fixed issues in the update system.
  • Minor bug fixes and improvements.

New in OmniMIDI 10.0.0.2 (Nov 14, 2019)

  • Added SoundFonts info window back to the configurator.
  • Added copy-paste function to the list, which allows users to copy SoundFonts from one list and paste them to another.
  • Minor bug fixes.

New in OmniMIDI 10.0.0.1 (Nov 14, 2019)

  • The configurator will now remember the size of the columns in the SoundFonts list editor.
  • You can now drag-n-drop SoundFonts in the executable or in SoundFonts list editor, to add them to the list.
  • Reduced clutter in the settings tab.

New in OmniMIDI 10.0.0.0 (Nov 14, 2019)

  • Rewritten configurator from scratch. If you feel like some features are missing compared to the old one, create an issue and I'll try to integrate it back in a next release.
  • Fixed issue which caused OmniMIDI to stall with some applications.
  • Added preliminary support for the "Common SoundFonts" standard. (Requested by Arduano over Discord.)

New in OmniMIDI 9.0.0.0 (Oct 28, 2019)

  • Dropped support for Windows XP.
  • Removed some functions from DllMain that caused a deadlock on WPF applications compiled as "Console application" from Visual Studio. (Thanks Arduano for the report.)

New in OmniMIDI 8.3.0.0 (Oct 7, 2019)

  • Fixed regression which caused DirectSound to have an immense amout of audio delay.
  • Improved debug mode.

New in OmniMIDI 8.2.0.0 (Oct 2, 2019)

  • Streamlined code.
  • Removed MT32 mode, since it's redundant.
  • Fixed some issues in how the driver eliminates MIDIHDRs from memory.

New in OmniMIDI 8.1.0.0 (Sep 3, 2019)

  • Fixed stack overflow in Windows XP.

New in OmniMIDI 8.0.0.0 (Aug 19, 2019)

  • OmniMIDI updates will be released slower from now on.
  • Updated BASS libraries.

New in OmniMIDI 7.1.10.0 (Aug 7, 2019)

  • Fixed some bugs in the configurator that caused the SoundFonts list manager to misbehave.

New in OmniMIDI 7.1.9.0 (Jul 22, 2019)

  • Fixed bug in the timeGetTime function, which caused some programs to report their license as "expired" (E.g. Cubase 10 Pro). Thanks frozensnowy for the report.

New in OmniMIDI 7.1.8.0 (Jul 20, 2019)

  • Fixed issue in the SoundFont loader system which caused the driver to load all presets and banks when not needed.

New in OmniMIDI 7.1.7.0 (Jul 4, 2019)

  • Updated BASS to version 241414 and BASSMIDI to version 24124
  • Fixed "Mismatching BASSASIO DLL" error in the configurator (I had to ghetto-edit the C# library I'll report the issue to radio42)
  • Fixed bug that caused the events processing functions to stay uninitialized on boot-up

New in OmniMIDI 7.1.4.3 (Jun 26, 2019)

  • Updated exception printer.
  • Added support for 16-bit Win32s functions to the 32-bit version of the wrapper, to make it compatible with NTVDM/OTVDM. (Thanks to SonoSooS for disassembing the functions for me!)

New in OmniMIDI 7.1.4.0 (Jun 12, 2019)

  • The configurator will check if the driver is still registered to the list of available MIDI out devices everytime during the startup process. If it detects that the driver is not registered, it'll show a message telling the user to press OK to register it again.
  • Minor bug fixes.

New in OmniMIDI 7.1.3.1 (Jun 10, 2019)

  • Fixed support for non-SSE2 capable CPUs. It should work on Pentium 3 computers too now... Lol.
  • Upgraded LoudMax to version 1.28 on Windows Vista and newer.
  • Downgraded LoudMax to version 1.15 on Windows XP.

New in OmniMIDI 7.1.3.0 (Jun 5, 2019)

  • Changelog:
  • Improved error windows.
  • Minor code improvements.

New in OmniMIDI 7.1.2.1 (May 27, 2019)

  • Updated KDMAPI to version 1.52.0.
  • Optimized code, to make it both faster and more readable to normal human beings.
  • Added new setting to DriverSettings, called OM_UNLOCKCHANNELS. It'll allow KDMAPI devs to push short data to up to 128 MIDI channels. They're only accessible via SendCustomEvent.
  • Updated volume knob.
  • Minor bug fixes.

New in OmniMIDI 7.1.1.1 (May 19, 2019)

  • The debug log will now output to its own pipe, instead of pushing data then copying stdout to the file.

New in OmniMIDI 7.1.0.3 (May 13, 2019)

  • Added automatic audio output switching. You can enable it for DirectSound and WASAPI by going to Settings > Advanced audio settings > Change default audio output.

New in OmniMIDI 7.1.0.2 (May 10, 2019)

  • Fixed issue which caused OmniMIDI to close the same registry keys twice, without checking their validity first. (Thanks ax_pokl for the report.)
  • Fixed issue that caused the debug pipe to remain stuck on the first pipe available, in the debug window. (Thanks Gavin Nielsen for the report.)

New in OmniMIDI 7.1.0.0 (May 1, 2019)

  • Fixed issue which caused the Windows Multimedia Wrapper to fail the loading process in some programs, such as Image-Line FL Studio.

New in OmniMIDI 7.0.0.0 (May 1, 2019)

  • Added Running Status support to the fast playback mode.
  • Added help button to SoundFonts list editor.
  • Changed behavior of MODM_PREPARE and MODM_UNPREPARE. Locking the MIDI header to memory/working set isn't necessary.
  • Fixed DLL initialization error when running OmniMIDI under Wine.
  • Fixed a bug in the Output to .WAV mode that has been present since Keppy's Synthesizer 4.0. The mode was unable to write inside folders or to files with Unicode characters.
  • Fixed annoying .NET 4.5 install message on Windows XP, when using the full installer. Now the setup will install .NET 4.0.3 when needed.
  • Fixed bad behavior when receiving MIDI beat clock messages from the MIDI host app.
  • Fixed crash when calling TerminateKDMAPIStream().
  • Fixed issue in the debug window, which made it unable to pick anything other than the first debug pipe (OmniMIDIDbg1).
  • Fixed issue that caused OmniMIDI to fail to parse GS/GM/XG long messages.
  • Fixed memory lock issue on midiOutPrepareHdr.
  • Fixed note transpose issue.
  • Fixed regression in the wrapper that caused midiOutOpen to fail. You'll have to repatch all the MIDI applications.
  • Improved debug window performance.
  • Optimized performance when playing Black MIDIs.
  • Removed legacy code from the driver, which caused the CookedPlayer to stall during the initialization process.
  • Replaced PayPal link.
  • Restored support for Windows XP. OmniMapper and Windows Multimedia Wrapper will support it too.
  • The debug pipe will not eat CPU anymore when inactive.
  • The debug window will now pick the first debug pipe available on startup.
  • Updated Windows Multimedia Wrapper to version 4.0, which improves the timing in the timeGetTime() function by using undocumented NTAPI functions (NtQuerySystemTime) for better reliability.
  • Updated icon appearance.
  • You can now change the default MIDI out device for Windows Media Player without having to uninstall OmniMapper first.

New in OmniMIDI 6.7.3.0 (Apr 30, 2019)

  • Fixed a bug in the Output to .WAV mode that has been present since Keppy's Synthesizer 4.0. The mode was unable to write inside folders or to files with Unicode characters.

New in OmniMIDI 6.7.2.0 (Apr 27, 2019)

  • Fixed issue in the debug window, which made it unable to pick anything other than the first debug pipe (OmniMIDIDbg1).
  • The debug window will now pick the first debug pipe available on startup.
  • Minor fixes.

New in OmniMIDI 6.7.1.0 (Apr 18, 2019)

  • Fixed bad behavior when receiving MIDI beat clock messages from the MIDI host app.
  • Optimized performance when playing Black MIDIs.
  • Minor changes.

New in OmniMIDI 6.7.0.3 (Apr 17, 2019)

  • Removed legacy timeGetTime in the Windows Multimedia Wrapper, and replaced it with a custom version using undocumented NTAPI functions (NtQuerySystemTime) for better reliability.

New in OmniMIDI 6.7.0.2 (Apr 15, 2019)

  • Removed legacy code from the driver, which caused the CookedPlayer to stall during the initialization process.

New in OmniMIDI 6.5.0.0 (Apr 13, 2019)

  • Restored support for Windows XP. OmniMapper and Windows Multimedia Wrapper will support it too.
  • Minor bug fixes.

New in OmniMIDI 6.4.1.2 (Mar 21, 2019)

  • Fixed minor bugs.
  • Added help button to SoundFonts list editor.

New in OmniMIDI 6.4.1.1 (Mar 16, 2019)

  • Added Running Status support to the fast playback mode.

New in OmniMIDI 6.4.1 (Mar 10, 2019)

  • Replaced PayPal link.

New in OmniMIDI 6.4.0.2 (Mar 4, 2019)

  • Fixed issue in the wrapper that caused midiOutOpen to fail. You'll have to repatch all the MIDI applications.

New in OmniMIDI 6.4.0.1 (Mar 2, 2019)

  • Fixed crash when calling TerminateKDMAPIStream().

New in OmniMIDI 6.4.0.0 (Feb 28, 2019)

  • Replaced Alternative MIDI Mapper with OmniMapper, an in-house alternative! (get it? 😝)
  • Optimized performance by nuking outdated code, removing critical sections and rewriting the events buffer system from scratch. (Thanks to SonoSooS for partially helping me with the latter! 👀)
  • Fixed issue that prevented DirectX Audio for reaching a latency lower than 50ms.
  • Fixed issue that caused PrepareLongData to fail under Wine.
  • Switched from Nt(Un)LockVirtualMemory to Virtual(Un)Lock, in (Un)PrepareLongData.
  • Fixed issue that prevented the Windows Multimedia Wrapper from being used under Wine.
  • Added workaround to avoid a bug that prevented some games from using OmniMIDI as output device. Blame Windows Multimedia, it took us (SonoSooS and I) almost 5 hours to figure out it wasn't an error on our end.
  • Fixed multiple issues with MAMPlayer, which caused the driver to play the notes at a really slow paste and to crash while exiting or when opening a new MIDI.
  • Fixed error in DriverCallback which caused Windows Media Player to not play MIDIs.
  • Updated modGetCaps function.
  • Updated BASS to version 2.4.14, and BASSMIDI to version 2.4.12.1.
  • Fixed EVBuffer dialog in the configurator.
  • Fixed typing errors in the configurator.

New in OmniMIDI 6.3.0.12 (Feb 23, 2019)

  • Minor bug fixes.

New in OmniMIDI 6.3.0.11 (Feb 23, 2019)

  • Replaced Alternative MIDI Mapper with OmniMapper, an in-house alternative! (get it? 😝)
  • (Re-release) Fixed issue that caused the setup to only install the 32-bit version of OmniMapper.

New in OmniMIDI 6.3.0.10 (Feb 21, 2019)

  • Fixed error that caused WinMM debug errors to show up with the debug log disabled.

New in OmniMIDI 6.3.0.9 (Feb 21, 2019)

  • Fixed multiple issues with MAMPlayer, which caused the driver to play the notes at a really slow paste and to crash while exiting or when opening a new MIDI.
  • Fixed error in DriverCallback which caused Windows Media Player to not play MIDIs.
  • Updated modGetCaps function.

New in OmniMIDI 6.3.0.8 (Feb 18, 2019)

  • Fixed issue that prevented the wrapper from being loaded on 32-bit apps.

New in OmniMIDI 6.3.0.7 (Feb 17, 2019)

  • Fixed issue in the wrapper that caused some 3D apps to show a jittery 3D output.

New in OmniMIDI 6.3.0.6 (Feb 17, 2019)

  • Added workaround to avoid a bug that prevented some games from using OmniMIDI as output device. Blame Windows Multimedia, it took us (SonoSooS and I) almost 5 hours to figure out it wasn't an error on our end.

New in OmniMIDI 6.3.0.5 (Feb 16, 2019)

  • Fixed issue that prevented the Windows Multimedia Wrapper from being used under Wine.

New in OmniMIDI 6.3.0.4 (Feb 11, 2019)

  • Switched from Nt(Un)LockVirtualMemory to Virtual(Un)Lock, in (Un)PrepareLongData.

New in OmniMIDI 6.3, CR2 (Feb 3, 2019)

  • Fixed issue that prevented DirectX Audio for reaching a latency lower than 50ms.
  • Minor changes.

New in OmniMIDI 6.3, CR1 (Feb 2, 2019)

  • Reverted one change that won't affect normal users.
  • Added egg.

New in OmniMIDI 6.3.0.1 (Feb 1, 2019)

  • Reverted one change that won't affect normal users.
  • Added egg.

New in OmniMIDI 6.3.0.0 (Feb 1, 2019)

  • Optimized performance by nuking outdated code, removing critical sections and rewriting the events buffer system from scratch. (Thanks to SonoSooS for partially helping me with the latter!)
  • Updated BASS to version 2.4.14, and BASSMIDI to version 2.4.12.1.
  • Fixed EVBuffer dialog in the configurator.
  • Minor changes to some debug messages.

New in OmniMIDI 6.2.0.6 (Jan 31, 2019)

  • Removed critical sections to improve performance.

New in OmniMIDI 6.2.0.5 (Jan 28, 2019)

  • Improved performance, yes once again.
  • Minor changes to some debug messages.

New in OmniMIDI 6.2.0.4 (Jan 28, 2019)

  • Improved performance, for the third time.
  • Fixed EVBuffer dialog in the configurator.

New in OmniMIDI 6.2.0.3 (Jan 28, 2019)

  • Improved performance, again.
  • Updated BASS to version 2.4.14, and BASSMIDI to version 2.4.12.1.

New in OmniMIDI 6.2.0.2 (Jan 28, 2019)

  • Optimized performance by nuking outdated code.
  • Minor bug fixes.

New in OmniMIDI 6.2.0.1 (Jan 22, 2019)

  • Fixed issue in .WAV mode.
  • Fixed issue in the configurator.

New in OmniMIDI 6.0.58.9 (Dec 29, 2018)

  • Removed old features that aren't required anymore

New in OmniMIDI 6.0.58.8 (Dec 24, 2018)

  • Fixed issues with EDuke32.

New in OmniMIDI 6.0.58.6 (Dec 20, 2018)

  • Improved performance by disabling Control Flow Guard and updating Windows Multimedia Wrapper to version 2.6.

New in OmniMIDI 6.0.58.5 (Dec 13, 2018)

  • Optimized performance when using the "Minimum playback mode".

New in OmniMIDI 6.0.58.4 (Dec 10, 2018)

  • Temporarily disabled exception handler, which prevented some apps from working properly. (E.g. UMP because of its random access violation exceptions)

New in OmniMIDI 6.0.58.3 (Dec 3, 2018)

  • The audio should feel less choppy now, when using WASAPI.

New in OmniMIDI 6.0.58.1 (Dec 2, 2018)

  • Added crash handler, thank you SonoSooS for allowing me to use the source code from your Morshu-midi project!

New in OmniMIDI 6.0.57.29 (Nov 29, 2018)

  • You can now disable the minimum playback/debug mode chime on startup. You can find the setting in the "More settings" menu.

New in OmniMIDI 6.0.57.28 (Nov 29, 2018)

  • Fixed issue that caused old instances of the CookedPlayer to not close themselves when closing the driver.

New in OmniMIDI 6.0.57.27 (Nov 29, 2018)

  • Changelog:
  • Fixed issue that caused old instances of the CookedPlayer to not close themselves when closing the driver.

New in OmniMIDI 6.0.57.26 (Nov 28, 2018)

  • Fixed race condition in the CookedPlayer for the MIDI Stream API, which caused the playback to stall and crash with a memory corruption.

New in OmniMIDI 6.0.57.22 (Nov 26, 2018)

  • Updated icons in the configurator.

New in OmniMIDI 6.0.57.18 (Nov 23, 2018)

  • Native support for Windows 10 ARM64 is coming soon! Stay tuned!

New in OmniMIDI 6.0.57.17 (Nov 21, 2018)

  • Added preliminary support for Windows 10 ARM64 devices.
  • Minor bug fixes.

New in OmniMIDI 6.0.57.16 (Nov 20, 2018)

  • Added note off delay, as requested by MIDAPMI. You can find it in the "MIDI events parser settings".
  • The built-in blacklist will be triggered as soon as the driver is loaded by Windows Multimedia. If the process is banned, OmniMIDI will return FALSE in its DllMain function, forcing Windows Multimedia to unload it.
  • Improved navigation in the configurator for visually impaired users.
  • Minog bug fixes.

New in OmniMIDI 6.0.57.15 (Nov 18, 2018)

  • Minor bug fixes.
  • Preparing for final release on Normal Branch.

New in OmniMIDI 6.0.57.13 (Nov 17, 2018)

  • Added note length override, as requested by MIDAPMI. You can find it in the "MIDI events parser settings".
  • Minor bug fixes.
  • Known bugs:
  • The "Length" settings shows "milliseconds" instead of "seconds". It will be fixed in the next release.

New in OmniMIDI 6.0.57.11 (Nov 16, 2018)

  • Changelog:
  • Fixed issue in the driver that caused the debug window to misbehave.
  • Known bugs:
  • Restarting a stream while using the ASIO engine will crash the application. Please downgrade to an older version of OmniMIDI, or refrain from using ASIO, while waiting for a fix from Un4seen.

New in OmniMIDI 6.0.57.10 (Nov 15, 2018)

  • Improved performance.
  • Updated KDMAPI to version 1.47.2.21

New in OmniMIDI 6.0.57.8 (Nov 14, 2018)

  • Fixed issues that prevented users from using LoudMax.

New in OmniMIDI 6.0.57.4 (Nov 13, 2018)

  • The driver will now call LoadLibrary before LoadLibraryEx, to check if the BASS libraries have been loaded by another driver or by the app itself. If they're already present in memory, the driver will use them instead. GetModuleHandle doesn't increase the reference count, I forgot about that...

New in OmniMIDI 6.0.57.3 (Nov 13, 2018)

  • The driver will now call GetModuleHandle before LoadLibrary, to check if the BASS libraries have been loaded by another driver or by the app itself. If they're already present in memory, the driver will use them instead.
  • The driver will now free the BASS libraries (or decrement the reference count, if they've been loaded before by another driver or by the app), when either midiOutClose or TerminateKDMAPIStream are called.

New in OmniMIDI 6.0.57.2 (Nov 13, 2018)

  • Fixed typo that caused all instruments to stay as Acoustic Piano 1.

New in OmniMIDI 6.0.56.3 (Nov 11, 2018)

  • Improved speed.

New in OmniMIDI 6.0.56.2 (Nov 8, 2018)

  • Removed "Change default soundfont list", since there's already "Assign a soundfont list to a specific app".Improved speed of the driver, and readability of the source code.

New in OmniMIDI 6.0.56.1 (Nov 8, 2018)

  • Fixed issue that made the MIDI Mapper inaccessible, in the Windows Multimedia Wrapper DAW patch.
  • Improved speed and stability of the new SoundFont lists system.

New in OmniMIDI 6.0.56.0 (Nov 7, 2018)

  • Changelog from this release:
  • Changed maximum value for both source and destination bank to 128, in the "Select a bank and a preset for the soundfont".
  • Improved SoundFont loader code in the driver.

New in OmniMIDI 6.0.55.0 (Nov 7, 2018)

  • Major overhaul of the SoundFont loading system. The old SoundFont lists won't work anymore. You can try and import them through the configurator, but the presets/banks settings will not be loaded.
  • You can now edit the presets and banks without having to add the SoundFont to the list again. Just go to "Edit settings for this SoundFont".
  • You can now choose to use bank 127 for drumkits, when playing XG MIDIs. Just right-click on a SoundFont in the list, then go to "Edit settings for this SoundFont".
  • Removed mixer tools from the configurator, as they were buggy and weren't used by a whole lot of users.
  • Fixed issue that caused all the channels' volume to be set to 0, when installing OmniMIDI for the first time.
  • Fixed memory leaks caused by sloppy coding.
  • Drastically reduced memory footprint of the driver.
  • Removed old/useless code.

New in OmniMIDI 6.0.54.2 (Nov 6, 2018)

  • Changelog:
  • Fixed crash on 64-bit apps, when loading a SoundFont list.
  • Fixed random message appearing when adding a SoundFont to the configurator.
  • Removed old/useless code.
  • Minor bug fixes.

New in OmniMIDI 6.0.54.0 (Nov 5, 2018)

  • Improved debug log system.

New in OmniMIDI 6.0.53.0 (Nov 2, 2018)

  • Fixed long messages not being parsed correctly.
  • You can now check if the SysEx messages are parsed properly by the driver, by checking the debug log.

New in OmniMIDI 6.0.52.0 (Nov 2, 2018)

  • Enabled Control Flow Guard, to increase security against memory corruption vulnerabilities.

New in OmniMIDI 6.0.51.0 (Nov 2, 2018)

  • Fixed bad behavior on specific MIDI apps' behalf, where most of them wouldn't set the dwBytesRecorded value of a MIDIHDR packet, fooling the driver into thinking it received a 0 bytes long message. The driver will now parse the size of the event by itself. (vanBasco seems to do this as well.)

New in OmniMIDI 6.0.50.0 (Nov 1, 2018)

  • Improved debug log system. The messages will now be easier to understand for normal people too.
  • Fixed issues that prevented long messages from being parsed, when using the driver in non-KDMAPI ready apps. (Eg. MIDI-OX)

New in OmniMIDI 6.0.49.0 (Nov 1, 2018)

  • Fixed error in the updater code, in the configurator.

New in OmniMIDI 6.0.48.0 (Oct 29, 2018)

  • Fixed issue that caused OmniMIDI to display an error whenever InitializeKDMAPIStream() was called, after closing it with TerminateKDMAPIStream().
  • Updated Windows Multimedia Wrapper. Please re-patch all your apps.
  • Updated debug info struct.

New in OmniMIDI 6.0.47.0 (Oct 29, 2018)

  • Fixed issue that caused some ASIO devices to crash when restarting the audio stream.
  • Updated KDMAPI check in the Windows Multimedia Wrapper. The old code marked everything but the minimum KDMAPI version required as incompatible (Updating to this version of OmniMIDI will show you what I'm talking about). The new patch should work fine whenever KDMAPI receives an update.
  • Fixed minor bugs here and there.

New in OmniMIDI 6.0.44.0 (Oct 18, 2018)

  • Fixed crashes when initializing or terminating the driver through KDMAPI twice.
  • Fixed issues with the Windows Multimedia Wrapper on some Windows XP installations. The patch would not work on Windows XP installs with the root partition set to a different letter than *C:*.
  • Minor bug fixes.

New in OmniMIDI 6.0.43.0 (Oct 15, 2018)

  • REGRESSION FROM 6.0.39: Fixed stack corruptions when using the KDMAPI functions. (Which made the Windows Multimedia Wrapper crash on boot when used with 32-bit apps.)
  • Fixed error in the Windows Multimedia Wrapper which made midiOutShortMsg return nothing, when using KDMAPI as output. (Some apps did not like that behavior.)

New in OmniMIDI 6.0.42.0 (Oct 15, 2018)

  • Fixed security breach that allowed potential viruses/malwares to tap into the MIDIHDR/long message functions, and to execute arbitrary code.
  • Minor bug fixes.

New in OmniMIDI 6.0.41.0 (Oct 15, 2018)

  • Fixed error in the OmniMIDI header file.
  • Fixed outdated x86 driver library.

New in OmniMIDI 6.0.36.0 (Oct 13, 2018)

  • Fixed debug log not working when using the Windows Multimedia Wrapper.
  • Fixed crash at startup, caused by a typo in the events buffer allocation system.
  • Minor bug fixes and performance improvements.

New in OmniMIDI 6.0.34.0 (Oct 12, 2018)

  • Fixed bad behavior of the driver, which always freed and reallocated the memory for both the events buffer and the sound buffer when restarting the stream (eg. for live settings changes), when not needed.
  • Replaced "OK" button with "Apply", in the ASIO device output selector window of the configurator. The output will not be set when switching them through the device list combobox, unless you specifically click "Apply".

New in OmniMIDI 6.0.33.0 (Oct 12, 2018)

  • Updated compatibility list for ASIO devices.
  • Fixed issue that caused the ASIO device selector window to crash, when trying to scan a device that refuses to be interrogated by BASSASIO.

New in OmniMIDI 6.0.32.0 (Oct 11, 2018)

  • Updated "Change default ASIO output" window, to give more information about the driver selected.

New in OmniMIDI 6.0.31.0 (Oct 11, 2018)

  • Minor changes to the configurator.

New in OmniMIDI 6.0.30.0 (Oct 8, 2018)

  • From WinMMWRP: Fixed multi-device issues when using the DAW patch.
  • Minor fixes to the changelog system, in the configurator.

New in OmniMIDI 6.0.29.0 (Oct 8, 2018)

  • Fixed issue with the changelog system.

New in OmniMIDI 6.0.28.0 (Oct 8, 2018)

  • Fixed issue that caused the log-in screen to crash, on Windows 10.
  • Minor changes to the changelog system in the configurator.
  • Minor changes to the blacklist system

New in OmniMIDI 6.0.25.0 (Oct 4, 2018)

  • Fixed issue that caused OmniMIDI to terminate LogonUI during the Windows log-in process, in some computers.
  • Added some system apps to the built-in blacklist.

New in OmniMIDI 6.0.24.0 (Oct 3, 2018)

  • Fixed issue that made the mixer in both the mixer window and configurator misbehave. (Caused by an undefined behavior in RegSetValueEx, when using a static DWORD shared by multiple threads as dwType.)
  • Fixed blacklist system misbehaving, and marking all apps as blacklisted.
  • Minor bug fixes.

New in OmniMIDI 6.0.23.0 (Oct 3, 2018)

  • Fixed bug that caused the live settings to get stuck in a constant applying state.
  • Minor bug fixes.

New in OmniMIDI 6.0.20.0 (Sep 28, 2018)

  • Fixed MIDI playback issue with OmniMIDI x86, caused by a corrupted BASS library.

New in OmniMIDI 6.0.19.0 (Sep 26, 2018)

  • Disabled playback buffering with the WASAPI engine, which should make it invulnerable to note spam. It should only drop notes now.
  • Renamed DirectSound to DirectX Audio.

New in OmniMIDI 6.0.18.0 (Sep 23, 2018)

  • Fixed crash/freeze when switching between normal and hyper-playback mode.
  • Merged StreamHealthCheck and RTSettings threads.
  • Minor bug fixes.

New in OmniMIDI 6.0.17.0 (Sep 21, 2018)

  • Fixed some issues with the live settings features.
  • Fatal errors now give more info to the user.

New in OmniMIDI 6.0.16.0 (Sep 20, 2018)

  • Fixed support for Realtek ASIO.
  • Finally got rid of the DriverHeart concept, which was here since I first forked it from BASSMIDI Driver v4.x. The thread only checks if the stream is alive, plus minor other checks. Now BASS is initialized directly from DoStartClient().

New in OmniMIDI 6.0.15.0 (Sep 19, 2018)

  • Minor changes to the error handler.

New in OmniMIDI 6.0.14.0 (Sep 17, 2018)

  • The driver now requires .NET Framework 4.5.2 to be installed.
  • Updated code for the UpdateSystem with Octokit.
  • Minor changes.

New in OmniMIDI 6.0.13.0 (Sep 15, 2018)

  • Ian from Un4seen: "SF2 always defines a cutoff value. BASSMIDI 2.4.13.25 now defaults to 13500 Hz for SFZ."
  • Updated BASS to version 2.4.11.10.
  • Fixed some issues with the Windows Multimedia patch window.

New in OmniMIDI 6.0.12.0 (Aug 28, 2018)

  • Fixed crash issue when a MIDI app calls midiOutClose().

New in OmniMIDI 6.0.11.0 (Aug 28, 2018)

  • Changelog:
  • Fixed ASIO bug that caused the entire driver to crash, when idle.
  • Fixed bug that caused the driver's main thread to get stuck every two restarts of the audio stream.
  • Fixed issue #106.

New in OmniMIDI 6.0.8.0 (Aug 27, 2018)

  • Fixed a bug that caused OmniMIDI to fail after midiOutClose() is called and the stream is reinitialized, when using the ASIO engine. (Error: KSGetRateASIO)
  • Minor cosmetic changes to the configurator.

New in OmniMIDI 6.0.7.0 (Aug 27, 2018)

  • Fixed issue that caused the driver to spawn multiple event processers and audio threads, when reloading the settings or when the MIDI app calls midiOutClose().
  • Minor bug fixes to the driver, and minor changes to the configurator.

New in OmniMIDI 6.0.6.0 (Aug 26, 2018)

  • Fixed issues with ASIO4ALL. Now it should exit properly.
  • Added warnings about what'd happen when abusing of the live changes feature, with the Hyper-playback mode enabled.
  • Made the "Close audio stream when midiOutClose() is called" checkbox force-enabled when using the ASIO engine, to follow the strict Steinberg ASIO standard. (It requires the stream to be completely freed manually, to close the app, otherwise, it might get stuck in a loop.)
  • Minor bug fixes.

New in OmniMIDI 6.0.3.0 (Aug 24, 2018)

  • Added synchronization between the event processer and the audio engine threads, to reduce the rendering time on weak systems. (It should not affect systems that were playing fine before this update)
  • Added some comments to the source code.

New in OmniMIDI 6.0.2.0 (Aug 16, 2018)

  • Removed bottleneck caused by some bad coding on my side, from the DAW patch. The KDMAPI Output will now perform the same as the Black MIDI patch, and the rest of the non-KDMAPI ports will perform the same as the stock Windows Multimedia API.
  • Fixed issue #101.

New in OmniMIDI 6.0.1.0 (Aug 2, 2018)

  • Fixed issue with the audio output selector, in the configurator.

New in OmniMIDI 6.0.0.0 (Jul 13, 2018)

  • Fixed one last issue in the configurator.
  • Removed deprecated tools.

New in OmniMIDI 5.1.2.0 (Jul 1, 2018)

  • Fixed an issue in the debug window, that always flagged "KDMAPI status" as idle.
  • Fixed MIDI header/long messages support when using the driver through the native Windows Multimedia library. (From 5.1.1.18)
  • You can now prevent the driver from going into sleep mode when midiOutClose() is called by a MIDI application. You can find the setting in "Settings tab > MIDI events parser settings > Close audio stream when midiOutClose() is called". (From 5.1.1.17)
  • Added more names to the masks system's dropdown menu. (From 5.1.1.16)
  • Made the volume monitor a bit fancier. (From 5.1.1.16)
  • Minor UI changes to the configurator. (From 5.1.1.14)
  • Fixed "Assign a soundfont list to a specific app". (From 5.1.1.12)
  • Fixed color issues with custom/high-contrast themes. (From 5.1.1.10 and 5.1.1.11)
  • Renamed Keppy's Synthesizer to OmniMIDI, and KSDirect API to Keppy's Direct MIDI API. (From 5.1.1.7)
  • Fixed issue that made the driver spawn multiple debug pipes, without freeing the old ones. (From 5.1.1.6)
  • Fixed issue that made the driver ignore MODM_CLOSE, making it eat system resources when not in use. (From 5.1.1.4)
  • TerminateKDMAPIStream should now work properly. (From 5.1.1.4)
  • Added two new KDMAPI functions, more about them in the documentation (From 5.1.1.4)
  • PrepareLongData
  • UnprepareLongData
  • Fixed some issues related to the Output to .WAV engine. (From 5.1.1.3)
  • Fixed issues with the import/export SoundFonts lists system. (From 5.1.1.2)
  • Added a test window, where you can test MIDI input devices and see if OmniMIDI detects the input events properly. You can also use it to play the piano without latency, since it uses KDMAPI to work. You can access this window by going into Tools > Test MIDI input and output. (From 5.1.1.2)
  • Fixed issue with Java and the Windows Multimedia Wrapper (Issue caused by Java, more of a workaround than a fix...). (From 5.1.1.1)

New in OmniMIDI 5.1.1.18 (Jun 17, 2018)

  • Fixed MIDI header/long messages support when using the driver through the native Windows Multimedia library.

New in OmniMIDI 5.1.1.16 (Jun 8, 2018)

  • Fixed changelog system not working properly, in the configurator.
  • Added more names to the masks system's dropdown menu.
  • Fixed minor bugs in the configurator.
  • Made the volume monitor a bit fancier.

New in OmniMIDI 5.1.1.15 (Jun 8, 2018)

  • Minor UI changes to the configurator.
  • Removed some test stuff added with CR14.

New in OmniMIDI 5.1.1.13 (Jun 7, 2018)

  • Fixed minor bugs.

New in OmniMIDI 5.1.1.11 (Jun 6, 2018)

  • Fixed color issues with custom themes.
  • Updated branding pictures.
  • Minor bug fixes.

New in OmniMIDI 5.1.1.6 (Jun 4, 2018)

  • Fixed issue that made the driver spawn multiple debug pipes, without freeing the old ones.

New in OmniMIDI 5.1.1.4 (Jun 4, 2018)

  • Changelog:
  • Fixed issue that made the driver ignore MODM_CLOSE, making it eat system resources when not in use.
  • TerminateKSStream should now work properly. (Related to the issue up here)
  • Added two new KSDAPI functions, more about them in the documentation:
  • PrepareLongData
  • UnprepareLongData

New in OmniMIDI 5.1.1.1 (Jun 1, 2018)

  • Fixed issue with Java and the Windows Multimedia Wrapper. (Issue caused by Java, more of a workaround than a fix...)

New in OmniMIDI 5.1.1.0 (May 31, 2018)

  • Fixed debug window showing "Rendering time: Unavailable" when using DirectSound.
  • Now the Windows Multimedia Wrapper wraps 3 more functions (From 5.1.0.23):
  • timeGetTime
  • timeGetSystemTime
  • timeGetDevCaps
  • Added DAW-ready version of the wrapper, which allows users tuse non-KSDAPI devices with the KSDAPI output. The KSDAPI output will still be faster than the other devices, but it'll perform worse than the non-DAW version of the wrapper. (From 5.1.0.21)
  • Added three new KSDAPI functions, more about them in the documentation (From 5.1.0.20):
  • ChangeDriverSettings
  • LoadCustomSoundFontsList
  • GetDriverDebugInfo
  • Migrated settings from "HKEY_CURRENT_USERSoftwareKeppy's SynthesizerSettings" t"HKEY_CURRENT_USERSoftwareKeppy's SynthesizerConfiguration". (From 5.1.0.18)
  • Removed support for upgrades from Keppy's Driver and Keppy's Synthesizer <4.4. (From 5.1.0.18)
  • Fixed abnormal CPU usage in the debug window. (From 5.1.0.16)
  • Switched from MicroSleep tNtDelayExecution. (From 5.1.0.16)
  • Fixed an issue that made the debug window freeze, when searching for debug pipes. (From 5.1.0.15)
  • Fixed ASIoutput selector not working properly on 64-bit installs of Windows, when 32-bit only ASIdrivers are installed. You have treconfigure the output. (From 5.1.0.12)
  • Improved audioutput quality and performance, when running the events parser (Notes catcher) and the audiengine together in the same thread. (From 5.1.0.8)
  • Replaced critical section with LightweightLock, which is faster and more reliable. (From 5.1.0.7)
  • You can now run the events parser system in the same thread as the ASIaudiengine. (From 5.1.0.6)
  • You can now disable sleep states in the events parser system to(Notes catcher thread). (From 5.1.0.6)
  • The debug log will only display driver-related functions. MIDI events will not be sent tthe log anymore. (From 5.1.0.4)
  • The driver now handles the preparation of the MIDIHDR buffers, instead of letting WinMM dthe work. This behavior is more reliable. (From 5.1.0.3)
  • Changed default size for the EV Buffer from 16384 t4096. (From 5.1.0.2)
  • Added hyper-playback mode. More infabout it in the "Advanced audisettings" toolbox, in the configurator. (From 5.1.0.1)

New in OmniMIDI 5.1.0.0 (May 16, 2018)

  • Update for all branches, including Delayed.
  • Changelog:
  • Added Windows Multimedia Wrapper to the driver! It's an awesome alternative to the ReactOS patch: it's faster, and supports MIDI Input too! You can access it by clicking Tools > Windows Multimedia Wrapper patch.
  • The events buffer system got an overhaul! It performs way better than before!
  • The source code is cleaner.
  • Other minor stuff that no one cares about.

New in OmniMIDI 5.0.4.7 (May 15, 2018)

  • The "old buffer" is now called "Notes catcher inside the audio engine thread" (Or NCItAET, ).
  • Improved performance in the events parser system.

New in OmniMIDI 5.0.4.6 (May 14, 2018)

  • MIDI long messages are now buffered, thanks *PSono**. 👀
  • Improved EVBuffer code.

New in OmniMIDI 5.0.4.5 (May 2, 2018)

  • Fixed an issue in the MIDI events parser.

New in OmniMIDI 5.0.4.3 (May 1, 2018)

  • Improved performance.
  • Removed legacy code.
  • Fixed issue with the uninstaller icon, in the start menu/screen.

New in OmniMIDI 5.0.4.2 (May 1, 2018)

  • More fixes for vanBasco...
  • Updated wrapper, please repatch your apps again.

New in OmniMIDI 5.0.4.1 (May 1, 2018)

  • More fixes for vanBasco...
  • Updated wrapper, please repatch your apps again.

New in OmniMIDI 5.0.4.0 (Apr 30, 2018)

  • Updated wrapper, all the canary branch users should remove the old version and install the latest one.
  • Reverted change from version 5.0.2.7. The driver will now load the SoundFonts into memory first, then start the program. This should fix the driver skipping some SysEx events at startup. (From 5.0.3.36)
  • Improved performance when using the slow down playback option. (From 5.0.3.25)
  • Fixed issue that caused the debug window to not parse the debug info, on locales using periods instead of commas as decimal separator. (From 5.0.3.24)
  • Improved speed of the MIDI events parser thread, which increases the resolution at which they get played. (From 5.0.3.23)
  • Reduced CPU usage of the driver. (From 5.0.3.23)
  • Removed legacy code from the configurator. (From 5.0.3.22)
  • Removed Node.js and Mozilla Firefox from the default blacklist. (From 5.0.3.21)
  • Removed DLL override feature. (From 5.0.3.20)
  • Removed LoudMax, since it's not needed anymore. (From 5.0.3.19)
  • Fixed abnormal CPU usage in the settings loader thread. (From 5.0.3.16)
  • Improved refresh rate of the debug pipe. (From 5.0.3.15 and 5.0.3.23)
  • Added Windows Multimedia Wrapper patch, a direct replacement of the old ReactOS patch. (From 5.0.3.13)
  • KSDirect API documentation now available to developers. (From 5.0.3.7)

New in OmniMIDI 5.0.3.39 (Apr 29, 2018)

  • Fixed some issues in the debug window.

New in OmniMIDI 5.0.3.38 (Apr 29, 2018)

  • Updated wrapper, and fixed some crashes caused by long messages, when using it with vanBasco Karaoke Player.
  • Fixed app info not showing up when using the wrapper, in the debug window.

New in OmniMIDI 5.0.3.37 (Apr 29, 2018)

  • The wrapper now completely replaces the MIDI out system, thus hardwiring everything to Keppy's Synthesizer. The only output available now is "KSDAPI Output".
  • Minor bug fixes.

New in OmniMIDI 5.0.3.36 (Apr 28, 2018)

  • Changelog:
  • Fixed serious bug in the wrapper, that could lead to random negative seeks during playback, in applications such as Piano From Above. Please repatch any application that makes use of the wrapper.
  • Fixed support for 16-bit applications with the wrapper. It should now work fine on 32-bit OSes.
  • Reverted change from version 5.0.2.7. The driver will now load the SoundFonts into memory first, then start the program. This should fix the driver skipping some SysEx events at startup.

New in OmniMIDI 5.0.3.34 (Apr 27, 2018)

  • Updated timeGetTime function in the Windows Multimedia Wrapper.
  • Minor bug fixes to the driver.

New in OmniMIDI 5.0.3.31 (Apr 26, 2018)

  • Another performance update for the wrapper. Please patch again. I swear, this is the last one! 👀
  • Minor bug fixes.

New in OmniMIDI 5.0.3.30 (Apr 26, 2018)

  • Updated Wrapper patch, it doesn't require a copy of the original WinMM (Automatically copied by the configurator, called OWINMM.DLL) anymore. This should allow patched programs to work properly even after an O.S. upgrade.

New in OmniMIDI 5.0.3.29 (Apr 26, 2018)

  • I did it! I finally managed to get rid of the ReactOS-based WinMM patch! The wrapper performs BETTER too! You can safely patch your apps without having the fear of losing MIDI Input support.
  • Optimized runtime code together with Sono.

New in OmniMIDI 5.0.3.28 (Apr 24, 2018)

  • Changelog:
  • Update to the ReactOS patch, please repatch every program you have that makes use of it. (More info down below)
  • Added SendDirectLongData back to the driver.
  • ReactOS has a flawed implementation of the following WinMM functions:
  • midiOutPrepareHeader
  • midiOutUnprepareHeader
  • To fix the random crashes on, for example, MIDITrail, when using the patch, I had to literally remove the entire function, and replace it with a generic "return MMSYSERR_NOERROR;", and replace midiOutLongMsg with a function from the KSDirect API, which skips the first unprepared MIDIHDR pointer, and prepares the pointer by itself.
  • This workaround should probably not break GM/XG support on apps using the patch, but I won't make promises I can't keep!
  • P.S.: The wrapper is not affected.

New in OmniMIDI 5.0.3.26 (Apr 22, 2018)

  • Fixed regression that caused the slow down playback option to behave erratically.
  • Improved performance when using the slow down playback option. (From 5.0.3.25)

New in OmniMIDI 5.0.3.24 (Apr 22, 2018)

  • Fixed issue that caused the debug window to not parse the debug info, on locales using periods instead of commas as decimal separator.

New in OmniMIDI 5.0.3.21 (Apr 20, 2018)

  • Removed Node.js and Mozilla Firefox from the default blacklist.
  • Minor updates to the KSDirect API documentation.

New in OmniMIDI 5.0.3.20 (Apr 17, 2018)

  • Changelog:
  • Removed DLL override feature.
  • Removed SendDirectLongData/SendDirectLongDataNoBuf function from the KSDirect API.
  • Minor bug fixes.
  • KSDirect API has been updated, so you'll have to repatch each program you patched before.

New in OmniMIDI 5.0.3.19 (Apr 13, 2018)

  • Changelog:
  • Updated configurator.
  • Updated BASS libraries.
  • Removed LoudMax, since it's not needed anymore.
  • Minor bug fixes.

New in OmniMIDI 5.0.3.18 (Apr 12, 2018)

  • Fixed issue with the "App's working set size" value, in the debug window.

New in OmniMIDI 5.0.3.16 (Apr 10, 2018)

  • Fixed abnormal CPU usage in the settings loader thread.

New in OmniMIDI 5.0.3.5 (Apr 6, 2018)

  • Minor bug fixes to the debug window.
  • Optimized driver code.

New in OmniMIDI 5.0.3.4 (Apr 6, 2018)

  • Fixed some bugs in the configurator.

New in OmniMIDI 5.0.3.3 (Apr 6, 2018)

  • Fixed issues when installing Keppy's Synthesizer, under Windows Vista and 7.
  • Fixed crashes caused by the debug window, under Windows Vista and 7.
  • Minor bug fixes.

New in OmniMIDI 5.0.3.2 (Apr 4, 2018)

  • Fixed issue that caused some apps to crash, when sending MIDI data to the driver.

New in OmniMIDI 5.0.3.1 (Apr 2, 2018)

  • Fixed abnormal CPU usage, in the debug window.

New in OmniMIDI 5.0.3 (Apr 2, 2018)

  • Fixed issue with the live changes feature.
  • Fixed some issues with the debug window.
  • Replaced debug system with Windows pipes. It doesn't rely on the system registry anymore, so multiple apps can output their debug info at once! (From 5.0.2.12)
  • You can now fine tune the volume through the volume knob, using the mouse scroll wheel. Holding SHIFT will make each scroll change the value by 5%, while holding CTRL will make it change by 0.5%. (From 5.0.2.9)
  • Fixed bug in the SoundFonts chain system. (From 5.0.2.8)
  • Fixed issue with the changelog parser and the updater. (From 5.0.2.8)
  • The driver will now start the program first, then load the SoundFonts into memory. (From 5.0.2.7)
  • You can now change the volume knob value with the mouse scroll wheel. (From 5.0.2.7)
  • Fixed an issue that caused apps to get full control over the volume knob. (From 5.0.2.4)
  • Replaced double-click action with right-click menu, in the volume knob. (From 5.0.2.3)
  • Added volume boost function to the knob. (From 5.0.2.3)
  • Updated BASSMIDI library. (From 5.0.2.2)
  • You can now force reload the settings by holding CTRL, while clicking "Apply settings" in the "Settings" tab. (From 5.0.2.2)
  • Fixed an issue that prevented DirectSound from working, caused by the latest BASS update. (From 5.0.2.1)
  • Removed BASSWASAPI, which got replaced by BASS. BASS now supports WASAPI natively. ? (From 5.0.2.1)

New in OmniMIDI 5.0.2.13 (Mar 31, 2018)

  • Fixed issue with the debug window, which would cause it to display a messagebox with the following text: "A".
  • Fixed issue with the configurator and the live changes feature, that would cause the settings to fail to apply on some configurations.
  • Minor bug fixes.

New in OmniMIDI 5.0.2.10 (Mar 24, 2018)

  • Minor bug fixes to the error catcher.
  • Minor changes to the debug window.

New in OmniMIDI 5.0.2.9 (Mar 19, 2018)

  • Fixed bug that allowed users to set a negative volume value, when using the mouse scroll wheel on the volume knob.
  • You can now fine tune the volume through the volume knob, using the mouse scroll wheel. Holding SHIFT will make each scroll change the value by 5%, while holding CTRL will make it change by 0.5%.

New in OmniMIDI 5.0.2.8 (Mar 18, 2018)

  • Fixed bug in the SoundFonts chain system.
  • Fixed issue with the changelog parser and the updater.
  • Other minor changes to the configurator, the mixer and the debug window.

New in OmniMIDI 5.0.2.6 (Mar 9, 2018)

  • Updated PayPal donation link.

New in OmniMIDI 5.0.2.5 (Feb 22, 2018)

  • The configurator should now save and retain the Discord Rich Presence setting.

New in OmniMIDI 5.0.2.4 (Feb 22, 2018)

  • Added Rich Presence support to the configurator. I'll slowly integrate it with the driver's DLL too.
  • Fixed an issue that caused apps to get full control over the volume knob.
  • Minor bug fixes.

New in OmniMIDI 5.0.2.3 (Feb 21, 2018)

  • Replaced double-click action with right-click menu, in the volume knob.
  • Added volume boost function to the knob.
  • Minor bug fixes.

New in OmniMIDI 5.0.2.2 (Feb 18, 2018)

  • Updated BASSMIDI library.
  • Minor bug fixes.
  • You can now force reload the settings by holding CTRL, while clicking "Apply settings" in the "Settings" tab.

New in OmniMIDI 5.0.2.1 (Feb 17, 2018)

  • Fixed an issue that prevented DirectSound from working, caused by the latest BASS update. (I forgot to read the changelog, DUH!!!)
  • Minor bug fixes to the configurator.
  • Removed BASSWASAPI, which got replaced by BASS. BASS now supports WASAPI natively. ?
  • The GitHub bot can now embed links in my Discord server! Hooray!

New in OmniMIDI 5.0.2.0 (Feb 15, 2018)

  • Updated BASS.
  • The volume knob now will not affect the volume of the device, but rather the audio stream itself (With all the engines). It will also affect the VU meter.

New in OmniMIDI 5.0.1.0 (Jan 29, 2018)

  • Changelog:
  • Updated telemetry system.
  • Minor bug fixes.

New in OmniMIDI 5.0.0.4 (Jan 9, 2018)

  • You can now change the update frequency of the peak meter, in the mixer. (Settings Set update frequency)
  • Minor cosmetic changes to the debug window.

New in OmniMIDI 5.0.0.3 (Jan 8, 2018)

  • Fixed some bugs in the configurator, related to the default audio output.

New in OmniMIDI 5.0.0.2 (Jan 7, 2018)

  • DirectSound is officially deprecated, along with all its features.
  • Minor changes to the configurator.

New in OmniMIDI 5.0.0.1 (Jan 7, 2018)

  • Fixed an issue that caused the default buffer to stop working, after switching between default and old buffer.
  • Fixed various handle leaks.

New in OmniMIDI 5.0.0.0 (Jan 3, 2018)

  • Improved performance with DirectSound, when using the new buffer.
  • Small bug fixes.

New in OmniMIDI 4.5.2.2 (Dec 5, 2017)

  • Addressed issue in the configurator.

New in OmniMIDI 4.5.2.1 (Dec 4, 2017)

  • Changelog:
  • Updated BASSWASAPI to version 2.4.2.0.

New in OmniMIDI 4.5.2.0 (Dec 2, 2017)

  • Fixed crash when loading really big SoundFont lists. (From 4.5.1.3)
  • Added copypaste features between lists, to the configurator. (From 4.5.1.3)
  • You can now double click the volume knob, to fine tune it. (From 4.5.1.2)
  • Updated icons. (From 4.5.1.1)
  • NEW (From 4.5.1.2)
  • Added two new functions to the DLL, called SendDirectData and SendDirectLongData.
  • Each one accepts MIDI parameters in DWORD form, just like the Windows Multimedia API.
  • It's a good way to skip the slow buffer in WinMM.

New in OmniMIDI 4.5.1.3 (Nov 20, 2017)

  • Changelog:
  • Fixed crash when loading really big SoundFont lists.
  • Added copypaste features between lists, to the configurator.

New in OmniMIDI 4.5.1.2 (Nov 18, 2017)

  • Changelog:
  • You can now double click the volume knob, to fine tune it.
  • NEW:
  • Added two new functions to the DLL, called SendDirectData and SendDirectLongData.
  • Each one accepts MIDI parameters in DWORD form, just like the Windows Multimedia API.
  • It's a good way to skip the slow buffer in WinMM.

New in OmniMIDI 4.5.1.1 (Nov 17, 2017)

  • Updated icons

New in OmniMIDI 4.5.1.0 (Nov 6, 2017)

  • Updated error reporting system. It'll now give you solutions about how to fix the issue.
  • Minor bug fixes.
  • Updated Windows SDK to version 16299.15. (From 4.5.0.2)
  • Added more settings for the debug log. (From 4.5.0.2)
  • Added stripped down version of the mixer to the configurator, useful when you don't want to switch between the two windows. The dedicated mixer is still available, it'll not be removed. (From 4.5.0.1)
  • Minor bug fixes. (From 4.5.0.1)
  • Added easter eggs. (From 4.5.0.1)

New in OmniMIDI 4.5.0.2 (Oct 15, 2017)

  • Updated Windows SDK to version 16299.15.
  • Added more settings for the debug log.

New in OmniMIDI 4.5.0.1 (Oct 8, 2017)

  • Added stripped down version of the mixer to the configurator, useful when you don't want to switch between the two windows. The dedicated mixer is still available, it'll not be removed.
  • Minor bug fixes.
  • Added easter eggs.

New in OmniMIDI 4.5.0 (Oct 2, 2017)

  • The update system for Keppy's Synthesizer has been changed:
  • The canary branch will stay as is, and I'll publish updates anytime one's needed
  • The normal branch will get updates every month, to make sure people don't get spammed with them too much. (In the past, I used to publish 3 normal releases in one week!)
  • The delayed branch will get updates every 3 or more months, depending on the updates' priority.
  • Changelog:
  • Fixed some bugs in the configurator.
  • 🥚 (From 4.4.2.5)
  • Expanded the mixer window's functionality. (From 4.4.2.4)
  • You can now change the bank/instrument of a channel through the mixer window. Go to "Settings > Override instruments". (From 4.4.2.3)
  • Added driver utilities to the blacklist. (From 4.4.2.1)
  • Fixed a bug in the presets system. (From 4.4.2.1)

New in OmniMIDI 4.4.2.4 (Sep 27, 2017)

  • Expanded the mixer window's functionality.
  • Fixed some bugs in the mixer window.

New in OmniMIDI 4.4.2.0 (Sep 22, 2017)

  • Fixed the SoundFonts lists assigner system not working correctly.
  • Minor bug fixes.
  • You can now change both PID and VID of the driver, in the "Mask synthesizer as another" window. Pretty useful for apps that are hardwired to specific devices. (From 4.4.1.8)
  • Added Hardware ID bans to telemetry system, (From 4.4.1.7)
  • Updated telemetry system. Old releases will be unable to send data. (From 4.4.1.7)
  • Fixed configurator not working anymore, after opening it once. (From 4.4.1.6)
  • MT-32 mode is now available. It'll automatically set the channels to the default MT-32 instruments, that most devices use at boot. (From 4.4.1.5)
  • Updated debug mode. (From 4.4.1.4)
  • Improved usability for visually impaired users. (Thanks Mason for the report!) (From 4.4.1.3)
  • Removed XAudio2 and fixed some memory leaks. (From 4.4.1.2)
  • Added live settings changes feature. You can change almost all the settings while a MIDI application is already running. (From 4.4.1.1 and 4.4.1.2)

New in OmniMIDI 4.4.1.8 (Sep 11, 2017)

  • You can now change both PID and VID of the driver, in the "Mask synthesizer as another" window. Pretty useful for apps that are hardwired to specific devices.

New in OmniMIDI 4.4.1.6 (Sep 10, 2017)

  • Fixed configurator not working anymore, after opening it once.
  • Minor bug fixes.

New in OmniMIDI 4.4.1.4 (Sep 6, 2017)

  • Updated debug mode.
  • Minor bug fixes to the driver.

New in OmniMIDI 4.4.1.3 (Sep 4, 2017)

  • Improved usability for visually impaired users. (Thanks Mason for the report!)
  • Minor bug fixes.

New in OmniMIDI 4.4.1.2 (Sep 1, 2017)

  • Removed XAudio2.
  • Added live settings changes feature. You can change almost all the settings while a MIDI application is already running.
  • Fixed memory leaks.
  • The live changes feature is in beta. Please don't play too much with it, since it might crash your MIDI applications.

New in OmniMIDI 4.4.1.1 (Aug 31, 2017)

  • Removed XAudio2.
  • You can now change almost all the settings while an app is already running! Give it a try.
  • Warning, the driver might be unstable. This is non-production ready.

New in OmniMIDI 4.4.1.0 (Aug 30, 2017)

  • Minor bug fixes.
  • Minor changes to the ASIO output device window.
  • Added ASIO latency info to the debug window, when using the ASIO engine. (From 4.4.0.6)
  • Fixed bug in the "Black MIDI" preset. (From 4.4.0.5)
  • Fixed default blacklist not being downloaded in the right directory. (From 4.4.0.5)
  • Fixed debug mode not creating the log files under Windows Vista and 7. (From 4.4.0.4)
  • Boosted performance, thanks to the latest updates to the BASS libraries. (From 4.4.0.4)
  • Updated BASS to version 2.4.12.30, BASSMIDI to version 2.4.11.3, BASSenc to version 2.4.13.4, BASSASIO to version 1.3.1.7 and BASSWASAPI to version 2.4.1.7. (From 4.4.0.4)
  • Added ban system to the telemetry tool. If your PC/user profile/MAC address is banned, you won't be able to send the data. (From 4.4.0.3)
  • The telemetry program will also get the MAC Address now, to block spammers from using it. (From 4.4.0.2)
  • The telemetry program will now get a list of all the sound cards installed on the system, and will also allow the user to pick the one he uses by default (Or he uses the most). (From 4.4.0.2)
  • Removed useless stuff that had nothing to do with the driver. (From 4.4.0.1)
  • Improved configurator performance at startup. (From 4.4.0.1)
  • You can now disable the auto-load feature of the list editor. (From 4.4.0.1)
  • Expanded "Presets" features, in the "Settings" tab. You can now save your own presets to .kspr files, or import them from other people.

New in OmniMIDI 4.4.0.7 (Aug 25, 2017)

  • Fixed regression from version 4.4.0.6, that made KS unable to use any engine other than ASIO.

New in OmniMIDI 4.4.0.0 (Aug 20, 2017)

  • Added new telemetry feature, which you can access by going to Feedback > Help Keppy by sending telemetry data. The driver will not gather telemetry data without the user's intervention.
  • Minor bug fixes to the configurator.

New in OmniMIDI 4.3.4.5 (Aug 16, 2017)

  • Minor changes to the configurator.
  • Minor bug fixes to the configurator.
  • Configurator.

New in OmniMIDI 4.3.4.3 (Aug 14, 2017)

  • Added easter egg.
  • Now the settings presets should be more organized, also added a new one.

New in OmniMIDI 4.3.4.2 (Aug 13, 2017)

  • Fixed rendering issue when using Windows 7 with the classic theme, in the configurator.

New in OmniMIDI 4.3.4.1 (Aug 11, 2017)

  • Fixed error dialogs not appearing, and closing the apps instead.

New in OmniMIDI 4.3.4.0 (Aug 10, 2017)

  • Small UI updates.
  • Minor bug fixes.
  • Fixed crash when removing SoundFonts while dragging one of them around the list. (From 4.3.3.5 and 4.3.3.6)
  • Fixed driver signature system not working correctly. (From 4.3.3.5)
  • Removed automatic update check when starting the configurator, and replaced it with a small icon at the bottom right of its window. (From 4.3.3.4)
  • Updated self-signed certificate to SHA512. (From 4.3.3.3)
  • Added self-signed certificate menu item to the configurator. (From 4.3.3.3)
  • Updated blacklist system. (From 4.3.3.2)
  • Fixed configurator recreating the SoundFont list, when one of the SoundFonts is missing. (From 4.3.3.1)
  • Fixed driver crashing when trying to load a missing SoundFont. (From 4.3.3.1)

New in OmniMIDI 4.3.3.6 (Aug 9, 2017)

  • Fixed error when trying to remove SoundFonts with the UI button, caused by the latest update.

New in OmniMIDI 4.3.3.5 (Aug 9, 2017)

  • Fixed crash when removing SoundFonts while dragging one of them around the list.
  • Fixed driver signature system not working correctly.

New in OmniMIDI 4.3.3.4 (Aug 1, 2017)

  • Removed automatic update check when starting the configurator, and replaced it with a small icon at the bottom right of its window.

New in OmniMIDI 4.3.3.3 (Jul 29, 2017)

  • Updated self-signed certificate to SHA512.
  • Added self-signed certificate menu item to the configurator.

New in OmniMIDI 4.3.3.2 (Jul 29, 2017)

  • Updated blacklist system.
  • Minor bug fixes.

New in OmniMIDI 4.3.3.1 (Jul 26, 2017)

  • Fixed configurator recreating the SoundFont list, when one of the SoundFonts is missing.
  • Fixed driver crashing when trying to load a missing SoundFont.
  • Minor bug fixes.

New in OmniMIDI 4.3.3.0 (Jul 24, 2017)

  • Updated BASSMIDI to version 2.4.12.27, to fix a SysEx exploit that could crash the driver. (Affected XG SysEx message: F043104C020124FFF7)
  • Updated BASS to version 2.4.11.2.
  • Fixed buffer underruns issues with default audio drivers, when using WASAPI. (From 4.3.2.3)
  • Fixed "Limit to 88 keys" option not working properly. (From 4.3.2.2)
  • Fixed random crashes with 32-bit applications. (From 4.3.2.1)
  • Fixed pitch issues with XAudio, on some computers. (From 4.3.2.1)

New in OmniMIDI 4.3.2.3 (Jul 20, 2017)

  • Fixed buffer underruns issues with default audio drivers, when using WASAPI.

New in OmniMIDI 4.3.2.2 (Jul 20, 2017)

  • Fixed buffer underruns issues with default audio drivers, when using WASAPI.

New in OmniMIDI 4.3.2.1 (Jul 17, 2017)

  • Fixed random crashes with 32-bit applications.
  • Fixed pitch issues with XAudio, on some computers.

New in OmniMIDI 4.3.2.0 (Jul 12, 2017)

  • Fixed a bug that caused DirectSound to not work.

New in OmniMIDI 4.3.1.3 (Jul 11, 2017)

  • You can now enable/disable the performance boost manually, by going to "More settings > Enable performance boost".

New in OmniMIDI 4.3.1.1 (Jul 8, 2017)

  • Minor fixes to the driver.

New in OmniMIDI 4.3.1.0 (Jul 7, 2017)

  • Fixed issue that caused some apps to stream MIDI events directly (through midiStreamOut, which is unsupported).

New in OmniMIDI 4.3.0.7 (Jul 5, 2017)

  • Fixed upgrade issues caused by Inno Setup, in version 4.3.0.6.
  • Fixed an issue in the debug window, that caused it to refresh incorrectly, making it unresponsive.
  • Added checkbox that allows users to disable the "process.exe is blacklisted" message, in the blacklist manager.

New in OmniMIDI 4.3.0.6 (Jul 4, 2017)

  • New EV buffer setting window, where you can change the size of the EV buffer (in bytes) and its division ratio.
  • Small bug fixes.

New in OmniMIDI 4.3.0.5 (Jul 3, 2017)

  • Scrapped idea of live critical settings changes.
  • Fixed crashes on both 32-bit and 64-bit apps when playing really big MIDIs.

New in OmniMIDI 4.2.1.4 (Jun 26, 2017)

  • WASAPI will now be the default audio engine for new users.
  • Installing LoudMax doesn't require an Internet connection anymore.

New in OmniMIDI 4.2.1.3 (Jun 21, 2017)

  • Fixed an issue with the LoudMax downloader.

New in OmniMIDI 4.2.1.2 (Jun 19, 2017)

  • Fixed an issue with the debug window.

New in OmniMIDI 4.2.1.1 (Jun 12, 2017)

  • Fixed ".WAV mode" not working when enabling it while an engine other than XAudio2 is selected.

New in OmniMIDI 4.2.1.0 (Jun 9, 2017)

  • Fixed a serious bug that could cause the synthesizer, along with the hosting application, to crash, when using BASS-based VST effects/instruments on DAWs. (Thank you TheSuperMarioBros2 for reporting the bug.)
  • The synthesizer should be more stable now.

New in OmniMIDI 4.2.0.3 (Jun 9, 2017)

  • Fixed issues with the ReactOS WinMM patch and Cheat Engine.

New in OmniMIDI 4.2.0.2 (Jun 7, 2017)

  • WASAPI: Fixed pitch issues when using computers with more than 2 speakers. (2.1, 4.0, 5.1, 7.1, etc.)

New in OmniMIDI 4.2.0.1 (Jun 7, 2017)

  • Small changes to the UI.
  • Fixed MIDI driver not being recognized by Opera.

New in OmniMIDI 4.2.0.0 (Jun 6, 2017)

  • Major UI overhaul for the configurator. Read the changes down below.
  • You can now enable the output level meter in the configurator, by going to "More settings > Show output level meter".
  • Replaced volume slider with a knob. You can still access the slider by right-clicking the knob.
  • Updated blacklist manager.
  • Made the buttons of the SoundFonts lists editor smaller.
  • Fixed a bug that prevented users in both "Delay" and "Normal" branches from updating the synthesizer. (From 4.1.6.4)
  • Fixed a bug in the configurator, that caused it to lose all the settings when set to ".WAV mode". (From 4.1.6.3)
  • Restored "Change default audio output" window for DirectSound.. (From 4.1.6.2)
  • Moved default blacklist from "X:Windows" to "X:WindowsSysWOW64keppysynth", and renamed it from "keppymididrv.defaultblacklist" to "keppysynth.dbl". (From 4.1.6.2)
  • Improved error dialog. (From 4.1.6.1)
  • Fixed an issue with the changelog and the updater system. (From 4.1.6.1)

New in OmniMIDI 4.1.6.4 (Jun 5, 2017)

  • Fixed a bug that prevented users in both "Delay" and "Normal" branches from updating the synthesizer.

New in OmniMIDI 4.1.6.3 (Jun 2, 2017)

  • Fixed a bug in the configurator, that caused it to lose all the settings when set to ".WAV mode".
  • Minor bug fixes.

New in OmniMIDI 4.1.6.2 (May 29, 2017)

  • Changelog:
  • Restored "Change default audio output" window for DirectSound.
  • You can now download the latest blacklist by holding SHIFT when clicking "How can I edit the default blacklist?", in the "Blacklist manager" window.
  • Moved blacklist from "X:Windows" to "X:WindowsSysWOW64keppysynth", and renamed it from "keppymididrv.defaultblacklist" to "keppysynth.dbl".
  • Minor cosmetic changes to the configurator.
  • Minor bug fixes.

New in OmniMIDI 4.1.6.1 (May 27, 2017)

  • Improved error dialog.
  • Fixed an issue with the changelog and the updater system.

New in OmniMIDI 4.1.6.0 (May 27, 2017)

  • Small UI changes to the configurator.
  • BETA: The configurator is now able to parse the size of SFZ SoundFonts.
  • Fixed pitch issues when using WASAPI. (From 4.1.5.4)
  • Added DirectSound back to the audio engines list. Read below. (From 4.1.5.5)
  • Added function that allows users to limit the keys to 88, instead of 128 (Useful for Black MIDIs with lot of spam notes between notes 0-21 and 108-127). It will not affect the drum channel 10. (From 4.1.5.7)
  • New update only executable, useful for people without admin permissions who can't install the full version of the synthesizer. This version will also be used by the update system. (From 4.1.5.8)
  • Fixed a bug that caused the "Open SoundFont parent directory" menu item to not work with SFZ SoundFonts. (From 4.1.5.9)
  • Fixed an error that caused the spatial sound menu item to be shown on Windows 10 Build 14393 and older. (From 4.1.5.11)

New in OmniMIDI 4.1.5.11 (May 25, 2017)

  • Fixed an error that caused the spatial sound menu item to be shown on Windows 10 Build 14393 and older.

New in OmniMIDI 4.1.5.10 (May 24, 2017)

  • Added Patreon buttons to the configurator.
  • Fixed a bug in the setup that caused it to associate KSDriverRegister.exe to SoundFont files, instead of KeppySynthConfigurator.exe.
  • Minor cosmetic changes.

New in OmniMIDI 4.1.5.9 (May 24, 2017)

  • You can now associate SoundFont files to the configurator. Double-clicking them will make the configurator ask you if you want to them to a list. You can add multiple SoundFonts at once.
  • Fixed a bug that caused the "Open SoundFont parent directory" to not work with SFZ SoundFonts.
  • Fixed minor bugs.

New in OmniMIDI 4.1.5.8 (May 22, 2017)

  • New update only executable, useful for people without admin permissions who can't install the full version of the synthesizer. This version will also be used by the update system.
  • Minor cosmetic changes to the configurator.

New in OmniMIDI 4.1.5.7 (May 19, 2017)

  • Added function that allows users to limit the keys to 88, instead of 128 (Useful for Black MIDIs with lot of spam notes between notes 0-21 and 108-127). It will not affect the drum channel 10.
  • Minor bug fixes to the configurator.

New in OmniMIDI 4.1.5.6 (May 15, 2017)

  • Fixed a bug that made the debug window crash when setting the engine to DirectSound.
  • Fixed DirectSound and XAudio stopping playing notes after switching between the old and new buffer.

New in OmniMIDI 4.1.5.2 (May 11, 2017)

  • Fixed font rendering issues for the small volume value.
  • Fixed presets not loading correctly.
  • Fixed percentage and "Volume:" labels not moving when resizing the configurator's window.
  • Fixed configurator not loading the settings when upgrading from a DirectSound-enabled version of the driver.

New in OmniMIDI 4.1.5.1 (May 11, 2017)

  • Minor cosmetic change to the configurator.

New in OmniMIDI 4.1.5.0 (May 10, 2017)

  • Changelog:
  • Fixed all issues with GS/GM/XG events. The driver will now parse them all correctly. (From 4.1.4.1)
  • Fixed import/export settings system not working correctly. (From 4.1.4.9)
  • Added support for ASIO and WASAPI. (From 4.1.4.12 and 4.1.4.13)
  • Removed DirectSound engine in favor of ASIO, WASAPI and XAudio. (From 4.1.4.23)
  • Updated BASS library to version 2.4.12.21. (From 4.1.4.25)
  • Updated WinMM patch. (From 4.1.4.25)
  • Fixed BASS/BASSASIO error dialog showing random Chinese characters.
  • WARNING:
  • If you're a DirectSound user, you'll not be able to use the synthesizer until you select one of the 3 latest engines.
  • Thanks to all the users from the Canary branch for helping me testing the new engines!

New in OmniMIDI 4.1.4.27 (May 9, 2017)

  • ASIO: You'll only be able to set the buffer size from the ASIO driver itself.
  • Small bug fixes.

New in OmniMIDI 4.1.4.26 (May 8, 2017)

  • Fixed BASS/BASSASIO error window not showing the correct description.

New in OmniMIDI 4.1.4.24 (May 6, 2017)

  • Restored "Default WASAPI output device" item in the "Change default WASAPI audio output" window. It should work fine now.

New in OmniMIDI 4.1.4.23 (May 5, 2017)

  • The DirectSound engine has been deprecated, in favor of XAudio, ASIO and WASAPI. The driver will not work until you set one of the new engines.
  • The old buffer mode has been deprecated, in favor of the new buffer mode, which is now 100% stable.
  • Minor bug fixes to the configurator and the driver.

New in OmniMIDI 4.1.4.22 (May 4, 2017)

  • Added link that redirects users to the supported ASIO devices list, in the "Change default ASIO output device" window.
  • Fixed errors not showing the right description.
  • Fixed corrupted audio output when using ASIO4ALL.

New in OmniMIDI 4.1.4.21 (May 4, 2017)

  • Update to the WASAPI engine.
  • Minor bug fixes.

New in OmniMIDI 4.1.4.18 (May 3, 2017)

  • WASAPI will now use the default frequency set in the "Audio" control panel applet, instead of relying on the frequency of the configurator. (BASSWASAPI can not open a device, if the frequency of the stream is different from the frequency of the sound card.)
  • Minor bug fixes.

New in OmniMIDI 4.1.4.16 (May 3, 2017)

  • Minor fixes to the WASAPI/ASIO engines, and to the configurator.

New in OmniMIDI 4.1.4.15 (May 2, 2017)

  • Added support for exclusive mode with the WASAPI engine.
  • Fixed a glitch that allowed users to set WASAPI and ASIO to mono, increasing the audio pitch by ^2.

New in OmniMIDI 4.1.4.14 (May 2, 2017)

  • Fixed ASIO and WASAPI not outputting audio when using a different audio bit depth than 32-bit float.
  • Fixed buffer setting not giving hints to the user, when the engine is set to WASAPI.

New in OmniMIDI 4.1.4.13 (May 2, 2017)

  • BETA: Preliminary support for WASAPI.
  • Fixed volume not changing when using ASIO.
  • Minor bug fixes.

New in OmniMIDI 4.1.4.12 (May 2, 2017)

  • BETA: Preliminary support for ASIO.
  • Small bug fixes to the configurator.

New in OmniMIDI 4.1.4.11 (May 2, 2017)

  • Fixed buttons not being drawn correctly. (Missing icons)

New in OmniMIDI 4.1.4.10 (May 2, 2017)

  • Updated tick system of the ReactOS patch, again. Thanks mdsitton for helping me with it.
  • Stripped down ReactOS patch to its bare essentials, to save up space and reduce DLL clutter in the patched program's directory.
  • Small bug fixes to the configurator.

New in OmniMIDI 4.1.4.9 (May 2, 2017)

  • Added 7 Days to Die, Snagit Editor and Call of Duty: Black Ops 2 - Zombies to the blacklist.
  • Fixed import/export settings system not working correctly.

New in OmniMIDI 4.1.4.8 (May 2, 2017)

  • Updated tick system in the ReactOS patch, please update your patched apps again.
  • Small bug fixes.

New in OmniMIDI 4.1.4.7 (May 2, 2017)

  • Fixed frame stuttering issue in the ReactOS patch.
  • Small bug fixes to the driver.

New in OmniMIDI 4.1.4.6 (Apr 29, 2017)

  • Fixed drag 'n drop feature not working anymore.
  • Updated active voice counter. It'll also count the fading out/extra voices, which are introduced by BASSMIDI to smooth out the audio.
  • Small bug fixes.

New in OmniMIDI 4.1.4.5 (Apr 29, 2017)

  • Added alternative to BASS's own rendering time limit system. You can enable it by going to "More settings > Advanced driver settings > Alternative rendering time limiter".
  • Small bug fixes.
  • Minor changes to the configurator.

New in OmniMIDI 4.0.5.13 (Jan 9, 2017)

  • Fixed a bug that caused the configurator to crash when trying to view information about a disabled soundfont.
  • Added feature that allows users to disable notes fade-out when they get killed. It can be found here: "Additional settings > Advanced audio settings > Disable fade-out when killing an old note"

New in OmniMIDI 4.0.5.12 (Jan 9, 2017)

  • Now pitch shifting shouldn't affect the drums channel.
  • Increased pitch shifting minimum and maximum value to -127 and (+)127.

New in OmniMIDI 4.0.5.11 (Jan 9, 2017)

  • Added pitch shifting feature.
  • Updated debug console.
  • Reworked MIDI events player, for future extensions.

New in OmniMIDI 4.0.5.10 (Jan 9, 2017)

  • Fixed regression from version 4.0.5.9, that made it unable to work with MIDITrail and other applications based around SMIDILib.

New in OmniMIDI 4.0.5.9 (Jan 9, 2017)

  • Fixed compatibility with Windows Multimedia API patches.
  • Fixed some debug stuff.

New in OmniMIDI 4.0.5.8 (Jan 9, 2017)

  • Updated mixer window.
  • Since there's people who's dumb enough to try running the driver on OSes such as Windows ME, I got forced to add a version check to all the executables (Configurator, Mixer etc... Not needed for the driver, since Visual C++ 2013 isn't supported on Windows 2000 or older). All the executables will automatically exit.

New in OmniMIDI 4.0.5.7 (Dec 27, 2016)

  • Updated SoundFont info dialog.
  • Updated debug window.
  • Updated mixer window.
  • The long MODM data parser has been slimmed down.

New in OmniMIDI 4.0.5.6 (Dec 27, 2016)

  • Fixed a bug in the blacklist system.

New in OmniMIDI 4.0.5.1 (Dec 12, 2016)

  • Added BASS error check-ups all around the code, to improve stability.
  • Small update to the note parser system.

New in OmniMIDI 4.0.4.7 (Nov 22, 2016)

  • SERIOUS: Fixed a bug in the driver register tool, which made it unable to register the driver on fresh Windows installations.
  • Added a "lock" to prevent the driver register tool from running on Windows XP.

New in OmniMIDI 4.0.4.6 (Nov 21, 2016)

  • Added support for relative paths to the configurator. (Explanation of this function down below)
  • Fixed a bug that made the configurator forget about the last directory visited by the user.
  • Fixed installer script, that made the mixer unavailable for 32-bit operating systems. (It was my fault, sorry)
  • Added useful links in the "Help" menu.
  • So, how do these relative paths work?
  • First of all, before I start explaining, I just want to thank an old user of the driver (Version 2.0 I think) that gave me the idea of adding support for relative paths.
  • Anyway, the final absolute path of relative paths is obtained by getting the path of the original .sflist/.txt file (The soundfont list) + the relative path inside it.
  • To move up by one folder, add ".." to the relative path, for two folders use "...." and so on.
  • Here, there's nothing more to explain, lol.

New in OmniMIDI 4.0.4.5 (Nov 21, 2016)

  • Cleaned source code of the configurator.
  • Added "Volume boost" function under "Additional settings > Advanced audio settings > Enable volume boost". It'll allow you to increase the volume beyond the 100% limit (Limited to 200%). It only works with XAudio.
  • Fixed some bugs in the configurator.

New in OmniMIDI 4.0.4.4 (Nov 13, 2016)

  • You can now get additional info about a soundfont by double-clicking it in the configurator. (One soundfont at the time)
  • Nothing else has been changed, if compared to version 4.0.4.3.

New in OmniMIDI 4.0.4.3 (Nov 12, 2016)

  • Added errors if the driver tries to load an invalid soundfont, or the stream fails to start.
  • Minor bug fixes.

New in OmniMIDI 4.0.4.2 (Nov 12, 2016)

  • Improved stability.
  • Added troubleshooter to the configurator. (Help > The driver isn't working anymore, help?)
  • Fixed a bug that could lead to Keppy's Synthesizer playing random notes after switching between playback modes (Slow down playback instead of skipping notes) or buffer systems (Use the old buffer system (No slowdowns)) during a crash part on a Black MIDI. More of a workaround than a fix.

New in OmniMIDI 4.0.4.1 (Nov 12, 2016)

  • BASS VST is not mandatory anymore. If Visual C++ 2010 is not installed, the driver will just warn the user, instead of closing the app.
  • Update to the soundfont lists system.
  • Now XAudio should handle notes better than DirectSound. The audio is stabler too.

New in OmniMIDI 4.0.4.0 (Nov 12, 2016)

  • Removed ALL fail-safes for Windows XP.
  • Optimized driver, now it should be faster with Black MIDIs.
  • Added "DLL override" function. You can use older/newer versions of the BASS libraries by dropping them in "%userprofile%Keppy's Synthesizerdlloverride(32or64bit)". Function available at "Additional settings > Troubleshooting > Open folder for DLL override".
  • Fixed minor bugs that were causing Keppy's Synthesizer not to be completely stable.