Arturia Forums

Hardware Instruments => MiniBrute => MiniBrute Technical Questions - FAQ => Topic started by: serjoscha on January 12, 2013, 12:23:34 am

Title: Minibrute connection software- future linux option?
Post by: serjoscha on January 12, 2013, 12:23:34 am
First of all - I am new to this forum. Greetings to everyone!
Will there be a linux version of the minibrute software in the future? I do not use microsoft or apple - and who knows, if these operating systems will be around in, say, thirty years from now.  ???
Anyone else here interested in a linux version of the software?
Title: Re: Minibrute connection software- future linux option?
Post by: kevinmoore73 on January 14, 2013, 05:21:45 pm
There's no guarantee that Linux will be around in 30 years.

What's funny here is that the core of Mac OS X is based on BSD UNIX which can directly trace its roots back to UNICS from 1969.
Title: Re: Minibrute connection software- future linux option?
Post by: Bruno@arturia on January 15, 2013, 10:08:06 am
Welcome to the forum!
It's not planned to have a Linux version of the app at the moment. Sorry
Did you tried using Wine by the way?
Title: Re: Minibrute connection software- future linux option?
Post by: serjoscha on January 15, 2013, 09:16:35 pm
Hallo Bruno,
no linux-version? that is disappointing for me.   :'(
I have not tried to use the connection software with wine. Actually I used a friends computer with MacOSX to make adjustments (namely the arp-hold, which is a great feature to have).
However: I enjoy using the minibrute very much! It is a wonderful machine to play with. Anyway, I love, that it is "hardware" und I would like to avoid to be dependend on "software"  ;)
Title: Re: Minibrute connection software- future linux option?
Post by: maxence on February 02, 2013, 07:54:01 pm
Hi there,

no Linux version is very disappointing for me too... the connection software does not work with wine...

Since Arturia doesn't plan to build a Linux version, I'm going to build it on my own by reverse-engineering the windows software.

From my first impression, implementing the configuration panel shall be very easy. On the other side, the firmware update process seems very complicated and I will not try to implement it.
Title: Re: Minibrute connection software- future linux option?
Post by: beefinator on February 03, 2013, 03:38:53 pm
I think I saw bruno say somewhere that the config program (except the firmware update part) was just sysex messages thru USB, so in theory it shouldn't be extremely hard to reverse-engineer.

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.
Title: Re: Minibrute connection software- future linux option?
Post by: maxence on February 03, 2013, 08:34:25 pm
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:


minibruteUI.tar.gz contains sources. To build the app, you have to, in a terminal:
Code: [Select]
cd <DownloadLocation>
tar xvfz minibruteUI-0.0.1.tar.gz
cd minibruteUI-0.0.1
./configure --prefix=/home/<YourUsername>/usr 
make
make install
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!
Title: Re: Minibrute connection software- future linux option?
Post by: serjoscha on February 04, 2013, 10:08:29 pm
maxence, your are my hero!!
Wow, some options to work with linux!!!
 :) :) :) :)
Thanks for the effort with the software. Something to start with!!!!
 :o
Title: Re: Minibrute connection software- future linux option?
Post by: beefinator on February 05, 2013, 04:26:40 am
nice job  :D
it's pretty cool that it actually was that easy to reverse engineer.
Title: Re: Minibrute connection software- future linux option?
Post by: maxence on February 05, 2013, 04:34:26 pm
Quote
Attachments awaiting approval
 * minibruteUI (54.72 kB - downloaded 0 times.)
 * minibruteUI-0.0.1.tar.gz (105.29 kB - downloaded 0 times.)

Is there a reason my attachments are not approved yet ?
Title: Re: Minibrute connection software- future linux option?
Post by: Bruno@arturia on February 06, 2013, 11:40:16 am
Impressive job maxence!
thanks a lot for spending time doing it and for sharing too.

I didn't had the opportunity to try it because I don't have a Linux pc up and running, But I will give it a try as soon as possible.

By the way if you need any informations on the used protocol, feel free to ask me, we have no secret about it, and I would be happy to help you creating a reliable and fully functional version.
For the firmware update, it's true that it's much more complex, and risky. Actually the binary is encrypted, and I don't think I will be allowed to give you the key.

