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