Juce with Jack


#1

I am working on porting to linux.  I had it building then I set JUCE_JACK to 1. 

When I built I got this:

/usr/include/jack/types.h:26:23: fatal error: uuid/uuid.h: No such file or directory


I checked where this header file should be with: apt-file search uuid/uuid.h

It indicated I needed boost so I installed with:

sudo apk-get install lobboost1.55-dev.

 

It still failes the same way.  There is a /usr/include/boost/uuid directory but there is no uuid.h but there is a uuid.hpp.

Do I need to build something for boost or jack before I can do this?

 

Mark


#2

Someone reported the same issue when building one of my apps on Linux recently. He resolved it by commenting out 

#include <uuid/uuid.h>

I cannot say however if this is the correct path to take here. I use Linux for all my development and I've never come across this problem before. I guess you can try it and let us know! 


#3

the uuid include in jack1 was a mistake, it's no longer there in latest git.

jack meta-data was initially going to use uuid/uuid.h, but the devs later decided to use their own internal implementation instead.


#4

Thanks,

 

I commented it out and it builds.


#5

I'm so confused.  I cannot get jack to work.  I must have a big hole in my understanding of how it works.

I have a focusrite scarlett 1820 connected via usb.  If I don't start jack, alsa only.  I can get the juce demo and my software to test to it (meter shows input and output).  My mixer program does the same.  I can also get it to work with the interanal mic and speaker via alsa.

But the demo is not built with jack, but my mixer is.   I configure jack to use this usb mixer, but nothing is there to route until I start my program. I open settings in my program and JUCE shows jack inputs and outputs of system and JUCEJack.  If  select system I can selecte channel pairs that match the hardware but the input does not work nor does test.  If I select JUCEJack, I see the channels but cannot enable them.  Sometimes when look at the router I will see mutliples of the JUCEJack devices.

I notice that every time I run that settings menu, the AudioDevice.xml file adds another entry, that my be a duplicate.  I assume this is why the router shows multiple devices.  (I am routing with catia)  Right now AudioDevice.xml it looks like this:

<?xml version="1.0" encoding="UTF-8"?>

<DEVICESETUP deviceType="JACK" audioOutputDeviceName="system" audioInputDeviceName="system"
             audioDeviceRate="44100" audioDeviceInChans="1111111111111111"
             audioDeviceOutChans="11111111111111111111" defaultMidiOutput="&lt;&lt; none &gt;&gt;"/>
<?xml version="1.0" encoding="UTF-8"?>

<DEVICESETUP deviceType="JACK" audioOutputDeviceName="JUCEJack-01" audioInputDeviceName="JUCEJack-01"
             audioDeviceRate="44100" defaultMidiOutput="&lt;&lt; none &gt;&gt;"/>
<?xml version="1.0" encoding="UTF-8"?>

<DEVICESETUP deviceType="JACK" audioOutputDeviceName="system" audioInputDeviceName="system"
             audioDeviceRate="44100" audioDeviceInChans="11111111" audioDeviceOutChans="11111111"
             defaultMidiOutput="&lt;&lt; none &gt;&gt;"/>
<?xml version="1.0" encoding="UTF-8"?>

<DEVICESETUP deviceType="JACK" audioOutputDeviceName="JUCEJack-01" audioInputDeviceName="JUCEJack-01"
             audioDeviceRate="44100" defaultMidiOutput="&lt;&lt; none &gt;&gt;"/>
<?xml version="1.0" encoding="UTF-8"?>

<DEVICESETUP deviceType="JACK" audioOutputDeviceName="system" audioInputDeviceName="system"
             audioDeviceRate="44100" defaultMidiOutput="&lt;&lt; none &gt;&gt;"/>

 

My setting window is simply this:

SettingsPanel::SettingsPanel()

{
  setSize (800, 500);

  Component *c = new AudioDeviceSelectorComponent(
    MainContentComponent::getSharedAudioDeviceManager(),
    0, 256,
    0, 256,
    true, true,
    true,
    false );

  c->setBounds (0, 0, 800, 500);
  addAndMakeVisible (c);
}

SettingsPanel::~SettingsPanel()
{
  deleteAllChildren ();
}

 

Why do I get duplicate entries in the AudioDevice.xml?  Is this why I see multiple entries when routing?

 


#6

The duplicate entries was because in the destructor of setting panel I was writing to a the AudioDevice.xml with a stream.  I changed it so when I open them i position to the beginning and truncate file before writing.  Now my file looks like this:

<?xml version="1.0" encoding="UTF-8"?>

<DEVICESETUP deviceType="JACK" audioOutputDeviceName="system" audioInputDeviceName=""
             audioDeviceRate="44100" audioDeviceInChans="111111111111111111"
             audioDeviceOutChans="11111111111111111111" defaultMidiOutput="&lt;&lt; none &gt;&gt;"/>


More like what I expect.

But I still cannot get audio through jack.  I need to leave but I look at if more and repost details later.