MIOS Studio build on RPi 2 B+ Raspbian Jessie

So just got MIOS Studio to build on RPi2 B+ with latest Raspbian Jessie 

Found Borfo’s thread;

< base_url >/topic/19271-blm-scalar-emulation-juce-app-compiled-for-the-raspberry-pi/?do=embed&embedComment=168021&embedDo=findComment#comment-168021

and this on the JUCE forum:

https://forum.juce.com/t/juce-on-the-raspberry-pi-opengl/9921

Following these for the most part, I installed:

 sudo apt-get -y install libfreetype6-dev sudo apt-get -y install libx11-dev sudo apt-get -y install libxinerama-dev sudo apt-get -y install libxcursor-dev sudo apt-get -y install mesa-common-dev sudo apt-get -y install libasound2-dev sudo apt-get -y install freeglut3-dev sudo apt-get -y install libxcomposite-dev sudo apt-get -y install libjack-jackd2-dev 

The libjack-dev that was originally listed will not install under Jessie, so found libjack-jackd2-dev which includes the first.

Then installed Gcc 4.7

 sudo apt-get install gcc-4.7 g++-4.7

I ended up with both the /juce folder (from the SVN Repo) and the /mios_studio source folder in the /home/pi/tools folder. I had tried with /mios_studio and /tools in /home/pi and with /tools in the /home/pi/mios_studio folder; it might work fine with the /juce and the /mios_studio folders in /home/pi but I got this working so…

At this point ‘plan A’ was to download  JUCE and use Projucer to edit the mios_studio project but could not run it on both an XP and Win8 machine. So ‘plan B’ it is.

Using the notes from the JUCE fourm above, 

Edited the Makefile in two places

First here:

 ifndef CONFIG CONFIG=Release endif

And then changed TARGET_ARCH here:

 ifeq ($(TARGET\_ARCH),) # TK: leads to segfault if the processor is older than the one the program was compiled with # I got this info from forum user Musical TARGET\_ARCH := -march=armv6 endif

Then in /mios_studio/JuceLibraryCode/modules/juce_gui_basics/ juce_gui_basics.h I added this #define:

 // This is an auto-generated file to redirect any included // module headers to the correct external folder. #include "../../../../juce/modules/juce\_gui\_basics/juce\_gui\_basics.h" #define JUCE\_USE\_XINERAMA 0

And last, in /mios_studio/JuceLibraryCode/AppConfig.h I added the last two #defines.

 //============================================================================== #define JUCE\_MODULE\_AVAILABLE\_juce\_audio\_basics 1 #define JUCE\_MODULE\_AVAILABLE\_juce\_audio\_devices 1 #define JUCE\_MODULE\_AVAILABLE\_juce\_audio\_formats 1 #define JUCE\_MODULE\_AVAILABLE\_juce\_audio\_processors 1 #define JUCE\_MODULE\_AVAILABLE\_juce\_audio\_utils 1 #define JUCE\_MODULE\_AVAILABLE\_juce\_core 1 #define JUCE\_MODULE\_AVAILABLE\_juce\_data\_structures 1 #define JUCE\_MODULE\_AVAILABLE\_juce\_events 1 #define JUCE\_MODULE\_AVAILABLE\_juce\_graphics 1 #define JUCE\_MODULE\_AVAILABLE\_juce\_gui\_basics 1 #define JUCE\_MODULE\_AVAILABLE\_juce\_gui\_extra 1 #define JUCE\_USE\_XSHM 0 #define JUCE\_USE\_XINERAMA 0 //==============================================================================

Finally, with these changes in place cd into ~/mios_studio/Builds/Linux and run make

The build took ~20mins (forgot to enable mulit cores). It threw this Warning on a lot of  the packages.

"warning: ‘void juce::ResizableWindow::setContentComponent(juce ::Component\*, bool, bool)’ is deprecated (declared at ...."

Finished and launches fine, but the window isn’t resizable :)) The Studio detects all my midi interfaces and sends note messages fine. I haven’t tested much else, just opened the other tools and they seem fine so far. Added a shortcut to the desktop and cracked a beer!

Yogi

Great compilation work,enjoy your beer :slight_smile:
Bests,
Jerome

Just now, Psykhaze said:

Great compilation work,enjoy your beer :slight_smile:
Bests,
Jerome

Thanks. Actually, I was a little wrong above- the window IS resizable. I was trying to ‘pull’ the frame (bad MSWin habit). But there is a resize handle in the lower right corner. Works but a bit laggy but does work.

Yogi

So after many months and a little testing I ran into a problem with the build, hex upload doesn’t work right. But it seems to be a general Linux issue. The issue is already reported in this thread,

http://discourse.midibox.org/t/topic/19372

And a work around

http://discourse.midibox.org/t/topic/19372

Midi In/Out and File browser works fine; haven’t tested any other tools.  Still to test the Hex upload work around so time will tell.

Yogi

EDIT: Tested upload with work around, direct entry of file path works fine. Yea!