JACK Input and Outputs Reversed

I know this probably doesn’t affect the majority of JUCE users but I’m getting a fair bit of flack for our JACK support on Linux. It seems that the inputs and outputs are reversed when opening a JUCE JACK device as detailed here: https://www.kvraudio.com/forum/viewtopic.php?f=22&t=534699

In addition I’ve been pointed at a couple of open JACK based issues on GitHub: https://github.com/WeAreROLI/JUCE/issues/332
https://github.com/WeAreROLI/JUCE/issues/333

Just wanted to highlight these in case any JACK work was scheduled in the near future.

1 Like

In the JACK documentation, and as you can see in the “Simple Client”, the JACK audio inputs and outputs are labeled backwards… as in physical capture ports are considered output while physical playback input, at least in the “Jack_get_ports” function. As you can see here (from simple_client.c):

ports = jack_get_ports (client, NULL, NULL,
				JackPortIsPhysical|JackPortIsOutput);
	if (ports == NULL) {
		fprintf(stderr, "no physical capture ports\n");
		exit (1);
}

Just to point out this may be the underlying issue - kind of sounds like it. Anyways, in my experience JACK is a mess and I was happy to use JUCE instead!!
But regardless, I wish you best of luck!

One of our users submitted a PR for this :wink: : https://github.com/WeAreROLI/JUCE/pull/690