MIDI Mixer release notes
MIDI Mixer release notes
www.midi-mixer.com

Stability fixes, presets, and LED heartbeats (v2.7.0)

Edging closer to the sharing overhaul, this update brings some quality-of-life changes and fixes around plugins and stability.

 

New

  

πŸš₯ Added LED heartbeats

Some devices (often those with drum pads) won't relinquish control of their LED indicators, overwriting the values that MIDI Mixer sends it.

This brute force option keeps the device up to date with the latest state, making sure to overwrite any unruly devices.

If you have a device with drum pads or other LEDs that the device forcibly toggles on/off, try this option to help maintain a consistent experience.


 

New

  

🎹 Behringer X32 Producer preset

image.png

An incredible new preset from our well-known GiacoAV. This even comes with a lovely new page explaining how to get set up and what the preset featues! πŸ₯³


 

New

  

πŸ”— Connect your Patreon account

image.png

Syncing patrons' MIDI Mixer accounts with their Patreon account has long been a frustrating point. It relies on the same email address being used across both systems, and is subject to many small issues around Patreon's odd API.

Hopefully this is the end of the oddity, as you can now directly link your Patreon account to your MIDI Mixer account to ensure any subscriptions are correctly synced.

As with all contribution-related issues, please see the Contribution page on the docs site or email support@midi-mixer.com for help if you still have issues syncing your account.

Any users who were successfully synced with the old system should have retained their status; you'll now be able to see which account you're synced with!


 

Improvement

  

🎹 Behringer X-Touch Extender page

image.png

Thanks again to GiacoAV, a new page helping users get started with their X-Touch Extender has been added to our collection of presets. Great stuff!


 

Improvement

  

βš™οΈ Added a debugging ID to settings page

image.png

If you have anonymous analytics & crash reports enabled in the settings page, your reports are given under a unique identifier that represents your installation of MIDI Mixer.

When debugging certain issues, providing this identifier to a developer can help link these anonymous crash reports to your system, thereby making it easier to help you debug a problem. Without this identifier, a developer cannot match a crash report to any one user in order to retain your privacy.

This identifier cannot be used by anyone else to access any information, be it personal or anonymous reports. When given to a developer, they can only attribute anonymous crash reports to you, and still cannot see any personal information whatsoever.

This change should help reduce the amount of issues which require me to ask for users to upload config files to me, which is better for both parties.


 

Fix

  
  • Fixed plugins sometimes triggering close actions multiple times, causing sporadic race condition issues when refreshing
  • Fixed crashing plugins sometimes causing the entire plugin set to crash in rare circumstances
  • Fixed being able to trigger multiple plugin refreshes when a plugin provided a close function and did not instantly close
  • Fixed the midi-mixer:// protocol not being successfully registered for the Microsoft Store build
  • Fixed only appearing to reload when groups/controls were edited in a profile, forcing users to manually unload and reload the profile in order to see changes

Bug and stability fixes (v2.6.1)

 

Fix

  
  • Fixed OSD being placed strangely when using multiple monitors with different UI scaling values
  • Packaged some small .NET libraries with MIDI Mixer's core in order to circumvent occasional compatibility issues

Multi-assignment, sharing, and UI (v2.6.0)

A few large additions this time around. There are still some pending features around sharing, but it felt like a good time to cut this release to get the basics out to everyone!


 

New

  

Ⓜ️ Multi-assignment groups!

image.png

Assign multiple apps, devices, or plugins to a single group.

The group dropdowns have been given some make-up in order to appear presentable for this change, but there's more coming in this space to allow much easier assignment. A few of you have seen sneak previews of this… πŸ₯·


 

Improvement

  

β†˜οΈ Groups have moved to the Profiles page

image.png

The groups tab has now been placed inside the profiles tab to help understand how controls, groups, and the previous home page all relate.

