Releases: jpwilliams/midi-mixer-releases
Release v2.3.0
Changelogs are moving! See http://changelog.midi-mixer.com/ for future release notes.
The app will automatically update itself, but you can use the download button on the website to download the latest binary.
v2.3.0
It's been a while since v2.2.4
, but the work hasn't stopped. 🙂 Also trying a new release note format, hiding some internal details and making it a bit more public-facing.
[New]
🔌 Plugins
After being in development with the help of many lovely contributors for the last few months, the first version of plugins is finally out! 🎉
Plugins allow you to extend MIDI Mixer's functionality with custom-built components, allowing communication with other programs and services to bring even more control to your MIDI controller.
The first examples are an OBS plugin and a Philips Hue plugin - both are open source.
If you're interested in making your own plugin, check out the midi-mixer/plugin-template repository or, more generally, the midi-mixer GitHub organisation for examples and libraries available.
[New]
✨ Refreshed UI design
I stand by that I'm not a UI/UX developer, but it's still easy to tell when things are becoming cluttered.
I've added a bit of make-up to the app to make room for the main UI whilst separating out the navigation. It's definitely better, but tweaking and changing this will be an ongoing process.
I had a wonderful conversation with a UX specialist at the end of last year and we talked through some general principles and ideas for the UI. I'm still keen to revitalise those talks and get the UI to a better state, if nothing else because they were an absolutely lovely person!
[New]
🎹 MIDI Mixer Plus
Many wonderful folks have contributed to MIDI Mixer's development over the course of its 9-month lifetime, but ensuring those people received thanks for their generous donations was a largely manual process.
The introduction of MIDI Mixer accounts means - in the short term - that we can capture existing Patreon and Ko-fi contributors and translate their generosity in to automated, in-app benefits, such as access to alpha builds and unlimited plugin usage.
There's also the ability to "subscribe" in-app using Stripe should you be happier using a card over Patreon or something like PayPal. Existing Patreon and Ko-fi contributors will have their accounts automatically synced, providing benefits and thank-yous straight away.
In the long-term, accounts are going to leveraged to provide a more community-driven feeling to the app, bringing across some of the fantastic pieces of our Discord community (like sharing profiles) to be in-app features for everyone to parse and enjoy.
[New]
📦 Better automatic updates
Many users have been enjoying automatic updates for a good few months now, but keeping up-to-date with the latest alpha for contributors was a pretty ugly experience. I'd be uploading .exe
files to Google Drive! 😬
You can now select which "release channel" you'd like to automatically update to, meaning folks can easily switch between the stable build and alpha builds to test out new features as they're being built.
There have been a few infrastructure changes behind the scenes to get this sorted, a side-effect of which is that downloading updates should generally be faster too! ⚡
[Fix]
- Removed some useless dev tools from being installed in production builds
- Fixed some issues around MIDI Mixer not being able to recover after the machine goes to sleep
- 48 small bug fixes from anonymous error reports; mostly handled errors that needed some attention
[Improvement]
- Better performance of peak meter updates when more than 4 faders are actively reporting
- Updated many internal dependencies to ensure we're on the latest, safest tech
- Crash reports sent are now compressed
- Faster and safer log rotation with overall smaller logs
- Show targeted
.exe
when assigning groups
- Added a "Restart" button to the tray menu to circumvent some sporadic issues requiring a restart of the app - this is a monkey-patch and isn't intended to be a long-lived option. Famous last words, eh?
- A few micro performance improvements from anonymous error reports
2.2.4
A pretty small update mostly to address a common bug that appeared earlier in the week, but also bundle in some other rare crashes and fixes from the last couple of months.
Fixes
- Fixed errors sometimes being thrown when a profile is loaded or unloaded
- Reduced focus window cache from a max of 60 seconds down to 20 seconds
- MIDI Mixer's Core will now survive if a process dies between identifying it and retrieving its name
- Fixed an issue for some users where internally listing possible file paths of a sound source could crash MIDI Mixer's Core
- Fixed
.
in profile names breaking internal config
2.2.3
Features
Added iCON Platform M+
The wonderful Fuerchtenichts on Discord has created a fully-functional preset for the iCON Platform M+! Motorised faders, indicators, buttons, and the dial are all set up. Another beautiful profile from a fellow that's already contributed so many others and helps moderate the Discord server!
Thank you, Fuerchtenichts!
Fixes
- Fixed high CPU usage when focusing on a Microsoft Store (UWP) app (thanks, Lucius)
- Rename Akai LDP8 profile to the correct Akai LPD8
- Fixed Akai LPD8 profile not using Velocity Sensitive mode for its pads
- Fixed nanoKONTROL Studio preset using the incorrect input/output
- Add the knobs in to groups for the nanoKONTROL2 preset
2.2.2
Actual features have been a bit slower this month, partially due to work being busy, but mainly owed to a change of direction in regards to the OBS integration.
Contributors (via Patreon or Ko-fi) currently have access to a Plugins API, meaning custom software can be written that runs within MIDI Mixer and interacts with its internals.
There's currently a simple OBS plugin with a Philips Hue one that will be available before plugins are fully released.
This move means, however, that integration with outside software can be driven, updated, and improved by the community. If you're interested in trying out plugins now and helping to be a part of initial feedback and improvment, contribute on Patreon or Ko-fi to gain immediate access. You can also see the @midi-mixer GitHub profile for current public examples.
For v2.2.2
, however...
Features
Profiles no longer require an output
This seems an odd feature, but previously profiles required an output in order to function. For some devices (mainly homebrew Arduinos) this caused some issues with the MIDI driver hanging if there was nothing set up to listen to the output messages. Even worse, the workaround was to define the MS WaveTable Synth as the output! Eek!
There's now no output ever required, so homebrew users rejoice!
Fixes
- Fixed being able to open multiple copies of the MIDI Mixer UI
- Fixed tracking some extraneous or short-lived processes which was causing some churn
- Removed output from LaunchPad preset to resolve occasional hang
- Fixed change throttling sometimes stumbling over itself, firing contrary updates to a device
- Fixed OSD easing volume changes, resulting in a stumbly view of the volume
- Fixed incorrect handling of PolyAftertouch messages across input, output, and test values (thanks, @wildcat37)
- Fixed control learning not taking in to account velocity/pressure; it will now set the velocity and the "Velocity Sensitive" option if applicable
- Fixed being unable to use F13-F24 keys as key binds
2.2.1
Features
🎹 iCON QCON Pro G2 preset added
The wonderful @IainMNorman in made a full preset for the iCON QCON Pro G2 with all of the bells and whistles: indicators, meters, motorised faders, and even the touch button for the faders!
@IainMNorman is also one of the wonderful "Helpful Souls", perpetually providing patient help and support to tonnes of MIDI Mixer users. Thank you, Iain!
Fixes
- Fixed profile names with
#
in being misinterpreted as a preset and not being removeable.
2.2.0
Features
📊 Peak meters added
The introduction of peak meters means that you can now have a live representation of the group's output audio! This works great for the more feature-rich boards like the X-Touch Extender and QCon Pro, but can also be used for some smaller boards with LEDs, like the X-Touch Mini's ring lights.
Click the images below to see a short video demonstration.
Behringer X-Touch | Behringer X-Touch Extender | Behringer X-Touch Mini |
---|---|---|
MIDI Mixer will have to use your microphone to see meter details for it. It's therefore expected to see "MIDI Mixer is using your microphone" in the Windows tray menu if you have an input assigned to a group with meters mapped.
🎹 UNGØDLY.DESIGN Launch Pad preset
Huge thanks to @UNGODLY#1526 in Discord (owner of UNGØDLY.DESIGN) for contributing a profile for their beautiful Launch Pad. Anyone who grabs this wonderful device can now enjoy plug'n'play behaviour when installing MIDI Mixer!
@UNGODLY#1526 also contributed a huge amount to the MIDI Mixer cause, so thank you once again for that! ♥ Make sure to check out https://ungodly.design/ for some beautiful devices!
🎹 Behringer X-Touch Extender preset
The bloody brilliant @Giaco#0178 in Discord (check him out on YouTube and Twitch) worked very closely (and patiently) with me to create a profile for the Behringer X-Touch Extender, an exceedingly feature-rich device and a great testing ground for lots of exciting features like peak meters and motorised faders!
After finding many small niggles and bugs, this preset is a prime example of a Mackie Control interface and should be easily applicable to many other such devices! Thank you so much to @Giaco#0178 for his time and effort on this preset. It's awesome!
Click the image below to see a video of the X-Touch Extender in action.
VID_20201129_19-VC.1.mp4
@Giaco#0178 has not only been instrumental in many of MIDI Mixer's ideas and features, but has also contributed multiple times to the cause! Thank you so much. As above, make sure to check him out on YouTube and Twitch.
Fixes
- MIDI Mixer is now much better at updating a "Focus" group's volume and mute status in realtime
- Removed "Show OSD" button type until we have an extended OSD
- Fixed MIDI Mixer panicking in Windows 10 version 20H2 when shutting down, sometimes causing needless errors being thrown to the log
- Fixed MIDI Mixer's core sometimes not rebooting if intentionally killed by a user
- Fixed crash for some users if they didn't have some C++ tools installed
- Fixed devices sometimes not being listed when choosing input or output devices to switch to in the "Buttons" tab
- Fixed crash if an audio device wasn't ready to be accessed when fetching initial volume / mute status
- Fixed "System Sounds" (and other Windows services) not appearing as being assigned in the Groups tab
- Fixed a very small memory leak (approx. 2KB/hour in my usage) when an application or device deregistered itself with Windows
- Optimised many paths around changing the volume of slower audio devices which is expected to fix "lag" for some users when changing volumes
- Fixed crash when changing a default device if that device can be used as both an input and an output
There have been loads of fantastic ideas from you all of late, and I still have fixes and features planned from feedback all the way from July when only a handful of people had access.
Keep it up, and keep checking the roadmap to see what's up next!
2.1.2
Fixes
- Handle initial core boot failing sometimes if a device is mid-boot
- Attempt basic override of some board-controlled LEDs by updating values when a push value isn't given
- Fix app-wide support of "Position" messages
- Fix volume indicators not supporting all MIDI message types
- Fixed indicator defaults being wildly off sometimes
- Fixed channel numbers being off when sharing a profile
- Fixed channel numbers being off when learning a control
- Fixed channel numbers being off when sending test outputs to an indicator
- Fixed default values being off when sending test outputs to an indicator
2.1.1
2.1.0
Features
⌨ Key Combinations have been added as a generic button type!
This means you can now trigger an arbitrary combination of keys to be sent when a button in pressed on your MIDI board. You can find the "Send key combination..." option in the drop-down menu when assigning a button.
🔢 Customisable infinite rotary sensitivity
Different rotaries have different feels, so you can now adjust the number of "steps" an infinite rotary has from 0% to 100% volume.
🎨 Restructured Group editor page
The page has been simplified a little bit, with the addition of some small buttons to get more information about the various inputs and how they can be used. This is hopefully one of many passes to try and improve and simplify the UI.
🎹 Korg nanoKONTROL Studio profile
Huge thanks to @Fuerchtenichts#9826 in Discord who has been doing incredible work creating a profile for the Korg nanoKONTROL Studio. They've even contributed this wonderful walkthrough PDF to get started with the preset.
This has also introduced the idea of "notes" for profiles and presets for some of the more complex MIDI controllers which require some set-up before being able to use.
📈 Customisable logarithmic curve
The logarithmic curve is hugely helpful, but even I've wanted to tweak it a little bit here and there to better fit my needs. Now you can!
There's now a slider in the Settings page that allows you to adjust the steepness of the curve so you can tweak to your heart's desire.
Fixes
- Channel numbers when editing a Control now correctly show channels 1 - 16 instead of 0 - 15.
- Fixed another crash for pre-1804 Windows 10 builds that didn't have access to some .NET libraries
- Fixed indicators sometimes flashing to min/max values when profile initially loaded
2.0.9
Fixes
- Fixed LED indicators not obeying min/max values
- Only show profiles in tray menu selection if they have a valid input and output
- Fixed crash when a fader was moved before the UI had bootstrapped
- Fixed crash when a device is having internal issues and a volume change is attempted
Misc
- Switched the OSD border to black (#7)