Anyway thanks again and Bravo!
Title: Re: Minibrute connection software- future linux option?
Post by: Jappe on April 05, 2015, 05:21:44 pm
Hello and thanks for this app!
I've tried it with Lubuntu 14.10 on a Acer Extensa 5230E and got some problems and errors.

At first I needed to install gcc and pkg (for compiling) and libusb.
Well, nothing complicated until now, but I still have a problem, because the app needs GTK+ 3.0. Lubuntu and LDXE can run GTK+ 3.0 apps, but not compile it, by default. After some research I found this http://askubuntu.com/questions/101306/how-do-i-install-gtk-3-0 (http://askubuntu.com/questions/101306/how-do-i-install-gtk-3-0).
Code: [Select]
sudo apt-get install libgtk-3-dev
With libgtk-3-dev it was possible to compile the app for me.

After 'make' and 'make install' I tried to run the app, but nothing happend. I executed it via terminal and got some usb permissions erros, which were avoidable with the use of 'sudo'  ::)
The app recognizes my Minibrute now, ("Minibrute Found !" or "No Minibrute :-(" if it's not connected) but after that a error displays, which I can't fix:
Code: [Select]
claim interface failed: Device or resource busy.
Anyone any ideas?  ???
Title: Re: Minibrute connection software- future linux option?
Post by: naught101 on October 15, 2015, 09:34:17 am
Did this ever go any further?

Also, is there any similarity between this and the Microbrute software? Has anyone tried to do a similar conversion for the micro? Maxence: how hard was it?

Bruno, did Arturia ever chase this up?
Title: Re: Minibrute connection software- future linux option?
Post by: k.rad on March 21, 2016, 08:28:51 pm

The app recognizes my Minibrute now, ("Minibrute Found !" or "No Minibrute :-(" if it's not connected) but after that a error displays, which I can't fix:
Code: [Select]
claim interface failed: Device or resource busy.
Anyone any ideas?  ???

i ran into this error too with Ubuntu 14.04LTS. Fortunately my linux buddy at work fixed this as follows.
additional commandline in the mbgui.c:

in line 536 put:
libusb_set_auto_detach_kernel_driver(h, 1);

in my understanding, this will detach the standard usb drivers in the Kernel.
This command is not available in the standard libusb-1.0.9 that comes with Ubuntu 14.04.
So you have to download the libusb update libusb-1.0.20 (i.e. on sourceforge) and somehow implement it to your system.
As i am new to the Linux universe, maybe there is someone out there with the skills to explain better how to exactly to do this.
Title: Re: Minibrute connection software- future linux option?
Post by: radiowaves on December 14, 2016, 12:57:04 am
Thanks for this software, I am still trying to configure it.

But this is just a reminder to Arturia that people buy HARDWARE explicitly to be less dependent on software. So why would I still need a computer just to set the midi channel....

Over 4000 views on this thread.
Title: Re: Minibrute connection software- future linux option?
Post by: dog01 on December 14, 2016, 11:23:04 am
thought i just mention that you can send midi cc to the minibrute to change the midi channel without a computer

there a full list of midi cc in the connection manual 

Parameter MIDI      CC     Value
Receive Channel 102cc  1 to 16, 17=All
Send Channel 103cc      1 to 16

i agree though hardware being tied to software to work or even just edit  in my mind is never a good thing...standalone is much better.
regards Dog01

Title: Re: Minibrute connection software- future linux option?
Post by: Slo.man on December 15, 2016, 03:33:22 pm
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.
    Quote
    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:
Code: [Select]
cd <DownloadLocation>
tar xvfz minibruteUI-0.0.1.tar.gz
cd minibruteUI-0.0.1
./configure --prefix=/home/<YourUsername>/usr 
make
make install
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!

Hi, thanks a lot for your work.

I'm new to Linux, recently built a DAW on AVlinux 2016 32bits and i cannot install it.
I checked in synaptic and libusb seems to be already installed:


  (http://imgur.com/mcZo43Ml.png)
 (http://i.imgur.com/mcZo43M.png)

Though i cannot install your program, that's what happens:
Code: [Select]
sam@AVlinux-DAW:~$ cd /home/sam/Downloads/
sam@AVlinux-DAW:~/Downloads$ tar xvfz minibruteUI-0.0.1.tar.gz
minibruteUI-0.0.1/
minibruteUI-0.0.1/config.h.in
minibruteUI-0.0.1/install-sh
minibruteUI-0.0.1/missing
minibruteUI-0.0.1/Makefile.in
minibruteUI-0.0.1/INSTALL
minibruteUI-0.0.1/COPYING
minibruteUI-0.0.1/mkinstalldirs
minibruteUI-0.0.1/src/
minibruteUI-0.0.1/src/mbgui.c
minibruteUI-0.0.1/src/minibrute.c
minibruteUI-0.0.1/src/minibrute.h
minibruteUI-0.0.1/configure
minibruteUI-0.0.1/Makefile.am
minibruteUI-0.0.1/README
minibruteUI-0.0.1/aclocal.m4
minibruteUI-0.0.1/ChangeLog
minibruteUI-0.0.1/depcomp
minibruteUI-0.0.1/configure.ac
minibruteUI-0.0.1/NEWS
minibruteUI-0.0.1/AUTHORS
sam@AVlinux-DAW:~/Downloads$ cd minibruteUI-0.0.1
sam@AVlinux-DAW:~/Downloads/minibruteUI-0.0.1$ ./configure --prefix=/home/sam/usr
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for cairo_create in -lcairo... yes
checking for gtk_button_new in -lgtk... no
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking for size_t... yes
checking for uint16_t... yes
checking for error_at_line... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for pkg-config... /usr/bin/pkg-config
checking for GTK+ - version >= 3.0.0... yes (version 3.20.7)
checking pkg-config is at least version 0.9.0... yes
checking for LIBUSB... no
configure: error: Package requirements (libusb-1.0 >= 1.0.0) were not met:

No package 'libusb-1.0' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables LIBUSB_CFLAGS
and LIBUSB_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
sam@AVlinux-DAW:~/Downloads/minibruteUI-0.0.1$ make
make: *** Pas de cible spécifiée et aucun makefile n'a été trouvé. Arrêt.
sam@AVlinux-DAW:~/Downloads/minibruteUI-0.0.1$ ./configure --prefix=/home/<YourUsername>/usr
bash: YourUsername: Aucun fichier ou dossier de ce type
sam@AVlinux-DAW:~/Downloads/minibruteUI-0.0.1$ make
make: *** Pas de cible spécifiée et aucun makefile n'a été trouvé. Arrêt.
sam@AVlinux-DAW:~/Downloads/minibruteUI-0.0.1$ make install

Anyone can help please ?
Title: Re: Minibrute connection software- future linux option?
Post by: BigB on August 06, 2018, 03:20:08 pm

But this is just a reminder to Arturia that people buy HARDWARE explicitly to be less dependent on software. So why would I still need a computer just to set the midi channel....


We may also remind Arturia that we Linux users pay the same price for the product and don't have access to all features (at least not without a LOT of hassles - and even then). As far as I'm concerned (recent owner of a drumbrute here) this really pisses me of  >:(
Title: Re: Minibrute connection software- future linux option?
Post by: megamarkd on November 30, 2018, 08:11:19 am
You can change all the options that require the software via MIDI as the all have a MIDI CC attached to them.

From the connection software manual:

Parameter|MIDI|CC Value

Receive Channel|102|1 to 16, 17=All

Send Channel|103|1 to 16

Sync Source|108|0 to 41 = Auto, 42 to 83 = Int, 84 to 127 = Ext

Env Legato Mode|109|0 to 63 = Off, 64 to 127 = On

LFO Retrig Mode|110|0 to 63 = Off, 64 to 127 = On

Note Priority|111|0 to 41 = Last, 42 to 83 = Low, 84 to 127 = High

Velocity Curve|112|0 to 41 = Lin, 42 to 83 = Log, 84 to 127 = Anti Log

Audio In Threshold|115|0 to 41 = Low, 42 to 83 = Mid, 84 to 127 = High

Aftertouch Curve|116|0 to 41 = Exponential,42 to 82 = Logarithmic, 83 to 127 = Linear

Arpeggiator Hold|117|0 to 63 = Off, 64 to 127 = On

Local ON/OFF|122 0 = turn off ; 127 = turn on