Weird behaviour of JACK Ports with Juce Demo


#1

Hi,

I tried for the first time in a long while to setup JACK on my Ubuntu environment.
After a few attempts I finally managed to set it up correctly. My validation test was to run “Virtual Keyboard” and route its midi output into “amSynth” midi input, then “amSynth” audio outputs to the system sink, and hear the result.

So far, so good. :slight_smile:

Then I tried to put JuceDemo in the picture. I modified the project to get JACK support, which wasn’t enabled by default. So now I get a choice of output device in the audio setup dialog, and I pick JACK. Here the weird stuff begins:
[list]
[] When I select an input and an output from the combo boxes, JuceJack device only shows its input ports.
[attachment=2]juce-jack-input-output.png[/attachment][/
]
[] When I select an output and no input, same behaviour: only the input ports are available.
[attachment=1]juce-jack-no-input-system-out.png[/attachment][/
]
[] Only when I select an input (note it’s not possible if no other device with output ports is available), and no output, JACK tells me that the JuceJack device has Output ports. I can plug them to my System device and get sound from the demo’s synth player.
[attachment=0]juce-jack-no-output.png[/attachment][/
][/list]

Note I reproduced on Juce tip but my Ubuntu is not the latest one (oneiric). Still I don’t think there were revolutionary changes in JACK’s code nor in Juce’s JACK handling in the meantime.

Has anyone ever encountered such problem? Is it a JACK config problem (although I didn’t find anything about it on google) or a Juce one?
Should I dig into Juce’s JACK code? (please tell me no… :cry: )


#2

I’m afraid I mostly rely on the more linux-savvy users to point me in the right direction when it comes to things like this… Happy to help with ideas, but haven’t time to investigate it myself right now.


#3

Wish I could help but cannot reproduce. Trying amsynth + JuceDemo now and JuceJack shows both in and out ports in patchage (the gui with the nice connected boxes) correctly.

However, it strikes me that labels “active output channels” and “active input channels” in the JuceDemo Audio Device Setup page seem to be swapped: capture_* must be input channels, playback_* must be output channels, no?


#4

[quote=“grebneke”]
However, it strikes me that labels “active output channels” and “active input channels” in the JuceDemo Audio Device Setup page seem to be swapped: capture_* must be input channels, playback_* must be output channels, no?[/quote]
Agreed. I didn’t mention it because I was concerned by the other problem :slight_smile:

Would you mind printing out your versions of the various packages involved, so that I could check if my configuration is buggy or not? As well as your Jack command line (or what qjackctl is running), and your juce version? That would be great.

I will have a look at Amsynth’s code and compare the way it registers its ports to the way Juce does it. Just in case…


#5

[quote=“Dri”]
Would you mind printing out your versions of the various packages involved, so that I could check if my configuration is buggy or not? As well as your Jack command line (or what qjackctl is running), and your juce version? That would be great.[/quote]

I was just thinking that maybe you’re running jackd2? I haven’t tried that with juce.

amsynth: 1.2.3
Juce: latest git tip
jackd version 0.120.1 (synaptic calls it: 1:0.118+svn4104-1ubuntu2)
/usr/bin/jackd -p128 -t1000 -dalsa -dhw:0,0 -r44100 -p128 -n3

Did I forget anything relevant?