Enable Jack audio vs PulseAudio?


#1

A continuation of a theme…but completely different problem, so I created a new topic…hope that is ok.

Situation so far…trying to compile an app written in 2016. Thanks to petros and some other sources I can get it to compile…sort of

However, the App requires Jack audio to work, I can get to compile with all the default audio files…
but the App won’t run and gives this error. (App writer says it is intended to use Jack)

gl_es_load: SUCCESSFUL
|fatal | void cinder::app::AppBase::executeLaunch()[197] Uncaught exception, type: cinder::audio::AudioContextExc, what: Context connect failed
terminate called after throwing an instance of ‘cinder::audio::AudioContextExc’
what(): Context connect failed
Aborted

Maybe I am mistaken to the cause, but the docs for this app require editing ~/Cinder/src/cinder/audio/Context.cpp

And everywhere you see “PulseAudio” you replace it with “Jack”

For example… (and the above error occurs with this default setting)

#elif defined( CINDER_LINUX )
#include “cinder/audio/linux/ContextPulseAudio.h”
#include “cinder/audio/linux/DeviceManagerPulseAudio.h”
#else

would look like

#elif defined( CINDER_LINUX )
#include “cinder/audio/linux/ContextJack.h”
#include “cinder/audio/linux/DeviceManagerJack.h”
#else

But the edited version (with Jack in place of PulseAudio) will not compile…

[> 100%] Linking CXX executable Debug/CollidoscopeApp/CollidoscopeApp

/home/pi/Cinder/lib/linux/armv7l/es2-rpi/Debug/libcinder.a(Context.cpp.o): In function cinder::audio::Context::master()': /home/pi/Cinder/src/cinder/audio/Context.cpp:98: undefined reference tocinder::audio::linux::ContextJack::ContextJack()’
/home/pi/Cinder/lib/linux/armv7l/es2-rpi/Debug/libcinder.a(Context.cpp.o): In function cinder::audio::Context::deviceManager()': /home/pi/Cinder/src/cinder/audio/Context.cpp:120: undefined reference tocinder::audio::linux::DeviceManagerJack::DeviceManagerJack()’
collect2: error: ld returned 1 exit status
CMakeFiles/CollidoscopeApp.dir/build.make:373: recipe for target ‘Debug/CollidoscopeApp/CollidoscopeApp’ failed
make[2]: *** [Debug/CollidoscopeApp/CollidoscopeApp] Error 1
CMakeFiles/Makefile2:67: recipe for target ‘CMakeFiles/CollidoscopeApp.dir/all’ failed
make[1]: *** [CMakeFiles/CollidoscopeApp.dir/all] Error 2
Makefile:83: recipe for target ‘all’ failed
make: *** [all] Error 2

Is there some setting somewhere to make it compile for Jack vs PulseAudio? Or is it an entirely unrelated problem?

For the record, I have not deleted the PulseAudio src and includes.

Thanks.