Anecdotally, the Arturia controllers feel better to me in terms of build quality. Granted I haven't owned an M-Audio controller in well over a decade, so take that with a grain of salt.
In terms of what the knobs and pads are for, you'd be able to assign those to parameters of the Slim Phatty using the appropriate midi CC#s (here's a forum post where a user mapped them out). So you'd be able to assign one of the knobs to the filter cutoff for example, and one of the pads to switch the octave of oscillator #1, etc. Possibly useful if the Phatty is racked and you don't want to walk over to it while making a patch, or if you want to manipulate parameters while playing live.
As far as I can tell, you're not really shopping for a feature set beyond what any standard MIDI controller would offer, so you're likely safe buying any well-built controller until your needs change. You might be able to get away with something even more basic without extra knobs/pads like an Arturia Keystep. I'd suggest heading over to your local instrument shop and demoing a few controllers and see if something like the width of the keys, build quality, etc. matter to you. Good luck!
I also added a Engine.quit() function so we can close our app once we've launched the update installer. I don't know if it's safe to use this function in a plugin, my use case if for a standalone app only, let me know if you try it in a plugin 🙂
It occurred to me people might want the best of both worlds, so I went with a different option and added a property called ButtonsInsideBorder if this is set to true you get the new appearance, if it's set to false (or omitted as will be the case for older projects) you get the old appearance.
By default the property is false so when adding a new preset browser you will get the old appearance. I've also set the default of the EditButtonOffset property to 10.
If this sounds good to you guys I'll make a pull request.
With this new setting you can do things like this:
Anecdotally, all multimedia gear, audio cables, etc. are sold by the foot in this country. So that's likely the unit that your end user is expecting. The only thing we buy by the yard is fabric, haha.
Edit: Feet with a decimal point is likely the best option here until you're to measurements that are less than 1 foot. Sub-foot measurements should be in inches with a decimal point. Not ideal considering how all of our measurement devices are marked, but your average consumer would know how to navigate this. Ideally in sub-foot measurements, you round your inches to the nearest 1/16" unless that level of inaccuracy breaks functionality.