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

Fixes and more plugin inputs (v2.7.1)

 

New

  

πŸ”Œ New plugin settings

image.png

Plugin developers can now add toggle (boolean), integer, and slider fields to their settings, hugely useful for constraining users to a particular range of values.

This doesn't require any updates on your part, but the manifest schema has been changed in midi-mixer-plugin@1.0.2 to give some typing and comments for the new inputs.

To see how to implement the new fields, either use the new schema for autocomplete fun or check out the Create a plugin -> Settings docs page.


 

New

  

πŸ§‘β€πŸ’» Plugin version number displayed

image.png

A plugin's version is now visible in the UI so that a user can more easily understand if they need to update.

Keep bumping and releasing on GitHub! A small improvement to prompt a user that the plugin has updated will be available shortly.


 

Fix

  
  • Fixed "Run" and "Assign" indicators not working for any groups assigned to multiple apps/devices/plugins
  • Fixed Core crash due to a very rare race condition during foreground session checking against existing sessions
  • Fixed plugin fallback values not being returned when using $MM.getSettings()
  • Fixed nameless plugins not correctly falling back to using their reverse-DNS ID
  • Fixed potential crash when a plugin sent repeated garbled/corrupted messages to the API
  • Fixed small memory leak when refreshing plugins
  • Plugins list is now correctly refreshed once a plugin has been installed using a .midiMixerPlugin file
  • Better internal handling of errors during plugin loading stage; at a later date this will be used to display errors to users when a plugin fails to activate

Multi-assignment LED fixes and stability fixes (v2.7.1-alpha.5)

 

Improvement

  

πŸš₯ LED heartbeats always active

Some more performance improvements have resulted in being able to turn on LED heartbeats for all users and all devices. This means more reliable LED states in groups with multiple apps/devices/plugins.

 

Fix

  
  • Fixed "Run" and "Assign" indicators not working for any groups assigned to multiple apps/devices/plugins
  • Fixed "Assign" indicator priority logic to prioritise plugins over apps and devices
  • Fixed Core crash due to a very rare race condition during foreground session checking against existing sessions

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.