Currently, you must load a profile to see the assigned groups. In the future, πŸͺ„ you'll be given the possibility to see and change assignments even for unloaded profiles!


 

New

  

πŸ’– Sharing expansion

Being able to share profiles has been a huge boon, and Riot has been keeping the #profile-sharing channel alive and kicking for months.

This release lays the foundation for a large expansion of profile sharing which will appear in the next alpha.


 

New

  

πŸ“ƒ New profiles list

image.png

A new profiles screen has been added to pool presets and custom profiles together in to a single list.

In addition, all loaded profiles are now collected at the top of the list. I don't know about you, but I was struggling to find all of my active devices once my list had hit a certain size!

The icons to the side are used to represent the type of profile. A lightning bolt ⚑ is a preset, a circle 🟒 is a custom profile, and a cloud ☁️ will be… something new.


 

New

  

πŸ’ Introduction pages for profiles

image.png

To help along this new sharing venture, intro pages have been added to profiles to explain not only the device being used, but also how to set up that profile and the cool configurations within it!

Even with presets there are some very common pitfalls that catch new users such as turning on MC mode or driver difficulties. A page to encapsulate this knowledge right where a new user will be looking should really help.

In addition, there are some awesome creations on the aforementioned #profile-sharing channel. Sometimes folks upload videos and they've sat down and made something really enjoyable to use. Let's make sure there's a place to share that. πŸ™‚

Pages are written in markdown alongside a profile's JSON configuration. The next alpha will introduce the editing and saving of these pages against your own custom profiles.


 

New

  

πŸ” Shared profile searching and filtering

image.png

The top priority of the sharing and profiles expansion is discoverability of all of the fantastic things people are doing with MIDI Mixer and exposing them in-app for every user to see.

The next alpha will introduce better, versioned profile sharing (and backup) which results in a huge searchable database of creations.

A brand new user who owns MIDI devices could be directed straight to a collection of compatible profiles (complete with pretty intro pages by their authors, of course πŸ˜‰), while one with no MIDI device could choose what kind of device they want and see a tonne of examples that have already been created by the community.

The "Legacy" sharing system using midi-mixer:// URLs is still functional, and importing those profiles will continue to work in future updates, but creation of new URLs will be disabled.

I'll likely re-share the pinned profiles in #profile-sharing, but I won't bulk transfer old shared profiles to the new system, as many people were using them as personal back-ups and never intended them to be shared. Anyone wanting to re-share their profile to the new system can just click the new share button that will appear. πŸ™‚

I can't wait to see this feature through and share everyone's awesome creations!


 

New

  

πŸͺŸ Resizable UI

The UI is now resizable! πŸ₯³ This has been a silly but long-awaited change.


 

Improvement

  

🦺 Help in-app

image.png

The docs site has been floating around in the background for a while now, but it's now exposed in the app to help with common issues and guide you through some initial processes like setting up a custom profile or using plugins.


 

Improvement

  

⚠️ Better error messages for failed loading

image.png

Some of the loading errors for MIDI devices could be a bit… unfriendly. A few known errors are now handled more gracefully, directing the user to the new help pages!


 

Fix

  
  • MIDI Mixer's core was sometimes failing to boot on x86 systems without a particular .NET redistributable.
  • A profile was not unloaded if removed when loaded.
  • Made some more screens resistant to getting all squishy with the new UI
  • Fixed some overflowing inputs when configuring infinite rotaries when editing a profile
  • Fixed the "Profile loaded" toast showing a useless ID instead of the name of the loaded profile
  • Added a scrollbar to the profiles list (@Fuerchtenichts has a lot of devices)
  • Fixed all assignments being removed when removing a "Focus" assignment
  • Fixed groups and controls being uneditable on first load of the profiles page
  • No longer showing affiliate links for owned devices
  • Update button in settings for Microsoft Store builds now takes the user to the store to update
  • Fixed Microsoft Store build seeming to do nothing if selecting the alpha release channel
  • Fix race condition crash on settings page
  • Fixed being unable to remove inactive applications from assignments
  • Fixed profile copying skewing profile channels in some scenarios
  • Fixed test output values not correctly reverting to the input's "maximum value" when a value is entered and then removed
  • Fixed being unable to open plugin folder from the UI when only the Microsoft Store build is installed
  • Fixed devices with no output sometimes erroring after internal profile conversion has happened
  • Fixed rare race condition crash when two sessions registered and unregistered within quick succession of each other

