Giter Club home page Giter Club logo

jack1's People

Contributors

adiknoth avatar bmwiedemann avatar devnexen avatar domt4 avatar drobilla avatar dsacre avatar dvzrv avatar erikd avatar falktx avatar jcowgill avatar jdek avatar jeremyhu avatar jwoithe avatar mdionisio avatar mxmilkiib avatar nedko avatar pauldavisthefirst avatar petern avatar redtide avatar sonicpp avatar spotlightkid avatar torbenh3 avatar uladox avatar ventosus avatar x42 avatar yurivict avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jack1's Issues

Crash when using jack_load with an invalid internal client name twice

jack_load is causing JACK1 to crash when called twice with a random name. example:

falktx@falkTX-Laptop:~$ jack_load meh
could not load jack_load, status = 0x81
falktx@falkTX-Laptop:~$ jack_load meh
cannot read server event (Success)
cannot continue execution of the processing graph (Bad file descriptor)
graph error - calling shutdown handler
cannot read result for request type 20 from server (No such file or directory)
unique internal client name `meh' assigned
falktx@falkTX-Laptop:~$ cannot send request type 7 to server
cannot read result for request type 7 from server (Broken pipe)
cannot send request type 7 to server
cannot read result for request type 7 from server (Broken pipe)

the "invalid" name doesn't need to be the same twice. example:

falktx@falkTX-Laptop:~$ jack_load 1st_somename
could not load jack_load, status = 0x81
falktx@falkTX-Laptop:~$ jack_load 2nd_another
cannot read server event (Success)
cannot continue execution of the processing graph (Bad file descriptor)
graph error - calling shutdown handler
cannot read result for request type 20 from server (No such file or directory)
unique internal client name `2nd_another' assigned
cannot send request type 7 to server
cannot read result for request type 7 from server (Broken pipe)
cannot send request type 7 to server
cannot read result for request type 7 from server (Broken pipe)

Is possible to create a virtual device in jack?

I am looking for create a virtual microphone and e.g. in a Java application send packets to this microphone then this microphone will be used in any application e.g. Skype.

Is it possible? If yes can you give me a example of how to create this virtual device and how send packets to it? If there already have examples please show me where are they.

P.S. I want to do all this in command line or programatically

Thanks

jackd does not report the final configured rate correctly for alsa device

So I have a USB audio class device that supports only 16Bit/48KHz signal. I confirmed that by checking the hardware parameters with aplay -l. Windows also told me so.

HW Params of device "hw:W2":
--------------------
ACCESS:  MMAP_INTERLEAVED RW_INTERLEAVED
FORMAT:  S16_LE
SUBFORMAT:  STD
SAMPLE_BITS: 16
FRAME_BITS: 32
CHANNELS: 2
RATE: 48000
PERIOD_TIME: [1000 2730667)
PERIOD_SIZE: [48 131072]
PERIOD_BYTES: [192 524288]
PERIODS: [2 1024]
BUFFER_TIME: [2000 5461334)
BUFFER_SIZE: [96 262144]
BUFFER_BYTES: [384 1048576]
TICK_TIME: ALL
--------------------

When I start jackd on it with -r 44100, neither does it tell me that this rate can't be used with that device, nor does it report back the fact that it started the device with the only supported rate (48000):

[tom@localhost ~]$ jackd -d alsa -d hw:W2 -r 44100 -P
jackd 0.125.0
Copyright 2001-2009 Paul Davis, Stephane Letz, Jack O'Quinn, Torben Hohn and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details

JACK compiled with System V SHM support.
loading driver ..
apparent rate = 44100
creating alsa driver ... hw:W2|-|1024|2|44100|0|0|nomon|swmeter|-|32bit
configuring for 44100Hz, period = 1024 frames (23.2 ms), buffer = 2 periods
ALSA: final selected sample format for playback: 16bit little-endian
ALSA: use 2 periods for playback

I once thought that maybe jack use libsamplerate or zita-resampler to resample the mix before sending it off to the device. But I read from an old issue that jack does not do that. Finally mpv showed me that I was wrong:

[cplayer] Starting playback...
[af] Audio filter chain:
[af]   [in] 44100Hz stereo 2ch floatp
[af]   [out] 44100Hz stereo 2ch floatp
[af]   [ao] 44100Hz stereo 2ch floatp
[ao] Trying audio driver 'jack'
[ao/jack] requested format: 44100 Hz, stereo channels, floatp
[ao/jack] Channel layouts:
[ao/jack]  - waveext
[ao/jack] result: stereo
[ao/jack] using soft-buffer of 9600 samples.
[cplayer] AO: [jack] 48000Hz stereo 2ch floatp
[cplayer] AO: Description: JACK audio output
[af] Adding filter lavrresample 
[af] Audio filter chain:
[af]   [in] 44100Hz stereo 2ch floatp
[af]   [lavrresample] 48000Hz stereo 2ch floatp [a]
[af]   [out] 48000Hz stereo 2ch floatp
[af]   [ao] 48000Hz stereo 2ch floatp
[cplayer] starting audio playback
[cplayer] playback restart complete

So jackd did open the device with the rate 48000. It just didn't tell me that.

netjack crash issue in JackMidiPort.cpp

Hi there,

All machines are:
jack-1.9.10
Linux 3.14.12-rt9
Slackware based, most things recompiled native.

I run netjack at 96KHz with: jack_netsource -H 192.168.200.2 -i64 -o0 -O24 -I0 -b32 -n1 -p 5000 -N sampler
This is to connect Ardour on a machine to LinuxSampler on another.
Everything works fine most of the time without xruns, but from time to time I get this crash, especially when under pressure of many midi notes:

