I’ve been on a Openframeworks trip for the past eight years or so and have wondered about starting up with Cinder lib at some point of time. I’m trying to see if 2020 is the year it’ll finally happen.

Following some helpful instructions from Kousaka Kazuma:

Make sure cmake is installed sudo apt install cmake

and Gstreamer and associated libraries

sudo apt-get install libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libgl1-mesa-dev libgles2-mesa-dev zlib1g-dev libfontconfig1-dev libsndfile1 libsndfile1-dev libpulse-dev libasound2-dev libcurl4-gnutls-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-libav gstreamer1.0-alsa gstreamer1.0-pulseaudio libboost-filesystem-dev

I’ve tried installing libmpg through apt but that doesn’t seem to work yet, so let’s build from source.

wget https: //www.mpg123.de/download/mpg123-1.24.0.tar.bz2
tar -xvf mpg123-1.24.0.tar.bz2
cd mpg123-1.24.0
./configure --prefix=/opt/local
make && sudo make install

Now to get Cinder from the GitHub repo

git clone --recursive https: //github.com/cinder/Cinder.git
cd Cinder
mkdir build && cd build
cmake ..
make -j 4

We can test this by going into the BasicApp sample project, and running it

cd samples/BasicApp/proj/cmake
mkdir build && cd build
cmake .. && make
./Debug/BasicApp/BasicApp

If this starts up a new window with a blank screen, we are golden. Hey, that’s what the link in the start did to prove it works, I’m still starting out.

Because I usually use my Jetson through SSH I have to specify the display to be used to run visual apps. I use the same system for my Openframeworks apps.

export DISPLAY=:0 && ./Debug/BasicApp/BasicApp

To make things even easier I’ve added some aliases to my .bash_aliases and a cinderRun.sh shell script.

contents of cinderRun.sh

#!/bin/bash

CURRENT=`pwd`
BASENAME=`basename "$CURRENT"`
./proj/cmake/build/Debug/"$BASENAME"/"$BASENAME"

exit;

and this is added to .bash_aliases

alias extrun="export DISPLAY=:0 &&"
alias maker="make && make run"
alias cinderbuild="cd ./proj/cmake && mkdir build && cd build && cmake .. && make && cd ../../../"
alias cinderrun="{PATH-TO}/cinderRun.sh"
alias cinderclean="rm -rf ./proj/cmake/build"

Now we can build our app with cinderbuild and then either run cinderrun if you are working directly on the Jetson or extrun cinderrun if you are connecting through SSH. Also the build folder can be cleaned up with cinderclean.