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!
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
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
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
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
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
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
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.