Affiliate links

Alongside a small site reshuffle late last month, affiliate links have appeared in appropriate areas of the app.

There are informational buttons in those areas to see more, but you can always check the Affiliate Links section of the Contribution guide to see the most up-to-date information.

Multi-assignment groups (v2.5.15-alpha.5)

There are a few things in this alpha… πŸ’ͺ

 

New

  

Ⓜ️ Multi-assignment groups!

image.png

In this build of the 2.5.15 alpha, you can now assign multiple apps, devices, or plugins to a single group.

The group dropdowns have been given some make-up in order to appear presentable for this change, but there's more coming in this space to allow much easier assignment. A few of you have seen sneak previews of this… πŸ₯·


 

Improvement

  

β†˜οΈ Groups have moved to the Profiles page

image.png

The groups tab has now been placed inside the profiles tab to help understand how controls, groups, and the previous home page all relate.

Currently, you must load a profile to see the assigned groups. In the future, πŸͺ„ you'll be given the possibility to see and change assignments even for unloaded profiles!


 

Fix

  
  • Made some more screens resistant to getting all squishy with the new UI
  • Fixed some overflowing inputs when configuring infinite rotaries when editing a profile
  • Fixed the "Profile loaded" toast showing a useless ID instead of the name of the loaded profile
  • Added a scrollbar to the profiles list (@Fuerchtenichts has a lot of devices)

Sharing and resizable windows (v2.5.15-alpha.2)

 

New

  

πŸ’– Sharing expansion

Being able to share profiles has been a huge boon, and Riot has been keeping the #profile-sharing channel alive and kicking for months.

This alpha brings with it some frictionless change to profiles to allow you to version them, back them up, document them (see below), make them more discoverable by users both with and without MIDI devices.

This alpha will build out those key features, but this first build will transparently convert your profiles to a brand new format ready for expansion!

In case you wish to revert to the stable build, your current profiles are kept entirely in-tact and will never be removed.


 

New

  

πŸ“ƒ New profiles list

image.png

A new profiles screen has been added to pool presets and custom profiles together in to a single list.

In addition, all loaded profiles are now collected at the top of the list. I don't know about you, but I was struggling to find all of my active devices once my list had hit a certain size!

The icons to the side are used to represent the type of profile. A lightning bolt ⚑ is a preset, a circle 🟒 is a custom profile, and a cloud ☁️ is a shared profile.


 

New

  

πŸ’ Introduction pages for profiles

image.png

To help along this new sharing venture, intro pages have been added to profiles to explain not only the device being used, but also how to set up that profile and the cool configurations within it!

Even with presets there are some very common pitfalls that catch new users such as turning on MC mode or driver difficulties. A page to encapsulate this knowledge right where a new user will be looking should really help.

In addition, there are some awesome creations on the aforementioned #profile-sharing channel. Sometimes folks upload videos and they've sat down and made something really enjoyable to use. Let's make sure there's a place to share that. πŸ™‚

Pages are written in markdown alongside a profile's JSON configuration. A later build in this alpha will introduce the simple UI to edit and save these pages against your own custom profiles.


 

New

  

πŸ” Shared profile searching and filtering

image.png

The top priority of this sharing and profiles expansion is discoverability of all of the fantastic things people are doing with MIDI Mixer and exposing them in-app for every user to see.

A later build will introduce better, versioned profile sharing (and backup) which results in a huge searchable database of creations.

