Releases: jpwilliams/midi-mixer-releases
2.0.0-beta.11
Features
- Add velocity-sensitive option for buttons. This means you can set a button to perform its action when the velocity passes a certain threshold rather than when it's an exact value.
Fixes
- Fixed Behringer X-TOUCH MINI preset's first knob not working
2.0.0-beta.10
Features
- Added Akai LDP8 preset
2.0.0-beta.1
v2.0.0
is here in beta form! 🥳
I've been working on this pretty hard in the background. The core is still pretty similar to what it was, but there has been some major rearchitecturing to help support the future of the project.
I'm not going to write up a full list of patch notes here as I'll save that for the actual v2.0.0
release. I will, however, cover some of the major points to give testers some insight in to the most notable parts that have changed.
Please remember that this is a pre-release version. It may definitely contains improvements and new features, but may also be unstable. For the latest stable version, click here.
Breaking changes
- MIDI Mixer
v1.x.x
should be uninstalled when usingv2.x.x
.
Because the shape of the app has changed so much, it's essentially counted as a new one. You can leave both versions installed, but for simplicity I'd remove the original. - Custom configurations will need to be rebuilt
One of the biggest changes is the way the app manages custom profiles. More on this below (it's a huge improvement).
Notable features
This is not an exhaustive list in the slightest, as many of the issues users have been having have been addressed in v2.x.x
, but there are some biggies that are worth mentioning in this beta release.
Brand new profile builder
Setting up custom profiles was perfectly functional but it was still a huge pain in the ass.
You'd have to find MIDI maps online or another program to get the MIDI numbers to input in to the boxes. The worst part, however, was that remapping a button to have a different function (mute instead of assign, for example) required you to go back to basics and do the exact same MIDI investigations all over again.
Let's not do that.
Groups view | Controls view |
---|---|
With the new system, you set up all of the controls on your board (faders, buttons, lights, indicators), then add them in to groups that you can assign applications to.
Wanna make every button light up when you mute Discord? Easy.
Want your fader to use some LEDs elsewhere on the board to show its current volume? Sorted.
Creating the controls in the first place is all supported by big ol' "Learn" buttons everywhere too, meaning no more scrawling through PDFs trying to find what mad messages your board outputs: you just hit "Learn" and hit the button.
Because of this new system, you only ever have to set your board up once. If you ever want to change anything around after that, it's an easy as selecting the controls you've made from a drop-down list!
Button assignment in the UI
Assigning buttons from the tray menu was a pretty nasty experience. Even worse, because of the limitations a single drop-down menu imposes, extra functionality was essentially hidden inside the damned thing.
How many people knew you could assign a button that switched between multiple default output devices? Not many of you, eh?
Button assignments | Switching between default audio devices |
---|---|
There's now a lovely UI for assigning these buttons, including more in-depth actions like setting default audio devices.
Even better, it provides a list of buttons that are currently in use by groups to make you aware of keys you can pull out to use as generic buttons instead.
Stability
It's a boring word, but for an application that will likely run for the entire time your PC is on, it's kind of important.
A huge effort has been made both for the new UI and the existing backend to ensure that the app doesn't fall over on you. This has only been a problem for a subset of users, but the main difficulty in those cases was that the errors were silent meaning debugging was hard for me and the experience was frustrating for you.
v2.x.x
Auto-updating
It's back, baby. Well, sort of.
I've tested this a lot internally and it's looking really healthy, but this beta is the first time it'll be tested in the wild. We'll see how it goes and hopefully it works for everyone and I can get these bug fixes and features to you all without you having to pop over to the website and grab the new version.
Testing
As is written at the top of this post: this is a beta.
This version should provide a hugely improved experience for everyone, but it needs some battle testing before it goes out to everyone.
Please test, please point out things that are missing or are not working, and please, please enjoy. :)
v1.3.4
Misc
- Adds much better logging for errors so I don't have to go chasing log files from affected users
v1.3.3
A small patch fix to address the core sometimes failing to boot. Big thanks to Hamfran#8722 for sending logs and helping to solve this. It also revealed an issue around finding these errors, so there's a lot more logging available now that should make bugs like this less of an effort to hunt down in the future.
Fixes
- Fixed core sometimes silently failing to boot when expected endpoint info couldn't be found
Misc
- Added better logging for core functionality
v1.3.2
Fixes
- (Hopefully) OSD should no longer stop displaying sometimes.
This has been a really annoying bug to try and pin down as it happens pretty eratically, sometimes after a few minutes of use and sometimes after a few hours. I think I have a fix in place that should solve this.
v1.3.1
Fixes
- Fixed Assign and Run buttons acting erratically when default audio device changed
- Fixed Assign button LED incorrectly turning off when an application closed
The Assign button's LED indicator is supposed to represent whether or not that control group is assigned to anything. Even if an application is closed, the control group is still assigned and ready to be used, so the indicator should remain o.n
v1.3.0
Default Device Switching
This release adds the ability to switch your default input and output devices! Really glad to be able to add this feature in, as I know it's hugely useful for a lot of folks.
Right now, there are two ways your can change your default audio device:
The first is a Run button that's been added alongside the Mute and Assign buttons for control groups. It follows the following logic:
- Device assigned?
- Indicator lit if device is default.
- Pressing button sets device to be the default.
- Application assigned?
- Indicator lit if application is running (and has made noise at least once).
- Pressing button starts application if not running, or brings it to the foreground if it is.
For the KORG nanoKontrol2, this has been added to the built-in preset at the R button for each fader. For other devices, it can be added by creating a custom profile in the Mapper.
The second method is by assigning a particular button. Currently, this is done by right-clicking the tray icon, following the Buttons... menu to the button of your choice and selecting either Set default output device or Set default input device.
As always, make sure to report any issues (or successes!) with this over at the Discord or create an issue.
Fixes
- Fixed OSD window not showing when the app is set to start on boot
- Fixed control groups not syncing with each other in very particular circumstances
- Small performance improvement following better handling of Windows events
v1.2.2
Automatic updates 🥳
- The installer and app are now signed; Windows and anti-virus software should get a little less scared when running it now.
- Once you're on this version (
v1.2.2
) or later, the software will automatically update!
This'll make it so much easier to use as you won't have to keep downloading.exe
files to be up-to-date.
v1.2.1
Performance
- Batch volume requests together so we don't lag behind rapid updates
This should help loads if you've ever experienced volume changes that seem to lag behind. Seems to happen more commonly with lower-capability hardware, as they can't handle updates as rapidly as the more expensive kit.