Arturia Forums
Hardware Instruments => MiniBrute => MiniBrute Technical Questions - FAQ => Topic started 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?
-
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.
-
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?
-
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" ;)
-
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.
-
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.
-
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:
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!
-
maxence, your are my hero!!
Wow, some options to work with linux!!!
:) :) :) :)
Thanks for the effort with the software. Something to start with!!!!
:o
-
nice job :D
it's pretty cool that it actually was that easy to reverse engineer.
-
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 ?
-
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!
-
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).
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:
claim interface failed: Device or resource busy.
Anyone any ideas? ???
-
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?
-
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:
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.
-
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.
-
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
-
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:
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:
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 ?
-
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 >:(
-
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