Hello, under MacOS 12.1, Supercollider and other software don’t see the running Jack-Server. The only Software I found that works with Jack is Sooper-Looper.
Before, Jack was visible like an Audio-Interface.
Any Idea how I can hook SC to Jack, even if “ServerOptions.devices” doesn’t show it?
Hello,
Starting with macOS Catalina, JackRouter (the coreaudio “bridge” that makes Jack visible to non-jack-native applications) does not work, i.e. only applications that use Jack directly can use Jack. This is not an SC issue.
It is possible to build SC with Jack support built-in on macOS (it then needs Jack to run and will not work with the soundcard directly), so that’s an option if a custom setup if desired.
Here’s an old-ish build of mine that works with JACK: Release 3.11 develop with jack backend · dyfer/supercollider · GitHub
However, please be aware that this old version doesn’t have a patch to fix bundle timing on macOS Big Sur and later so it’s likely useless (I think the timing of bundle messages would only be correct if the computer was never asleep since the last boot). However you can test if the Jack backend works that way.
As this is an unofficial build, it comes with no guarantees whatsoever
Or do I have to build my own with flag -DAUDIOAPI=jack ?
That would be preferable. I haven’t tried building with Jack on M1, but I don’t see why it wouldn’t work (be aware that you need to disable the webengine when building on M1 currently, see github issues for more information).
Thanks. With your custom build SC reports “Library has not been compiled successfully.” while loading, and again when trying to boot server. It fails to boot the server. Jack was running before starting SC.
That most likely means that you have some extensions that are either not compatible or in conflict with this build. If you look at what prints before this line, it might give you some hints.
To test it, you can temporarily move (rename) your extensions folder (in ~/Library/Application Support/SuperCollider/)
(Library not compiled successfully == sclang doesn’t run, so you wouldn’t be able to boot the server either)