A brand new user who owns MIDI devices could be directed straight to a collection of compatible profiles (complete with pretty intro pages by their authors, of course πŸ˜‰), while one with no MIDI device could choose what kind of device they want and see a tonne of examples that have already been created by the community.

"Legacy" profiles that have been shared using the current URL-based system will still be importable, but you will no longer be able to create new versions.

I'll likely re-share the pinned profiles in #profile-sharing, but I won't bulk transfer old shared profiles to the new system, as many people were using them as personal back-ups and never intended them to be shared. Anyone wanting to re-share their profile to the new system can just click the new share button that will appear. πŸ™‚

I can't wait to see this feature through and share everyone's awesome creations!


 

New

  

πŸͺŸ Resizable UI

The UI is now resizable! πŸ₯³ This has been a silly but long-awaited change. A few screens continue to look a bit funky, but those kinks will be worked out during the alpha. πŸ˜‰


 

Fix

  

MIDI Mixer's core was sometimes failing to boot on x86 systems without a particular .NET redistributable.

 

Fix

  

A profile was not unloaded if removed when loaded.


Affiliate links

Alongside a small site reshuffle late last month, affiliate links have appeared in appropriate areas of the app.

There are informational buttons in those areas to see more, but you can always check the Affiliate Links section of the Contribution guide to see the most up-to-date information.

Stability fixes (v2.5.13)

Some small fixes in preparation for the upcoming v2.6.0 alpha.

 

Fix

  
  • Fixed CPU spikes when playing Call of Duty: Warzone - Ricochet seems to play hard-to-get and makes scanning the foreground window relatively intensive; this patch mitigates the spikes when they occur
  • Fixed OSD sometimes being clipped through the top of the screen
  • Fixed app sometimes erroneously submitting a crash report when Windows was force-closing other applications on shut down
  • Fixed a rare crash on system boot with an upstream dependency update
 

Improvement

  
  • Batch processing for messages between a plugin and the app, resulting in a slight performance improvement

Microsoft Store release fix (v2.5.11)

 

Fix

  

Fixed some users of the Microsoft Store release seeing the app closing immediately when started. This was due to a permissions error causing the installer to run non-elevated for a percentage of users (~10%).


v2.6.0 prep work

This patch also contains some prep work for the upcoming v2.6.0 alpha, ready for any contributors to test out the exciting new functionality when it drops.

Stability fixes (v2.5.3)

 

Fix

  

Some small stability fixes to reduce CPU load further when using plugins.

Stability fixes (v2.5.2)

 

Fix

  

Stability improvements and debugging steps for systems with outdated drivers who struggle to boot MIDI Mixer's core.

Multi-device release (v2.5.0)

 

New

 

 

Added ability to load multiple profiles simultaneously! Plug in all of your devices!

Thanks to the many contributors that have been testing this functionality over the past month.


 

New

 

 

image.png

A simple preset for the beautiful PO16 by Intech Studio has been added, covering 64 potentiometers across 4 layers.

This is now my daily driver over the X-Touch Mini; it's a fantastic piece of kit!


 

Improvement

 

 

Multi-device support revealed some performance issues around loading/unloading devices. With this patch, loading devices should be a lot more performant.


 

Fix

 

 

Resolved a potential issue when rendering the markdown page of a plugin, which malicious plugin developers could have used to flood the MM clients and cause a crash.


 

Fix

 

 

Resolved a very rare issue in which cached state from MIDI Mixer's "Core" could erroneously display applications running even though their volume could not be changed.


Up next

After watching multi-device in the alpha for a good while and fixing bugs here and there, the focus now moves on to the long-awaited multi-assignment feature.

It's a relatively simple change in the current architecture, but it's also a good excuse to tear out and clean up some of the existing code in that area which will need to be a lot more performant with plugins and multiple devices now being present.

Thank you again to all of the contributors, testers, and enthusiastic users. ❀