borfo

BLM-Scalar emulation JUCE app compiled for the Raspberry Pi

8 posts in this topic

I got the BLM scalar app working on the Raspberry Pi (Debian) - I can use the Pi to run the Novation Launchpad BLM, it works pretty much perfectly, although it leaves some lit LEDs behind the current step indicator occasionally until it passes again.  No big deal...

 

The compiled Raspberry Pi binary is here:

 

http://www.boxx.ca/BLM-Rpi

 

 

Let me know if it works for you.

 

It segfaults if it is run from the terminal without X (TK, could this be made headless?).  So, set your Pi to automatically log in, startx, and then start the BLM emulator, and you've got a headless device to run the Launchpad BLM.

 

you might have to install the following JUCE dependencies on your pi:

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

 

Needs a powered USB hub if you're running the SEQ and two launchpads from the Pi...  But you can power the Pi from the same hub.

 

############################

 

To compile it yourself:

On your computer:

Open the BLM scalar app in introjucer.  Add the following in the Extra Processor Definitions section:

JUCE_USE_XSHM=0 JUCE_USE_XINERAMA=0

Save the project, and copy it over to your Pi.  I copied the whole MIOS32 directory over.

On your Pi:

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

(JUCE dependencies)

Enter the JUCE project's Builds/Linux directory.

Recent JUCE builds require GCC 4.7 - my compile was throwing errors before I did this:

sudo apt-get install gcc-4.7 g++-4.7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.6
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 40 --slave /usr/bin/g++ g++ /usr/bin/g++-4.7
sudo update-alternatives --config gcc

...and choose 4.7

...then "make".  The compile is slow, but it worked for me - took about half an hour.

Edited by borfo

Share this post


Link to post
Share on other sites

With a headless version of the BLM scalar thing with a configuration file that you could edit to set up your SEQ and Launchpads (and ideally some handling of disconnects and reconnects), we could put together a standard Raspberry Pi OS SD card image that auto-launches the BLM app on boot...  It could be set up to mount with a read-only root so you could just unplug it to turn it off without worrying too much about filesystem integrity.

 

It'd be pretty easy to add something in the OS image using mididings and a USB to MIDI adapter to translate USB MIDI to DIN MIDI and other MIDI routing, too...

Edited by borfo

Share this post


Link to post
Share on other sites

Sound like a very interesting extension!

I tried to get the BLM app to run on a Raspberry Pi over the weekend without any luck.

I'll give this a try when I get a chance in the coming days. If I can get this working reliably I think I'll add a Raspberry Pi into the Launchpad Mini frame I've made. It would be great to have an embedded solution.

An OS image for the Raspberry Pi pre configured would be a great idea once all the kinks are ironed out.

Which Raspberry Pi are you using?

Share this post


Link to post
Share on other sites

it would be cool is if could be connected to the SEQ via OSC

Edited by Altitude

Share this post


Link to post
Share on other sites

Good news: I left it running all night, and it was still going when I woke up.  So, it's at least that stable.

 

 

But: I just configured the Pi to autostart X, and log in automatically, then run the BLM.  It runs fine, but it's not remembering settings anymore, so I have to manually configure the launchpads and SEQ connection each time it runs...  Not sure why that is, it was remembering settings before.  Anyone know where it would be storing the settings from the last time it ran?

 

 

Which Raspberry Pi are you using?

 

Model B (not the B+) with the standard Debian install.

Edited by borfo

Share this post


Link to post
Share on other sites

I don't know.  I'm using it headless, with 4 novation launchpads.  The launchpads support many simultaneous button presses, not sure about the onscreen BLM emulator.

Share this post


Link to post
Share on other sites

If you're having trouble running the binary, make sure you've installed the JUCE dependencies:

 

sudo apt-get update

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

 

And that you have set the executable bit on the BLM binary file - either right click on the file, select "properties" or whatever, and look for the permissions section - check "allow executing this file as a program" or whatever (not sure of the exact menu names and wording offhand.)

 

Or, from a terminal, in the directory where the binary is:

chmod +x [NAMEofBLMbinary]

 

If you still have problems, run the binary from a terminal - that may show some error messages that will help diagnose what the issue is.  From a terminal in the directory where the binary is:

 

sh ./[NAMEofFILE]
Edited by borfo

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now