jack_netsource: ../common/JackMidiPort.cpp:133: void Jack::MidiBufferMixdown(void_, void_*, int, jack_nframes_t): Assertion `next_event != 0' failed.

It is always the same and happens once or twice an hour in my workflow.
I can't find anything related to that.
Any idea where to start / what I can do?

The source line 133: https://github.com/jackaudio/jack2/blob/master/common/JackMidiPort.cpp#L133
Seems like a similar issue but gives no clue: https://code.google.com/p/amsynth/issues/detail?id=64

Thanks a lot!

Jack fails to build

Latest jack1 git fails to compile with the following error.

libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -D_FORTIFY_SOURCE=2 -I../config -I.. -I.. -I../include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall -O3 -fomit-frame-pointer -ffast-math -funroll-loops -march=native -mtune=native -msse -mfpmath=sse -DJACK_LOCATION=\"/usr/bin\" -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -m3dnow -msse -I../config -I.. -I.. -I../include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall -O3 -fomit-frame-pointer -ffast-math -funroll-loops -march=native -mtune=native -msse -mfpmath=sse -c client.c -o libjack_la-client.o >/dev/null 2>&1
/bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..   -D_FORTIFY_SOURCE=2 -I../config -I.. -I.. -I../include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall  -O3 -fomit-frame-pointer -ffast-math -funroll-loops -march=native -mtune=native -msse -mfpmath=sse -DJACK_LOCATION=\"/usr/bin\" -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -m3dnow -msse -I../config -I.. -I.. -I../include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall  -O3 -fomit-frame-pointer -ffast-math -funroll-loops -march=native -mtune=native -msse -mfpmath=sse -c -o libjack_la-intclient.lo `test -f 'intclient.c' || echo './'`intclient.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -D_FORTIFY_SOURCE=2 -I../config -I.. -I.. -I../include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall -O3 -fomit-frame-pointer -ffast-math -funroll-loops -march=native -mtune=native -msse -mfpmath=sse -DJACK_LOCATION=\"/usr/bin\" -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -m3dnow -msse -I../config -I.. -I.. -I../include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall -O3 -fomit-frame-pointer -ffast-math -funroll-loops -march=native -mtune=native -msse -mfpmath=sse -c intclient.c  -fPIC -DPIC -o .libs/libjack_la-intclient.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -D_FORTIFY_SOURCE=2 -I../config -I.. -I.. -I../include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall -O3 -fomit-frame-pointer -ffast-math -funroll-loops -march=native -mtune=native -msse -mfpmath=sse -DJACK_LOCATION=\"/usr/bin\" -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -m3dnow -msse -I../config -I.. -I.. -I../include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall -O3 -fomit-frame-pointer -ffast-math -funroll-loops -march=native -mtune=native -msse -mfpmath=sse -c intclient.c -o libjack_la-intclient.o >/dev/null 2>&1
/bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..   -D_FORTIFY_SOURCE=2 -I../config -I.. -I.. -I../include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall  -O3 -fomit-frame-pointer -ffast-math -funroll-loops -march=native -mtune=native -msse -mfpmath=sse -DJACK_LOCATION=\"/usr/bin\" -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -m3dnow -msse -I../config -I.. -I.. -I../include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall  -O3 -fomit-frame-pointer -ffast-math -funroll-loops -march=native -mtune=native -msse -mfpmath=sse -c -o libjack_la-messagebuffer.lo `test -f 'messagebuffer.c' || echo './'`messagebuffer.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -D_FORTIFY_SOURCE=2 -I../config -I.. -I.. -I../include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall -O3 -fomit-frame-pointer -ffast-math -funroll-loops -march=native -mtune=native -msse -mfpmath=sse -DJACK_LOCATION=\"/usr/bin\" -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -m3dnow -msse -I../config -I.. -I.. -I../include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall -O3 -fomit-frame-pointer -ffast-math -funroll-loops -march=native -mtune=native -msse -mfpmath=sse -c messagebuffer.c  -fPIC -DPIC -o .libs/libjack_la-messagebuffer.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -D_FORTIFY_SOURCE=2 -I../config -I.. -I.. -I../include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall -O3 -fomit-frame-pointer -ffast-math -funroll-loops -march=native -mtune=native -msse -mfpmath=sse -DJACK_LOCATION=\"/usr/bin\" -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -m3dnow -msse -I../config -I.. -I.. -I../include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall -O3 -fomit-frame-pointer -ffast-math -funroll-loops -march=native -mtune=native -msse -mfpmath=sse -c messagebuffer.c -o libjack_la-messagebuffer.o >/dev/null 2>&1
/bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..   -D_FORTIFY_SOURCE=2 -I../config -I.. -I.. -I../include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall  -O3 -fomit-frame-pointer -ffast-math -funroll-loops -march=native -mtune=native -msse -mfpmath=sse -DJACK_LOCATION=\"/usr/bin\" -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -m3dnow -msse -I../config -I.. -I.. -I../include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall  -O3 -fomit-frame-pointer -ffast-math -funroll-loops -march=native -mtune=native -msse -mfpmath=sse -c -o libjack_la-pool.lo `test -f 'pool.c' || echo './'`pool.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -D_FORTIFY_SOURCE=2 -I../config -I.. -I.. -I../include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall -O3 -fomit-frame-pointer -ffast-math -funroll-loops -march=native -mtune=native -msse -mfpmath=sse -DJACK_LOCATION=\"/usr/bin\" -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -m3dnow -msse -I../config -I.. -I.. -I../include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall -O3 -fomit-frame-pointer -ffast-math -funroll-loops -march=native -mtune=native -msse -mfpmath=sse -c pool.c  -fPIC -DPIC -o .libs/libjack_la-pool.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -D_FORTIFY_SOURCE=2 -I../config -I.. -I.. -I../include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall -O3 -fomit-frame-pointer -ffast-math -funroll-loops -march=native -mtune=native -msse -mfpmath=sse -DJACK_LOCATION=\"/usr/bin\" -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -m3dnow -msse -I../config -I.. -I.. -I../include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall -O3 -fomit-frame-pointer -ffast-math -funroll-loops -march=native -mtune=native -msse -mfpmath=sse -c pool.c -o libjack_la-pool.o >/dev/null 2>&1
/bin/bash ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I..   -D_FORTIFY_SOURCE=2 -I../config -I.. -I.. -I../include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall  -O3 -fomit-frame-pointer -ffast-math -funroll-loops -march=native -mtune=native -msse -mfpmath=sse -DJACK_LOCATION=\"/usr/bin\" -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -m3dnow -msse -I../config -I.. -I.. -I../include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall  -O3 -fomit-frame-pointer -ffast-math -funroll-loops -march=native -mtune=native -msse -mfpmath=sse -c -o libjack_la-port.lo `test -f 'port.c' || echo './'`port.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -D_FORTIFY_SOURCE=2 -I../config -I.. -I.. -I../include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall -O3 -fomit-frame-pointer -ffast-math -funroll-loops -march=native -mtune=native -msse -mfpmath=sse -DJACK_LOCATION=\"/usr/bin\" -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -m3dnow -msse -I../config -I.. -I.. -I../include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall -O3 -fomit-frame-pointer -ffast-math -funroll-loops -march=native -mtune=native -msse -mfpmath=sse -c port.c  -fPIC -DPIC -o .libs/libjack_la-port.o
port.c: In function 'jack_port_rename':
port.c:816:3: error: format not a string literal and no format arguments [-Werror=format-security]
   snprintf ((char *) req.x.connect.source_port, JACK_PORT_NAME_SIZE-1, old_name);
   ^
port.c:816:3: error: format not a string literal and no format arguments [-Werror=format-security]
port.c:817:3: error: format not a string literal and no format arguments [-Werror=format-security]
   snprintf ((char *) req.x.connect.destination_port, JACK_PORT_NAME_SIZE-1, new_name);
   ^
port.c:817:3: error: format not a string literal and no format arguments [-Werror=format-security]
cc1: some warnings being treated as errors

Can't build jack1 with --prefix

I have installed JACK2 already, but I need to compile JACK1 and I can't do it.

$ ./configure --prefix=/opt/jack1-git
configure: loading site script /usr/share/site/x86_64-unknown-linux-gnu
checking existing, conflicting JACK installs...

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
You appear to have at least one existing installation of JACK.

Complete or partial JACK installs exist in: /usr/lib

Installing this version will leave at least one of these
existing installations installed and this will probably break
JACK on your machine.

Before building, you should first remove the existing JACK
installation(s).

Alternatively use ./configure --prefix=... to force overwriting
the existing install.

WARNING: ON ANY DEBIAN-DERIVED DISTRIBUTION (Debian, Ubuntu etc)
CHANGING THE INSTALLATION PREFIX WILL NOT PRODUCE A WORKING JACK
INSTALL. Please contact the distribution packager for JACK and
ask them to fix their packaging.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Possibility of Jackd sink disconnection/re-connection from command line?

Hi,

Currently I'm using jack2 to connect and disconnect from various Linux music applications on a headless Server. The command line tool I use is "connect" and works well. Like 'connect' I also need at times to simply disconnect and reconnect the ALSA hw:x sink from the jackd server freeing up the sound card, is this possible?

Similar to this redirect; if I start jackd with -d dummy then my sound card is free. When I want to connect the jack server to my sound card I can use alsa_out and 'connect' / 'disconnect' apps to direct the music connections. It's a bit long winded though..

So ultimately I would like to see my sound card disconnected when the jackd server is not being used - however it's done.

Thanks.

configure's use of mmacosx-version-min breaks compile on Mojave

configure sets -mmacosx-version-min=10.4 which results in jack attempting to link against -lgcc_s.10.4 during compile.

Both libgcc_s.10.4.dylib and libgcc_s.10.5.dylib were removed in macOS 10.14, so the build fails like this:

ld: library not found for -lgcc_s.10.4
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [libjack.la] Error 1
make: *** [install-recursive] Error 1

-mmacosx-version-min=10.6 seems to be the absolute minimum if you intend to support macOS Mojave & want to keep it hardcoded, but another option could be to respect MACOSX_DEPLOYMENT_TARGET and only default to 10.6 (or newer) if that isn't set.

jackd gets blocked when a client gets killed

Hi,

While using clap-jack-host, I often just kill the client with Ctrl+C in the console and pretty often qjackctl stops refreshing and it seems that jackd gets locked.

Thanks,
Alex.

issues with tiny core linux

Im tryting to run jackd on my tiny core linux build and i get line 1: syntax error : unexpected "("

also, ive installed jack-lib, jack, and jack-dev and when i go to compile i get this error
"cannot find -ljack"

Possible to get Jack2 to follow changes in bitrate from source?

Hi,

I have cross-compiled and am running Jack2 on a headless ARM server ( not RPI nor off the shelf product ) and I'm experimenting with MPD connectivity. Directly connecting to ALSA within the MPD's conf will enable me to play any sample rate at it's proper rate i.e no re-sampling to 48000. However connecting to Jack2 I've noticed whatever the sample rate of the song is it's always re-sampled to 48000. Is it possible for Jack2 to follow the actual sample rate offered by MPD ie 96K/24bit to be passed to my DAC changing on a per song basis? No matter what I test everything gets re-sampled to 48000 using Jack2.

Thanks.

CoreAudio driver input doesn't work

It works fine (doesn't crash) without asking for input:

user@computer ~/W/o/jack1> jackd -d coreaudio                                                                                                                                                       [master]
jackd 0.125.0rc1
Copyright 2001-2009 Paul Davis, Stephane Letz, Jack O'Quinn, Torben Hohn and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details

JACK compiled with POSIX SHM support.
loading driver ..
2016-03-28 01:39:03.084 jackd[67564:3357229] 01:39:03.084 WARNING:  140: This application, or a library it uses, is using the deprecated Carbon Component Manager for hosting Audio Units. Support for this will be removed in a future release. Also, this makes the host incompatible with version 3 audio units. Please transition to the API's in AudioComponent.h.
Error calling AudioUnitSetProperty - kAudioUnitProperty_StreamFormat kAudioUnitScope_Output
^Cjack main caught signal 2
poll failed (Bad file descriptor)

However, it doesn't find any input.

user@computer ~/W/o/jack1> jack_lsp                                                                                                                                                             [osx-fixes]
system:playback_1
system:playback_2

When explicitly asking for input, it just fails.

user@computer ~/W/o/jack1> jackd -d coreaudio -C                                                                                                                                                    [master]
jackd 0.125.0rc1
Copyright 2001-2009 Paul Davis, Stephane Letz, Jack O'Quinn, Torben Hohn and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details

JACK compiled with POSIX SHM support.
loading driver ..
2016-03-28 01:37:55.778 jackd[67560:3356879] 01:37:55.777 WARNING:  140: This application, or a library it uses, is using the deprecated Carbon Component Manager for hosting Audio Units. Support for this will be removed in a future release. Also, this makes the host incompatible with version 3 audio units. Please transition to the API's in AudioComponent.h.
Error calling AudioUnitSetProperty - kAudioOutputUnitProperty_CurrentDevice
Cannot open the coreaudio driver
cannot load driver module coreaudio
poll failed (Bad file descriptor)

It exits immediately after failure.

Please verify if CoreAudio works with sample rates different from 44.1k

I am running JACK1 on macOS Sierra. When jackd is running with a samplerate that is not 44.1kHz, nothing is captured on the inputs. The system.capture_* ports are always returning bit-perfect silence.

jackd -dcoreaudio -r192000 -p256

The funny thing is that outputs (on the same device) work at any supported sample rate. The metering on the sound card shows external signal and I can see this signal with other CoreAudio applications, such as REAPER.

I would like to find out if the issue is my soundcard's drivers (Avid HD Native) or the CoreAudio backend of JACK1. Could someone verify with their soundcard?

Best regards

[REPLACED IN JACK2]Jack for Windows / Problem with PortAudio

Hello !

I followed the tuto for installing jackforwindows, but I have this when I try to launch Portaudio:

jackdmp 1.9.11 Copyright 2001-2005 Paul Davis and others. Copyright 2004-2016 Grame. jackdmp comes with ABSOLUTELY NO WARRANTY This is free software, and you are welcome to redistribute it under certain conditions; see the file COPYING for details Drivers/internals found in : C:\Windows Drivers/internals found in : C:\Windows JACK server starting in realtime mode with priority 10 self-connect-mode is "Don't restrict self connect requests" Failed to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0892&subsys_14627681&rev_1003#4&2f6cd8e8&0&0101#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\emicinwave Failed to create filter for \\?\usb#vid_2467&pid_2034&mi_00#7&2aa87b6d&0&0000#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\global Failed to create filter for \\?\hdaudio#func_01&ven_10de&dev_0016&subsys_10de0101&rev_1001#5&2b8efc27&0&0101#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\wave04 Failed to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0892&subsys_14627681&rev_1003#4&2f6cd8e8&0&0101#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\espdifout2wave Failed to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0892&subsys_14627681&rev_1003#4&2f6cd8e8&0&0101#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\eheadphonewave Failed to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0892&subsys_14627681&rev_1003#4&2f6cd8e8&0&0101#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\espdifoutwave Failed to create filter for \\?\usb#vid_2467&pid_2034&mi_00#7&2aa87b6d&0&0000#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\global Failed to create filter for \\?\hdaudio#func_01&ven_10de&dev_0016&subsys_10de0101&rev_1001#5&2b8efc27&0&0101#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\wave04 Failed to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0892&subsys_14627681&rev_1003#4&2f6cd8e8&0&0101#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\emicinwave Failed to create filter for \\?\usb#vid_2467&pid_2034&mi_00#7&2aa87b6d&0&0000#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\global Failed to create filter for \\?\hdaudio#func_01&ven_10de&dev_0016&subsys_10de0101&rev_1001#5&2b8efc27&0&0101#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\wave04 Failed to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0892&subsys_14627681&rev_1003#4&2f6cd8e8&0&0101#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\espdifout2wave Failed to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0892&subsys_14627681&rev_1003#4&2f6cd8e8&0&0101#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\eheadphonewave Failed to create filter for \\?\hdaudio#func_01&ven_10ec&dev_0892&subsys_14627681&rev_1003#4&2f6cd8e8&0&0101#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\espdifoutwave Failed to create filter for \\?\usb#vid_2467&pid_2034&mi_00#7&2aa87b6d&0&0000#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\global Failed to create filter for \\?\hdaudio#func_01&ven_10de&dev_0016&subsys_10de0101&rev_1001#5&2b8efc27&0&0101#{6994ad04-93ef-11d0-a3cc-00a0c9223196}\wave04

Can you help me please?

Thank you very much in advance
Jonathan

"could not handle external client request" on OSX

Since the latest release, jack_lsp seems to work (yay!) but jackd is still showing:

could not handle external client request

Previously I saw this when running JACK commands, but I figured it was related to jack_lsp not showing all of the inputs/outputs. However I believe @joshdekock pointed out they are unrelated issues.

Jack looks for dead Celt codec

Celt the codec has been merged into Opus quite some time ago, but Jack is still looking for Celt's headers. Celt is officially deprecated and unmaintained by upstream.

Any chance of Jack making the switch at some point, out of interest?

Useless files in config/cpu

There seem to be lots of files in config/cpu which are not used anywhere.

Only these directories are used:

  • config/cpu/generic
  • config/cpu/i386
  • config/cpu/i486
  • config/cpu/powerpc

I suggest removing all the non-generic atomicity.h files which seem redundant, wire up the unused cycles.h files, and completely remove the other directories.

Please fix clang compiler warnings

Clang prints these warnings:

netjack.c:410:86: warning: incompatible pointer to integer conversion passing 'CELTMode *' (aka 'struct CELTMode *') to parameter of type 'int' [-Wint-conversion]
            netj->capture_srcs = jack_slist_append(netj->capture_srcs, celt_decoder_create( netj->celt_mode, 1, NULL ) );
                                                                                            ^~~~~~~~~~~~~~~
/usr/local/include/celt/celt.h:264:45: note: passing argument to parameter 'sampling_rate' here
EXPORT CELTDecoder *celt_decoder_create(int sampling_rate, int channels, int *error);
                                            ^
netjack.c:457:88: warning: incompatible pointer to integer conversion passing 'CELTMode *' (aka 'struct CELTMode *') to parameter of type 'int' [-Wint-conversion]
            netj->playback_srcs = jack_slist_append(netj->playback_srcs, celt_encoder_create( celt_mode, 1, NULL ) );
                                                                                              ^~~~~~~~~
/usr/local/include/celt/celt.h:184:45: note: passing argument to parameter 'sampling_rate' here
EXPORT CELTEncoder *celt_encoder_create(int sampling_rate, int channels, int *error);
                                            ^
server_control.c:57:1: warning: unused function 'jackctl_get_parameter' [-Wunused-function]
jackctl_get_parameter(
^
ipunload.c:53:65: warning: variable 'intclient' is uninitialized when used here [-Wuninitialized]
        if (jack_internal_client_handle (client, client_name, &status, intclient) != 0) {
                                                                       ^~~~~~~~~
ipunload.c:14:28: note: initialize the variable 'intclient' to silence this warning
        jack_intclient_t intclient;
                                  ^
                                   = 0
property.c:271:78: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare]
                        if ((cnt = jack_get_properties (uuid, &description)) < 0) {
                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~
property.c:301:76: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare]
                        if ((cnt = jack_get_all_properties (&description)) < 0) {
                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~
tw.c:63:20: warning: 'jack_thread_wait' is deprecated [-Wdeprecated-declarations]
        while ((nframes = jack_thread_wait (client, _process (nframes))) != 0);
                          ^
../jack/jack.h:223:16: note: 'jack_thread_wait' has been explicitly marked deprecated here
jack_nframes_t jack_thread_wait (jack_client_t*, int status) JACK_OPTIONAL_WEAK_DEPRECATED_EXPORT;
               ^

Command Prompt is renamed "Jack Command" on installation of JACK

Hiya,
I installed JACK 1.9.10 x64 on Windows 10 Pro x64 (Build 14393 / Anniversary Update) but was quite shocked to discover that the Command Prompt had been replaced by Jack Command (including on my Start menu and Start tiles), and that the default working directory was changed to the JACK installation folder.
Instead of userping CMD, could you instead change the shortcut to point to a batch script which sets the working directory and PATH, etc.?

Unclear how to start and restart an audio output stream

I've been looking at the examples and documentation but it's unclear how to start and stop an output stream for the same jack_client_t*. I based my code on the simple_client.c. The functions jack_activate() and jack_deactivate() seem to be the right functions to use when you want to repeatedly start and stop an audio output stream.

I'm writing a simple .wav file player which works fine although starting and stopping caused the jack daemon to shutdown and restarting/replaying a .wav file failed because of this.

After some experimenting I figured out that when I call jack_port_disconnect() for the ports that I connected, before calling jack_deactivate() solves my issues.

Is this documented somewhere? What about adding a function that correctly shutsdown a jack_client_t in the simple_client.c code?

"Jack: data not valid" when NetJack1 using higher channels count (MTU bound?)

Hi

I'm using Scarlett 18i20 which (as name suggests) is 18/20 channels ADAT interface. Unfortunately I can't seem to successfully connect it over network using more than 6/6 channels. When I bump MTU to 9000 (max jumbo supported by my physical network) and use -m 9000 flag I can reach 8/8 channels. If I use virtualized network (with no real MTU limit) I can reach 10/10 channels with 18k jumbo (which is realistically not supported by real world hardware). It's quite weird limitation.

As result It's quite problematic to use this interface via netjack. Even though I have actually 10G network backbone which should be easily able to pull off such scenario.

I tried increasing -n and even adding -R and -D but nothing helped. My JACK package is crashing with segmentation fault when I try to use CELT compression but honestly I wouldn't accept this as solution anyways so I guess it doesn't really matter.

libjack object files included in libjack and libjackserver

Overview:

While messing about with C++ bits in jack1, I noticed that static thread_local variables were being destroyed multiple times. I tracked it down to the object files being built and included twice.

The current automake files build versions of the following files and include them in both libjack.so and libjackserver.so:

../libjack/systemtest.c
../libjack/sanitycheck.c
../libjack/client.c
... etc

Notably it's the ones that appear in the jackd/Makefile.am file.

Problem Reproduction:

Rather than pollute jackd with the bits for building C++, I've reproduced the issue using GCC's constructor and destructor annotations.

When dlopen and dlclose of a driver linked against libjackserver.so occurs, any methods that are annotated with constructor and destructor are called multiple times due to the symbols being included in both the libjack.so and libjackserver.so.

There is a branched version of jack1 that illustrates this problem here:

https://github.com/danielhams/jack1/tree/librarybuildissue

When running jackd, you will see the following in the output:

http://pastebin.com/KwLeJkRs

Note the calls to some_constructor and some_destructor on dlopen and dlclose in addition to the ones at jackd start and stop.

Proposed Resolution:

If you switch to the branch:

https://github.com/danielhams/jack1/tree/librarybuildissuefix

You now get the following output:

http://pastebin.com/uSZw1Daf

The constructor and destructor have the correct lifecycle as they follow the main process lifetime.

Basically it's just moving those libjack objects into the libjack/Makefile.am and making the libjackserver and jackd link against the libjack to resolve those symbols.

Note: the above branches are for demonstration purposes and include throw away code, I'll follow this comment with the appropriate pull request for a fix on the regular jack master branch.

jackd doesn't work with some alsa pcm devices

E.g.:

fps@mango 07:45:46 ~/Downloads/ $ jackd --version
jackd version 0.122.0 tmpdir /dev/shm protocol 24
fps@mango 11:04:35 ~/Downloads/ $ jackd -d alsa -d plug:default
jackd 0.122.0
Copyright 2001-2009 Paul Davis, Stephane Letz, Jack O'Quinn, Torben Hohn and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details

JACK compiled with System V SHM support.
loading driver ..
creating alsa driver ... plug:default|plug:default|1024|2|48000|0|0|nomon|swmeter|-|32bit
ALSA lib control.c:953:(snd_ctl_open_noupdate) Invalid CTL plug:default
control open "plug:default" (No such file or directory)
configuring for 48000Hz, period = 1024 frames (21.3 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 32bit float little-endian
You appear to be using the ALSA software "plug" layer, probably
a result of using the "default" ALSA device. This is less
efficient than it could be. Consider using a hardware device
instead rather than using the plug layer. Usually the name of the
hardware device that corresponds to the first soun
ALSA: use 3 periods for capture
ALSA: final selected sample format for playback: 32bit float little-endian
You appear to be using the ALSA software "plug" layer, probably
a result of using the "default" ALSA device. This is less
efficient than it could be. Consider using a hardware device
instead rather than using the plug layer. Usually the name of the
hardware device that corresponds to the first soun
ALSA: use 3 periods for playback
jackd watchdog: timeout - killing jackd
Aborted (core dumped)

The default device is eventually routed to pulseaudio in this case. Might be a side effect of the watchdog in this version?

Is it necessary to include the Jack framework in my project?

Hi,

For my app I need to use Jack similar to what is shown in the Simple Client example. I noticed that the example uses the Jack framework installed in the system folder (/usr/local/include in my OSX system). Is it safe to assume that all users will have the framework installed in the same location? Or is it necessary to add the jack framework into my project? As I can't find the pre-built library/framework in the repo, it seems that I'll need to build it manually?

Thanks in advance!

Promiscuous mode doesn't work

Jack1 is run as following

export JACK_PROMISCUOUS_SERVER=
umask 0
jackd -dalsa

JACK_PROMISCUOUS_SERVER is exported in environment.
Now programs using jack don't show any errors, but there is no sound and jackd gives the following errors:

мар 24 17:25:41 nixos jackd[15035]: jackd 0.125.0
мар 24 17:25:41 nixos jackd[15035]: Copyright 2001-2009 Paul Davis, Stephane Letz, Jack O'Quinn, Torben Hohn and others.
мар 24 17:25:41 nixos jackd[15035]: jackd comes with ABSOLUTELY NO WARRANTY
мар 24 17:25:41 nixos jackd[15035]: This is free software, and you are welcome to redistribute it
мар 24 17:25:41 nixos jackd[15035]: under certain conditions; see the file COPYING for details
мар 24 17:25:41 nixos jackd[15035]: JACK compiled with System V SHM support.
мар 24 17:25:41 nixos jackd[15035]: loading driver ..
мар 24 17:25:41 nixos jackd[15035]: creating alsa driver ... hw:0|hw:0|1024|2|48000|0|0|nomon|swmeter|-|32bit
мар 24 17:25:41 nixos jackd[15035]: configuring for 48000Hz, period = 1024 frames (21.3 ms), buffer = 2 periods
мар 24 17:25:41 nixos jackd[15035]: ALSA: final selected sample format for capture: 32bit integer little-endian
мар 24 17:25:41 nixos jackd[15035]: ALSA: use 2 periods for capture
мар 24 17:25:41 nixos jackd[15035]: ALSA: final selected sample format for playback: 32bit integer little-endian
мар 24 17:25:41 nixos jackd[15035]: ALSA: use 2 periods for playback
мар 24 17:26:23 nixos jackd[15035]: subgraph starting at ADLplug timed out (subgraph_wait_fd=9, status = 0, state = Triggered, pollret = 0 revents = 0x0)
мар 24 17:26:23 nixos jackd[15035]: pp: cannot clean up byte from graph wait fd - no data present
мар 24 17:26:23 nixos jackd[15035]: **** alsa_pcm: xrun of at least 42199.144 msecs
мар 24 17:26:23 nixos jackd[15035]: subgraph starting at ADLplug timed out (subgraph_wait_fd=9, status = 0, state = Triggered, pollret = 0 revents = 0x0)
мар 24 17:26:23 nixos jackd[15035]: pp: cannot clean up byte from graph wait fd - no data present
мар 24 17:26:23 nixos jackd[15035]: **** alsa_pcm: xrun of at least 44.336 msecs
мар 24 17:26:23 nixos jackd[15035]: subgraph starting at ADLplug timed out (subgraph_wait_fd=9, status = 0, state = Triggered, pollret = 0 revents = 0x0)
мар 24 17:26:23 nixos jackd[15035]: pp: cannot clean up byte from graph wait fd - no data present
мар 24 17:26:23 nixos jackd[15035]: **** alsa_pcm: xrun of at least 44.468 msecs
мар 24 17:26:23 nixos jackd[15035]: subgraph starting at ADLplug timed out (subgraph_wait_fd=9, status = 0, state = Triggered, pollret = 0 revents = 0x0)
мар 24 17:26:23 nixos jackd[15035]: pp: cannot clean up byte from graph wait fd - no data present
мар 24 17:26:23 nixos jackd[15035]: **** alsa_pcm: xrun of at least 44.560 msecs
мар 24 17:26:23 nixos jackd[15035]: subgraph starting at ADLplug timed out (subgraph_wait_fd=9, status = 0, state = Triggered, pollret = 0 revents = 0x0)
мар 24 17:26:23 nixos jackd[15035]: pp: cannot clean up byte from graph wait fd - no data present
мар 24 17:26:23 nixos jackd[15035]: **** alsa_pcm: xrun of at least 44.422 msecs
мар 24 17:26:23 nixos jackd[15035]: subgraph starting at ADLplug timed out (subgraph_wait_fd=9, status = 0, state = Triggered, pollret = 0 revents = 0x0)
мар 24 17:26:23 nixos jackd[15035]: pp: cannot clean up byte from graph wait fd - no data present
мар 24 17:26:23 nixos jackd[15035]: **** alsa_pcm: xrun of at least 44.442 msecs
мар 24 17:26:23 nixos jackd[15035]: subgraph starting at ADLplug timed out (subgraph_wait_fd=9, status = 0, state = Triggered, pollret = 0 revents = 0x0)
мар 24 17:26:23 nixos jackd[15035]: pp: cannot clean up byte from graph wait fd - no data present
мар 24 17:26:23 nixos jackd[15035]: **** alsa_pcm: xrun of at least 44.568 msecs
мар 24 17:26:23 nixos jackd[15035]: subgraph starting at ADLplug timed out (subgraph_wait_fd=9, status = 0, state = Triggered, pollret = 0 revents = 0x0)
мар 24 17:26:23 nixos jackd[15035]: pp: cannot clean up byte from graph wait fd - no data present
мар 24 17:26:23 nixos jackd[15035]: **** alsa_pcm: xrun of at least 44.604 msecs
мар 24 17:26:23 nixos jackd[15035]: subgraph starting at ADLplug timed out (subgraph_wait_fd=9, status = 0, state = Triggered, pollret = 0 revents = 0x0)
мар 24 17:26:23 nixos jackd[15035]: pp: cannot clean up byte from graph wait fd - no data present
мар 24 17:26:23 nixos jackd[15035]: **** alsa_pcm: xrun of at least 44.417 msecs
мар 24 17:26:23 nixos jackd[15035]: subgraph starting at ADLplug timed out (subgraph_wait_fd=9, status = 0, state = Triggered, pollret = 0 revents = 0x0)
мар 24 17:26:23 nixos jackd[15035]: pp: cannot clean up byte from graph wait fd - no data present
мар 24 17:26:23 nixos jackd[15035]: **** alsa_pcm: xrun of at least 44.610 msecs
мар 24 17:26:23 nixos jackd[15035]: subgraph starting at ADLplug timed out (subgraph_wait_fd=9, status = 0, state = Triggered, pollret = 0 revents = 0x0)
мар 24 17:26:23 nixos jackd[15035]: pp: cannot clean up byte from graph wait fd - no data present

Using Rust and JACK

Hello, I would like to make a synth in Rust programming language as a plugin for JACK. I don't know much about C though. How can I do that? Please, share any ideas or resources how can I achieve this.

Can not start JACK

Wed Mar  1 12:50:58 2017: Starting jack server...
Wed Mar  1 12:50:58 2017: JACK server starting in realtime mode with priority 10
Wed Mar  1 12:50:58 2017: self-connect-mode is "Don't restrict self connect requests"
Wed Mar  1 12:50:58 2017: ERROR: Cannot lock down 82274202 byte memory area (Cannot allocate memory)
Wed Mar  1 12:50:58 2017: ERROR: cannot register object path "/org/freedesktop/ReserveDevice1/Audio0": A handler is already registered for /org/freedesktop/ReserveDevice1/Audio0
Wed Mar  1 12:50:58 2017: ERROR: Failed to acquire device name : Audio0 error : A handler is already registered for /org/freedesktop/ReserveDevice1/Audio0
Wed Mar  1 12:50:58 2017: ERROR: Audio device hw:0 cannot be acquired...
Wed Mar  1 12:50:58 2017: ERROR: Cannot initialize driver
Wed Mar  1 12:50:58 2017: ERROR: JackServer::Open failed with -1
Wed Mar  1 12:50:58 2017: ERROR: Failed to open server
Wed Mar  1 12:51:00 2017: Saving settings to "/home/admin/.config/jack/conf.xml" ...
12:51:01.740 Could not connect to JACK server as client. - Overall operation failed. - Unable to connect to server. Please check the messages window for more info.
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started

What to do?

Add DBus support/jackdbus

Figured it would be a good idea to at least write the issue down so it can be tracked.
Currently jackdbus is missing from JACK1, which means tools like Cadence don't work with it.
AFAIK the patch/changes for jackdbus for JACK1 can be found here, but it needs to be updated/rebased https://github.com/LADI/jack1

Variable name "register" causes compiler error on C++17

On Travis-CI, using Xcode-10.1 with Apple LLVM version 10.0.0 (clang-1000.11.45.5), I get the compile error:

/usr/local/Cellar/jack/0.125.0_3/include/jack/types.h:389:71: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
typedef void (*JackPortRegistrationCallback)(jack_port_id_t port, int register, void *arg);
                                                                      ^~~~~~~~
/usr/local/Cellar/jack/0.125.0_3/include/jack/types.h:411:70: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
typedef void (*JackClientRegistrationCallback)(const char* name, int register, void *arg);
                                                                     ^~~~~~~~

The reason seems to be that the register storage class specifier has been removed in C++17, see https://en.cppreference.com/w/cpp/language/storage_duration.

JACK1 doesn't really want to use that anyway, but it tries to use register as a variable name, which causes the error.

This happens in the file types.h in https://github.com/jackaudio/headers, which is included as a submodule in this repo.

typedef void (*JackPortRegistrationCallback)(jack_port_id_t port, int register, void *arg);
typedef void (*JackClientRegistrationCallback)(const char* name, int register, void *arg);

It can even be seen in the syntax highlighting that register is somehow special ...

JACK2 already took care of this problem in https://github.com/jackaudio/jack2/blob/master/common/jack/types.h:

typedef void (*JackPortRegistrationCallback)(jack_port_id_t port, int /* register */, void *arg);
typedef void (*JackClientRegistrationCallback)(const char* name, int /* register */, void *arg);

Failed to open server from jack_control even though jack and jackdbus are running

Hi,

Platform: ARM - headless server using Jack2
Config: ./waf configure cross_compiling=yes --dbus --classic
Running: jackd -R -d alsa -r44100 and jackdbus auto

For whatever reason jack_control cannot communicate with jackd. Ultimately I'm aiming to us the sm (switch-master) option but it always reports the server is stopped. Trying to start the server via jack-control results in 'DBus exception: org.jackaudio.Error.Generic: Failed to open server'. If I kill "jackd" then I get the DBus error 'DBus exception: org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message bus without replying' so there seems to be some coms between jackd and jack_control.
The jackd server is operating correctly in an audio/connection sense it's just the issue between it and jack_control.

My DBus conf is:

And using export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/dbus/system_bus_socket

Thanks.

Jack error message on Ubuntu

I'm getting the following message when I use LibGDX with lwjgl3, which uses OpenAl-Soft, which interacts with libjack:

Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for 4294967295, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for 4294967295, skipping unlock

I get this whether or not I'm playing or initializing a sound. Audio works though.

This is what the OpenAL Soft developer wrote about the issue (when I posted it on their bug tracker first):

Those messages come from libjack, and unfortunately OpenAL Soft can't control them. OpenAL Soft tries to initialize the JACK backend first by trying to connect to a JACK server, in case that's the user's desired output method. If the server is not running, libjack will print that and fail (letting OpenAL Soft try PulseAudio next, then ALSA, etc), but there doesn't seem to be a way to tell libjack that a failed connection isn't a problem and don't print that.

I'm on Ubuntu 16.04. I don't know what else I need to provide, so feel free to ask me about any information you need to fix this.

no memlock

I'm having an issue with jack1 temporarily blacking out my laptop (archlinux) screen when using lv2 plugins using opengl. The plugins keep glitching freezing the whole laptop. When I tick no memlock it stops doing it. Also this doesn't happen when jack2. I spoke to las on irc and he told me that this part of code is hardcoded in jack1. No information shows up on cli when this happens even with verbose mode so not sure how I can give accurate data for tracing the issue. Just wanted to report this.

“Playback only” mode sometimes causes unexpected issues

On my machine, with jackd started in Playback only mode,

  • Firefox segfaults when trying to play a (likely, any) YouTube video
  • There is no sound output via HDMI

Both these effects are gone if jackd is started in Duplex mode (note: nothing else in the configs/presets is changed).

Jack 0.125.0, Gentoo (Hardened)
Gentoo USE flags: alsa pam -altivec -coreaudio -debug -doc -examples -oss

Clang warnings: comparison of unsigned expression < 0 is always false

Among other warnings, these two seem potentially damaging:

midiport.c:160:11: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare]
        if (time < 0 || time >= info->nframes) {
            ~~~~ ^ ~
engine.c:4493:31: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare]
        if (req->x.port_info.port_id < 0 ||
            ~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~

jack Wont Start After arch linux System Upgrade.

Not sure if i'm running jack1 or jack2.
Up to now, it's been running just fine.

I'm running alsa only. Pretty sure i do not have pulse installed.

Here's the error log from qjackctl:

19:10:30.578 Statistics reset.
19:10:30.676 ALSA connection change.
19:10:30.678 D-BUS: Service not available (org.jackaudio.service aka jackdbus).
connect(2) call to /dev/shm/jack-1000/default/jack_0 failed (err=No such file or directory)
attempt to connect to server failed
19:10:30.777 ALSA connection graph change.
19:10:33.815 JACK is starting...
19:10:33.815 /usr/bin/jackd -v -dalsa -dhw:H1 -r44100 -p1024 -n2
connect(2) call to /dev/shm/jack-1000/default/jack_0 failed (err=No such file or directory)
attempt to connect to server failed
jackd 0.125.0
Copyright 2001-2009 Paul Davis, Stephane Letz, Jack O'Quinn, Torben Hohn and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
19:10:33.844 JACK was started with PID=653.
getting driver descriptor from /usr/lib/jack/jack_net.so
could not open driver .so '/usr/lib/jack/jack_net.so': libcelt0.so.2: cannot open shared object file: No such file or directory
getting driver descriptor from /usr/lib/jack/jack_alsa.so
getting driver descriptor from /usr/lib/jack/jack_alsa_midi.so
getting driver descriptor from /usr/lib/jack/jack_oss.so
getting driver descriptor from /usr/lib/jack/jack_firewire.so
could not open driver .so '/usr/lib/jack/jack_firewire.so': libffado.so.2: cannot open shared object file: No such file or directory
getting driver descriptor from /usr/lib/jack/jack_dummy.so
JACK compiled with System V SHM support.
server default' registered registered builtin port type 32 bit float mono audio registered builtin port type 8 bit raw midi clock source = system clock via clock_gettime loading driver .. start poll on 3 fd's apparent rate = 44100 new client: alsa_pcm, uuid = 8589934593 type 1 @ 0x55ee9276cd60 fd = -1 creating alsa driver ... hw:H1|hw:H1|1024|2|44100|0|0|nomon|swmeter|-|32bit control open "hw:H1" (No such device) ALSA lib pcm_hw.c:1829:(_snd_pcm_hw_open) Invalid value for card ALSA lib pcm_hw.c:1829:(_snd_pcm_hw_open) Invalid value for card ALSA: Cannot open PCM device alsa_pcm for playback. Falling back to capture-only mode cannot load driver module alsa starting server engine shutdown server thread back from poll freeing shared port segments stopping server thread last xrun delay: 0.000 usecs max delay reported by backend: 0.000 usecs freeing engine shared memory max usecs: 0.000, engine deleted cleaning up shared memory cleaning up files unregistering server default'
19:10:34.139 JACK was stopped
19:10:35.990 Could not connect to JACK server as client. - Overall operation failed. - Unable to connect to server. Please check the messages window for more info.
connect(2) call to /dev/shm/jack-1000/default/jack_0 failed (err=No such file or directory)
attempt to connect to server failed
19:13:34.652 JACK is starting...
19:13:34.653 /usr/bin/jackd -v -dalsa -dhw:H1 -r44100 -p1024 -n2
connect(2) call to /dev/shm/jack-1000/default/jack_0 failed (err=No such file or directory)
attempt to connect to server failed
jackd 0.125.0
Copyright 2001-2009 Paul Davis, Stephane Letz, Jack O'Quinn, Torben Hohn and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
getting driver descriptor from /usr/lib/jack/jack_net.so
could not open driver .so '/usr/lib/jack/jack_net.so': libcelt0.so.2: cannot open shared object file: No such file or directory
getting driver descriptor from /usr/lib/jack/jack_alsa.so
getting driver descriptor from /usr/lib/jack/jack_alsa_midi.so
getting driver descriptor from /usr/lib/jack/jack_oss.so
getting driver descriptor from /usr/lib/jack/jack_firewire.so
could not open driver .so '/usr/lib/jack/jack_firewire.so': libffado.so.2: cannot open shared object file: No such file or directory
getting driver descriptor from /usr/lib/jack/jack_dummy.so
JACK compiled with System V SHM support.
server default' registered 19:13:34.719 JACK was started with PID=801. loading driver .. registered builtin port type 32 bit float mono audio registered builtin port type 8 bit raw midi clock source = system clock via clock_gettime start poll on 3 fd's new client: alsa_pcm, uuid = 8589934593 type 1 @ 0x563caee8bd60 fd = -1 apparent rate = 44100 creating alsa driver ... hw:H1|hw:H1|1024|2|44100|0|0|nomon|swmeter|-|32bit control open "hw:H1" (No such device) ALSA lib pcm_hw.c:1829:(_snd_pcm_hw_open) Invalid value for card ALSA lib pcm_hw.c:1829:(_snd_pcm_hw_open) Invalid value for card ALSA: Cannot open PCM device alsa_pcm for playback. Falling back to capture-only mode cannot load driver module alsa starting server engine shutdown freeing shared port segments stopping server thread last xrun delay: 0.000 usecs max delay reported by backend: 0.000 usecs freeing engine shared memory max usecs: 0.000, engine deleted WARNING: 1 message buffer overruns! cleaning up shared memory cleaning up files unregistering server default'
19:13:34.760 JACK was stopped
19:13:36.829 Could not connect to JACK server as client. - Overall operation failed. - Unable to connect to server. Please check the messages window for more info.
connect(2) call to /dev/shm/jack-1000/default/jack_0 failed (err=No such file or directory)
attempt to connect to server failed

Warning: cannot use real-time scheduling (FIFO at priority 10) (error=1: Operation not permitted)

This warning is printed during every startup on the FreeBSD.

What happens is this:

  1. Jack starts with real-time priority
  2. jack_acquire_real_time_scheduling => process already runs at sufficient realtime priority
  3. jack_drop_real_time_scheduling is called with thread=27353088, now it has policy=SCHED_OTHER
  4. thread=27353088 spawns thread=27359488, both have policy=SCHED_OTHER
  5. thread=27353088 spawns thread=27360768, both have policy=SCHED_OTHER
  6. jack_acquire_real_time_scheduling is called in thread=27360768 and it fails, because it can't self-raise its priority, it can only lower it.

It should only lower priority of threads that don't later attempt to raise it again.

IMO, the logic is flawed here. Linux allows to raise priority of threads of root-owned processes, and jack assumes that everybody does the same, while BSD OSes don't allow to raise thread priority. There is rtprio(RTP_SET) for a process, and rtprio_thread(RTP_SET) for a thread.

I am not sure what would be the right fix here. It might be needed to replace pthread_setschedparam -> rtprio_thread.

'jack_property -l UUID' doesn't work

jack_property --help
...
Display options:
-l Show all properties
-l, --list UUID Show value all properties of UUID #trying this <<<<
-l, --list UUID key Show value for key of UUID
...

$ jackd --version
jackd version 0.124.1 tmpdir /dev/shm protocol 25
$ jack_property
Segmentation fault (core dumped) <<<<<
$ jack_property -s 1234 hello world
$ jack_property -l
1234
key: hello value: world
$ jack_property -l 1234 #<<<< would expect key hello, no output
$ jack_property -l 1234 hello
world

Audio from Jack is "Bitcrushed"

I have Set up Jack and it kinda works, i have it running on my asio:digi rack 002. I can pass sound from A to B but it all sound lie very bad and crushed to death. I tried adjusting driver, buffer, period, sample rate, but it dont work. 1 out of 100 times it randomly funktion correctly, and my audio is clear and sharp, but if i close port audio, reopen it, without changing anything, the problem is there again.
Also i noticed: When i change the sample rate in the setup, the LEDs which indikate the sample rate on my interface dont change, it always stays at 44,1 khz. In the "Status" tab it also doesnt change.
Running as administrator doesnt help. compatibility Mode doesnt help, settings doenst change anything... im out of ideas.

recent messages:
18:20:20.346 Statistics reset.
18:20:20.415 JACK connection change.
18:20:20.421 Client activated.
18:20:20.421 Patchbay activated.
18:20:20.624 JACK active patchbay scan...
18:20:20.625 test ptach 1: system:capture_3 -> system:playback_2 checked.
18:20:20.626 test ptach 1: system:capture_3 -> system:playback_1 checked.
18:20:20.627 test ptach 1: system:capture_1 -> system:playback_1 checked.
18:20:20.628 test ptach 1: system:capture_1 -> system:playback_2 checked.
18:20:42.866 Shutdown notification.
18:20:42.875 Client deactivated.
18:20:48.560 JACK connection change.
18:20:48.566 Client activated.
18:20:48.567 Patchbay activated.
18:20:48.655 JACK active patchbay scan...
18:20:48.657 test ptach 1: system:capture_3 -> system:playback_2 connected.
18:20:48.672 test ptach 1: system:capture_3 -> system:playback_1 connected.
18:20:48.680 test ptach 1: system:capture_1 -> system:playback_1 connected.
18:20:48.695 test ptach 1: system:capture_1 -> system:playback_2 connected.
18:20:48.709 JACK connection graph change.
18:20:48.905 JACK active patchbay scan...
18:20:48.906 test ptach 1: system:capture_3 -> system:playback_2 checked.
18:20:48.907 test ptach 1: system:capture_3 -> system:playback_1 checked.
18:20:48.908 test ptach 1: system:capture_1 -> system:playback_1 checked.
18:20:48.909 test ptach 1: system:capture_1 -> system:playback_2 checked.
18:21:18.003 Client deactivated.
18:21:18.537 JACK connection change.
18:21:18.542 Client activated.
18:21:18.543 Patchbay activated.
18:21:18.567 JACK active patchbay scan...
18:21:18.568 test ptach 1: system:capture_3 -> system:playback_2 checked.
18:21:18.569 test ptach 1: system:capture_3 -> system:playback_1 checked.
18:21:18.570 test ptach 1: system:capture_1 -> system:playback_1 checked.
18:21:18.571 test ptach 1: system:capture_1 -> system:playback_2 checked.

portaudio:
jackdmp 1.9.11
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2016 Grame.
jackdmp comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
Drivers/internals found in : C:\WINDOWS\SYSTEM32
Drivers/internals found in : C:\WINDOWS\SYSTEM32
JACK server starting in realtime mode with priority 10
self-connect-mode is "Don't restrict self connect requests"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.