Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compiling with PA_USE_JACK=1 (Windows) #973

Open
hockinsk opened this issue Oct 23, 2024 · 1 comment
Open

Compiling with PA_USE_JACK=1 (Windows) #973

hockinsk opened this issue Oct 23, 2024 · 1 comment

Comments

@hockinsk
Copy link

hockinsk commented Oct 23, 2024

I'm struggling to find a definitive answer. I see in the documentation that we should be able to compile portaudio.dll for including Jack support, but then here in some Windows-specific docs, I don't see the PA_USE_JACK=1 preprocessor listed as an option. Is this the case on Windows? Should we deal with Jack without portaudio.dll on windows? I was hoping to add Jack, as I added PA_USE_ASIO=1 without issues but to no joy so far to include Jack support, which is ironic because JACK server itself is running with portaudio as it's driver to connect to ASIO/WASAPI on Windows as I type this.

https://files.portaudio.com/docs/v19-doxydocs/compile_windows.html
9) Also in the preprocessor definitions you need to explicitly define the native audio APIs you wish to use. For Windows the available API definitions are:

PA_USE_ASIO
PA_USE_DS (DirectSound)
PA_USE_WMME (MME)
PA_USE_WASAPI
PA_USE_WDMKS
PA_USE_SKELETON

In my visual studio solution I have:
C:\Program Files\JACK2\include as C/C++ → General → Additional Include Directories

C:\Program Files\JACK2\lib as Linker → General → Additional Library Directories.

Under Linker → Input → Additional Dependencies I have libjack64.lib

PA_USE_JACK=1 is in the preprocessors

C:\Program Files\JACK2 is in the PATH variable, although libjack.dll is under C:\Windows from the JACK2 Windows installer putting it there, so would be found anyway.

@hockinsk
Copy link
Author

I just don't understand what the hell is going with portaudio default build?
Why when using portaudio.dll is this happening, simply importing sounddevice library into a script? I haven't even set up a client, yet portaudiodll seems to deactivate itself from seeing jack when it loads. Weird?

Jack: JackClient::SetupDriverSync driver sem in normal mode
Jack: JackWinSemaphore::Connect jack_pipe.default_python
Jack: JackLibClient::Open name = python refnum = 3
Jack: JackClient::Deactivate
Jack: JackClient::Deactivate
Jack: jack_client_close
Jack: JackClient::Close ref = 3
Jack: JackClient::Deactivate
Jack: JackWinNamedPipeClientChannel::Stop
Jack: JackWinThread::Kill
Jack: JackWinNamedPipeServer::Close
Jack: JackWinSemaphore::Disconnect jack_pipe.default_python
Jack: JackLibClient::~JackLibClient
Jack: JackShmReadWritePtr1::~JackShmReadWritePtr1 3
Jack: Succeeded in unlocking 426 byte memory area
Jack: JackLibGlobals Destroy d9e2490
Jack: ~JackLibGlobals
Jack: JackWinSemaphore::Disconnect jack_pipe.default_system
Jack: JackWinSemaphore::Disconnect jack_pipe.default_freewheel
Jack: JackWinSemaphore::Disconnect jack_pipe.default_qjackctl
Jack: no message buffer overruns
Jack: JackWinThread::Stop
Jack: JackWinThread::ThreadHandler : exit
Jack: JackShmReadWritePtr::~JackShmReadWritePtr 1
Jack: Succeeded in unlocking 1196 byte memory area
Jack: JackShmReadWritePtr::~JackShmReadWritePtr 0
Jack: Succeeded in unlocking 107341340 byte memory area
Jack: jack_client_close res = 0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant