so in theory it shouldn't be extremely hard to reverse-engineer
Well, it's done !
Please find my little piece of software in attachment ! The app uses GTK+3-0 and libusb-1.0 (http://libusb.org
With this app, you'll be able to play with all parameters provided by the win*ows apps, on a GNU/Linux system : Midi in/out channel, audio gate threshold, LFO key retrigger, envelope legato mode, arpeggiator hold, note priority, velocity response and aftertouch response.
Since I've no experience in USB development (and according to the I time spent on it), the app has some limitations:
- You have to plug in the minibrute before running the app
- The app will fail to claim the minibrute if your system has already claimed it through its USB-Audio interface.
On my system, snd-usb-audio modules (including snd_usb_audio, snd_usbmidi_lib, snd_rawmidi) are probed automatically as soon as the minibrute is plugged in. You may have to rmmod these module (sudo rmmod snd_usb_audio snd_usbmidi_lib snd_rawmidi) before launching the app... As a consequence, it's not possible to use the MIDI interface at the same time as the configuration panel...
- The app doesn't detect whether the minibrute has been disconnected... In this case, you have to restart the app
- Interface is quite ugly
minibruteUI.tar.gz contains sources. To build the app, you have to, in a terminal:
tar xvfz minibruteUI-0.0.1.tar.gz
After that, minibruteUI executable will stands in your home directory (i.e ~/usr/bin/minibruteUI). To install it to another location, you can play with the ./configure prefix parameter. Alternatively, you can simply omit this prefix parameter and skip the "make install" step. In this case, you'll find the executable in the working directory...
minibruteUI is a x86_64-pc-linux-gnu executable.
Two other workarounds that probably would be feasible for Arturia to implement would be, one, to allow the parameters to be edited via the hardware MIDI port, and two, to somehow make a method to change the settings on the synth itself. The first one should be an easy thing to do, the second, maybe a little less so, but that would be the ideal solution IMO.
+1 for the second way!