Skip to content

Releases: jpwilliams/midi-mixer-releases

2.0.8

05 Nov 12:50
0cc3206
Compare
Choose a tag to compare

Features

  • Added deeper support for infinite rotaries (thanks, @killyungkim#5920)
    Another board appeared demonstrating yet another way for manufacturers to utilise infinite rotaries, so some more options have been added to the UI to account for this. In addition to setting a "down value" and an "up value", you can also now specify which direction the value will move the faster you move the rotary.

image

  • 🎹 Added new profile for Akai Professional Fire (thanks, @killyungkim#5920)
    We've had a wonderful profile contribution from @killyungkim#5920 after they checked out one of the Getting Started videos and went hunting for LED info online! An awesome new device to have as a preset with a tonne more future functionality it can support!

Fixes

  • Fixed unassigned groups sometimes triggering OSD to display
  • Some small security updates
  • #7 - Added a small blue border to the OSD so it's clearer on light backgrounds (thanks, @RWeigelt)

2.0.7

29 Oct 18:50
0cc3206
Compare
Choose a tag to compare

Fixes

  • Fixed MIDI Mixer Core dying when encountering a hanging audio device (thanks, @Soepketel#0001)

Other

  • Some security updates for the UI

2.0.6

25 Oct 18:05
0cc3206
Compare
Choose a tag to compare

Fixes

  • Fixed crash when attempting to change the volume of an app running from a temporary external drive
  • Fixed crash when selected profile is inadvertently also being used as a passthru device
  • Fixed core crashing when attempting to boot on an x86 version of Windows without .NET 2.0 explicitly installed

2.0.5

21 Oct 18:33
0cc3206
Compare
Choose a tag to compare

Fixes

  • Fixed rare crash when using Windows 10 v1804 triggered when changing device volume
  • Fixed errors sometimes causing crashes on initial boot when the desired MIDI device is in use by something else

2.0.4

18 Oct 16:37
0cc3206
Compare
Choose a tag to compare

Features

  • Highlight a newly-created group or control when editing a profile for better UX

Fixes

  • Fixed app incorrectly logging an expected error when closing a MIDI device
  • Added better logging for in-app crash reports
  • Fix mishandling of SYSEX MIDI messages when using a passthru device
  • Fix OSD crashing when triggered incorrectly while setting initial values

Misc

  • Some dependency and security updates

2.0.3

08 Oct 16:01
0cc3206
Compare
Choose a tag to compare

Fixes

  • Ensure that the app doesn't try to run on Windows versions below Windows 10. Only Windows 10 and above is supported.
  • Remove ability to accidentally assign multiple apps to a Group when using the tray menu.
  • Don't throw errors when MIDI Mixer's Core closes successfully when the app is closed.
  • Handle a process dying while being created within MIDI Mixer.
    This was an issue when a short-lived process would make a sound and immediately exit. If it happened, MIDI Mixer's Core would die. This no longer happens.
  • Fixed MIDI Mixer's Core becoming out of sync with Windows audio state.
    MIDI Mixer's Core expected Windows to be all stable and lovely, but had no idea how to react when Windows did something unexpected. Upon being met with a catastrophic de-sync (indicating that something has mismanaged audio resources), MIDI Mixer's Core now just silently resynchronises itself.

2.0.2

26 Sep 22:58
0cc3206
Compare
Choose a tag to compare

Fixes

  • Ignore Clock messages from devices when learning controls

2.0.1

26 Sep 18:28
0cc3206
Compare
Choose a tag to compare

Fixes

  • No longer errors when turning off start-on-boot when it's been turned off recently
  • Fixed not being able to switch to a single audio device using a generic button

2.0.0

26 Sep 10:13
0cc3206
Compare
Choose a tag to compare

v2.0.0 is here! 🥳

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.

A huge thank you goes out to everyone who has helped to test, debug issues, and create profiles, as well as remaining patient and enthusiastic about the end result.

The true MVPs are the contributors helping to support the project: @clexxx, @Haze1707, @soepketel, and @spentacular. If you're enjoying the software as well, please consider becoming a patron or buying me a coffee. ♥

Breaking changes

  • MIDI Mixer v1.x.x should be uninstalled when using v2.x.x.
    Because the shape of the app has changed so much, it's seen as an entirely new one. There aren't any expected issues if you keep both versions installed, but for safety and simplicity I'd recommend uninstalling v1.
  • Custom configurations will need to be rebuilt
    One of the biggest changes is the way the app manages custom profiles. Some new presets have been added in an effort to reduce the impact of this. More on this below (it's a huge improvement).

Notable features

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
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
image image

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.

Auto-updating

It's back, baby.

v1.x.x had a lot of issues with auto-updates. Not only did they seldom work for users, but they required a huge effort on my part to orchestrate and maintain. One of the biggest problems, too, was that there was still no consideration for updating MIDI Mixer's Core: the part that actually integrates with Windows and does the heavy lifting.

With v2.x.x, updates are back and going strong. For the most part the updates and automatic and are tiny, differential downloads. You'll be notified when they're available, but it's intended that the program will stay up-to-date even if you just let MIDI Mixer boot up with your PC in the morning and shut down at night.

OBS integration

This isn't a part of the app yet, but hold up. Let me explain.

I used to stream on and off and like many a streamer wanted to be able to control various pieces of audio and be able to change scenes with a hardware device. I mean, you know this; you're here reading MIDI Mixer patch notes.

The point is, I ended up with some insane solution utilising a tonne of custom scripts and about five different bits of software, but it was awesome to use. The problem was that I wanted to be able to use that same system while I wasn't streaming, but routing everything from all of these third-party pieces of software was just ughh.

So fast-forward to this release and MIDI Mixer provides everything I need. I use it when I am streaming and I use it when I'm not, seamlessly between the two states. That's bloody awesome, but I still either miss out on deeper OBS integration to change scenes or start installing all of those pieces of software again.

Lots of folks are in the same boat and I think it's pertinent to try and address that as part of the overall package. OBS integration is very real and very close, but is planned to come in patch v2.1.0. There's a lot of work going in to ensure that it actually delivers what people want. It's coming. Soon.

Other features

The massive UI rework and the restructure of how MIDI devices are configured constitute the majority of the features in this release. Aside from the above, however, there are a few more pieces that have been added.

  • Now watches for MIDI devices connecting/disconnecting and will load/unload your MIDI devices accordingly.
  • Added "MIDI Passthru" option, allowing you to pass MIDI messages through to another device. This can be used with something like loopMIDI to control multiple pieces of software with the same board.
  • New presets for the Akai LDP8 (thanks, Wujno) and the Akai MPK Mini mkII (thanks, 𝐓𝐋)
  • Added "Velocity Sensitive" option for buttons. This means you can set a button to perform its assigned action when the velocity passes a certain threshold rather than when it's an exact value.
  • Added ability to send a test output when configuring an Indicator Control. This means you can experiment with LED states much faster. Incidentally, I found out I can make my button LEDs flash whilst testing this feature!
  • MIDI Mixer's Core joins the main app and is now code signed.
  • Split profiles list in to two separate lists to be clearer about which profiles are custom and which are presets.

Fixes

A few bugs had accumulated around the old pieces of UI in v1.x.x. With the rework these are no longer relevant. Still, there are some fixes that are relevant.

  • The "Run" button for a group should now be able to recognise and successfully start Microsoft Store apps
  • Fixed OSD flickering and being pushed behind windows when a full-screen app was present
  • Fixed being unable to unmute an app until you changed the volume if it loaded muted
  • Performance improvements when using very precise faders
  • Fixed MIDI Mixer Core dying and failing to recover
  • Fixed the first knob not working for the Behringer X-TOUCH MINI preset
  • Fixed start-on-boot setting sometimes not enabling (or disabling, for that matter)

2.0.0-beta.9

21 Sep 18:42
0cc3206
Compare
Choose a tag to compare
2.0.0-beta.9 Pre-release
Pre-release

Features

  • Now watches for MIDI devices connecting/disconnecting and will load/unload your MIDI devices accordingly.
  • Add "MIDI Passthru" option, allowing you to pass MIDI messages through to another device. This can be used with something like loopMIDI to control multiple pieces of software with the same board.

Fixes

  • Some performance improvements around precise sliders
  • Stopped a rare bug where the core logic gets in a muddle and constantly tries to connect to itself