Discussion:
[Jack-Devel] MacOS support
Stefan Hellkvist
2018-02-01 13:59:50 UTC
Permalink
Hi list,

(Sorry this question has already been discussed but the search function in the archive of the list does not work)

Is anyone working on the problem of getting Jack up and running on MacOS again? I installed Jack with brew but I get these “could not handle external client request” errors which seems to be old problems from looking at search results and GitHub discussions - problems introduced when MacOS audio architecture was changed a while back. Is there any progress on these matters? Is someone working on it? I need Jack as it is a dependency to another library I would like to use but I realize that I might have to abandon MacOS as a platform in the process.

Kindest regards,
Stefan
Michael
2018-02-01 16:08:28 UTC
Permalink
PLEASE.

I am still using Mac OS 10.9.5 because of Jack. If Jack can be updated to a newer OS, then I can finally upgrade.
Post by Stefan Hellkvist
Hi list,
(Sorry this question has already been discussed but the search function in the archive of the list does not work)
Is anyone working on the problem of getting Jack up and running on MacOS again? I installed Jack with brew but I get these “could not handle external client request” errors which seems to be old problems from looking at search results and GitHub discussions - problems introduced when MacOS audio architecture was changed a while back. Is there any progress on these matters? Is someone working on it? I need Jack as it is a dependency to another library I would like to use but I realize that I might have to abandon MacOS as a platform in the process.
Kindest regards,
Stefan
_______________________________________________
Jack-Devel mailing list
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
---
Entertaining minecraft videos
http://YouTube.com/keybounce
Chris Caudle
2018-02-01 16:22:53 UTC
Permalink
Post by Michael
I am still using Mac OS 10.9.5 because of Jack. If Jack can be updated to
a newer OS, then I can finally upgrade.
I think one of two things needs to happen:
1) the jack users who want Mac OS support to get cleaned up need to
recruit some Mac developers to help work on this

2) buy a new Mac for some of the current jack maintainers to use for
development and debug

As far as I know (and Filipe can correct this if I am mistaken), the
developers who originally worked on the Mac port of jackd have moved on to
other projects and are no longer actively involved in jack development (or
at least not much). Previously Harrison had some interest in keeping the
Mac port usable, but now that Mixbus has the native audio backends from
Ardour, I don't think that there is any commercial entity supporting jack
on Windows or Mac, and the current maintainer is primarily a linux dev
working on jack as a volunteer, so users are going to have to step up and
find a way to keep this going.
--
Chris Caudle
Kjetil Matheussen
2018-02-01 16:33:51 UTC
Permalink
Post by Chris Caudle
Post by Michael
I am still using Mac OS 10.9.5 because of Jack. If Jack can be updated to
a newer OS, then I can finally upgrade.
1) the jack users who want Mac OS support to get cleaned up need to
recruit some Mac developers to help work on this
2) buy a new Mac for some of the current jack maintainers to use for
development and debug
As far as I know (and Filipe can correct this if I am mistaken), the
developers who originally worked on the Mac port of jackd have moved on to
other projects and are no longer actively involved in jack development (or
at least not much). Previously Harrison had some interest in keeping the
Mac port usable, but now that Mixbus has the native audio backends from
Ardour, I don't think that there is any commercial entity supporting jack
on Windows or Mac, and the current maintainer is primarily a linux dev
working on jack as a volunteer, so users are going to have to step up and
find a way to keep this going.
Radium only has a Jack backend. If jack stops working on MacOS I will
certainly look into it, but I haven't noticed jack not working on any
version
of MacOS (including high sierra), and I haven't heard any user compaining
about Jack not working on OSX before now.

Stefan, can you try to install Jack included with Radium instead of using
brew?
http://users.notam02.no/~kjetism/radium/demos/macosx/?C=M;O=D
Stéphane Letz
2018-02-01 16:42:28 UTC
Permalink
Post by Chris Caudle
Post by Michael
I am still using Mac OS 10.9.5 because of Jack. If Jack can be updated to
a newer OS, then I can finally upgrade.
1) the jack users who want Mac OS support to get cleaned up need to
recruit some Mac developers to help work on this
2) buy a new Mac for some of the current jack maintainers to use for
development and debug
As far as I know (and Filipe can correct this if I am mistaken), the
developers who originally worked on the Mac port of jackd have moved on to
other projects and are no longer actively involved in jack development (or
at least not much). Previously Harrison had some interest in keeping the
Mac port usable, but now that Mixbus has the native audio backends from
Ardour, I don't think that there is any commercial entity supporting jack
on Windows or Mac, and the current maintainer is primarily a linux dev
working on jack as a volunteer, so users are going to have to step up and
find a way to keep this going.
Radium only has a Jack backend. If jack stops working on MacOS I will
certainly look into it, but I haven't noticed jack not working on any version
of MacOS (including high sierra), and I haven't heard any user compaining
about Jack not working on OSX before now.
Stefan, can you try to install Jack included with Radium instead of using brew?
http://users.notam02.no/~kjetism/radium/demos/macosx/?C=M;O=D
_______________________________________________
Jack-Devel mailing list
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
The lastest JackOSX.0.92_b3.zip work indeed up to high sierra, with the restriction that JackRouter device cannot be used as « Audio default device » anymore for CoreAudio application (known issue since Yosemite 10.10 I think)

Stéphane
Chris Caudle
2018-02-01 17:27:11 UTC
Permalink
Post by Stéphane Letz
The lastest JackOSX.0.92_b3.zip work indeed up to high sierra, with the
restriction that JackRouter device cannot be used as « Audio default
device » anymore for CoreAudio application (known issue since Yosemite
10.10 I think)
Version numbers are confusing for MacOS, I think JackOSX 0.92 is actually
jackd 1.9.10, correct?

In any event Filipe said specifically that 1.9.12 was not building
correctly on Mac OS, there is only a source tarball available for Mac and
Windows, binary builds of 1.9.12 are only available for linux. Having
some static old build in use forever is not going to be sustainable.
--
Chris Caudle
Kjetil Matheussen
2018-02-01 17:34:02 UTC
Permalink
Post by Chris Caudle
Post by Stéphane Letz
The lastest JackOSX.0.92_b3.zip work indeed up to high sierra, with the
restriction that JackRouter device cannot be used as « Audio default
device » anymore for CoreAudio application (known issue since Yosemite
10.10 I think)
Version numbers are confusing for MacOS, I think JackOSX 0.92 is actually
jackd 1.9.10, correct?
In any event Filipe said specifically that 1.9.12 was not building
Post by Chris Caudle
correctly on Mac OS, there is only a source tarball available for Mac and
Windows, binary builds of 1.9.12 are only available for linux. Having
some static old build in use forever is not going to be sustainable.
As I said, if jack stops working on OSX in the future, I'm going to look at
it,
at least if no one else is. Jack on OSX is pretty much a finished product
as far as I can judge.
Kjetil Matheussen
2018-02-01 17:36:47 UTC
Permalink
Post by Chris Caudle
Post by Chris Caudle
Post by Stéphane Letz
The lastest JackOSX.0.92_b3.zip work indeed up to high sierra, with the
restriction that JackRouter device cannot be used as « Audio default
device » anymore for CoreAudio application (known issue since Yosemite
10.10 I think)
Version numbers are confusing for MacOS, I think JackOSX 0.92 is actually
jackd 1.9.10, correct?
In any event Filipe said specifically that 1.9.12 was not building
Post by Chris Caudle
correctly on Mac OS, there is only a source tarball available for Mac and
Windows, binary builds of 1.9.12 are only available for linux. Having
some static old build in use forever is not going to be sustainable.
As I said, if jack stops working on OSX in the future, I'm going to look
at it,
at least if no one else is. Jack on OSX is pretty much a finished product
as far as I can judge.
Oh, and go here to find binaries and sources:
http://www.jackaudio.org/downloads/
0.92_b3 is the same as 1.9.12, not 1.9.10.
Stéphane Letz
2018-02-01 17:52:35 UTC
Permalink
And my old OS X G5 machine still on OS X 10.6, were all that JackOSX stuff was developed, just died a few days ago ((-;

End of JackOSX on GRAME side probably...

Stéphane
Post by Chris Caudle
Post by Stéphane Letz
The lastest JackOSX.0.92_b3.zip work indeed up to high sierra, with the
restriction that JackRouter device cannot be used as « Audio default
device » anymore for CoreAudio application (known issue since Yosemite
10.10 I think)
Version numbers are confusing for MacOS, I think JackOSX 0.92 is actually
jackd 1.9.10, correct?
In any event Filipe said specifically that 1.9.12 was not building
correctly on Mac OS, there is only a source tarball available for Mac and
Windows, binary builds of 1.9.12 are only available for linux. Having
some static old build in use forever is not going to be sustainable.
As I said, if jack stops working on OSX in the future, I'm going to look at it,
at least if no one else is. Jack on OSX is pretty much a finished product
as far as I can judge.
http://www.jackaudio.org/downloads/
0.92_b3 is the same as 1.9.12, not 1.9.10.
_______________________________________________
Jack-Devel mailing list
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
Chris Caudle
2018-02-01 19:21:05 UTC
Permalink
Post by Stéphane Letz
And my old OS X G5 machine still on OS X 10.6, were all that JackOSX stuff
was developed, just died a few days ago ((-;
End of JackOSX on GRAME side probably...
It is encouraging that the JackOSX 0.92_b3 package is actually 1.9.12, but
very confusing that the naming is so wildly different that it is
impossible to tell what jackd version is contained in that package.

Did falktx build that JackOSX package? It is not clear why his 1.9.12
announce message indicated that there were no 1.9.12 builds for Mac OS if
the Mac OS builds were working properly. Did someone else step in and help
build after that announcement email? Did falk get his Mac builds working?
--
Chris Caudle
Stéphane Letz
2018-02-01 19:24:00 UTC
Permalink
Post by Chris Caudle
Post by Stéphane Letz
And my old OS X G5 machine still on OS X 10.6, were all that JackOSX stuff
was developed, just died a few days ago ((-;
End of JackOSX on GRAME side probably...
It is encouraging that the JackOSX 0.92_b3 package is actually 1.9.12, but
very confusing that the naming is so wildly different that it is
impossible to tell what jackd version is contained in that package.
Did falktx build that JackOSX package? It is not clear why his 1.9.12
announce message indicated that there were no 1.9.12 builds for Mac OS if
the Mac OS builds were working properly. Did someone else step in and help
build after that announcement email? Did falk get his Mac builds working?
--
Chris Caudle
I’ve built JackOSX 0.92_b3 on the now died G5 machine.

Stéphane
Chris Caudle
2018-02-01 21:18:38 UTC
Permalink
I've built JackOSX 0.92_b3 on the now died G5 machine.
Then I refer back to my previous message, shipping an old version forever
is not sustainable, jackd on Mac users who want support going forward from
now need to recruit Mac developers to help, or at least get together and
buy a Mac for falktx to use.
--
Chris Caudle
Kjetil Matheussen
2018-02-01 21:56:20 UTC
Permalink
Post by Chris Caudle
I've built JackOSX 0.92_b3 on the now died G5 machine.
Then I refer back to my previous message, shipping an old version forever
is not sustainable, jackd on Mac users who want support going forward from
now need to recruit Mac developers to help, or at least get together and
buy a Mac for falktx to use.
If mac users wants to help, they can do so. The repository seems to contain
everything that's needed. There's both xcode files, and support for darwin
in the wscript file.
If needed, it shouldn't be much work to create new jack releases.
David Kastrup
2018-02-01 22:15:20 UTC
Permalink
Post by Kjetil Matheussen
Post by Chris Caudle
I've built JackOSX 0.92_b3 on the now died G5 machine.
Then I refer back to my previous message, shipping an old version forever
is not sustainable, jackd on Mac users who want support going forward from
now need to recruit Mac developers to help, or at least get together and
buy a Mac for falktx to use.
If mac users wants to help, they can do so. The repository seems to
contain everything that's needed. There's both xcode files, and
support for darwin in the wscript file.
If Mac users were able to work with XCode files and Darwin support,
they'd be using Linux instead.

MacOSX and Windows are operating systems mainly for terminal users, with
"terminal" being an adjective rather than a noun. They form a caste
separate from "programmers" and it is the latters' duty to serve the
formers' needs: that's what they are paid for.

Except that with free software, they rarely are getting paid. On
systems like GNU/Linux the dearth of pay for free software is not
different, but free software is much more common. As a result, the
social norms around expectations and programming tasks are more
favorable to sticking with a community as a free software programmer.
Post by Kjetil Matheussen
If needed, it shouldn't be much work to create new jack releases.
Maybe take a look at GUB <http://www.lilypond.org/gub> ? Very few of
the active developers of LilyPond have a clue about how it works (and
when it breaks every few years, it tends to be months out of order), but
it does provide binary installers for LilyPond on a number of different
platforms for every single release. Automatically. Using humongous
amounts of CPU time (I think first release still takes days when
starting from scratch, but afterwards it's about 6 hours per release on
an 8-processor machine. To be fair, most of it is compiling the
documentation), but that's more affordable than human time.

Basically, as long as things work, binary installers for Windows and
MacOSX just fall out as part of the release process.
--
David Kastrup
Neil C Smith
2018-02-02 10:07:24 UTC
Permalink
Post by David Kastrup
If Mac users were able to work with XCode files and Darwin support,
they'd be using Linux instead. ... MacOSX and Windows are operating
systems mainly for terminal users, with
"terminal" being an adjective rather than a noun.
<snip> ... *really* not helpful!
Post by David Kastrup
Maybe take a look at GUB <http://www.lilypond.org/gub> ?
While I have access to a Mac Mini for testing / building purposes, I wonder
whether Travis CI might also be an option worth looking at?

Best wishes,

Neil
--
Neil C Smith
Artist & Technologist
www.neilcsmith.net

Praxis LIVE - hybrid visual IDE for creative coding - www.praxislive.org
Filipe Coelho
2018-02-01 22:01:03 UTC
Permalink
Post by Chris Caudle
I've built JackOSX 0.92_b3 on the now died G5 machine.
Then I refer back to my previous message, shipping an old version forever
is not sustainable, jackd on Mac users who want support going forward from
now need to recruit Mac developers to help, or at least get together and
buy a Mac for falktx to use.
No need to get me a Mac, I already have a new MacBook from the company
that I can use (temporarily) and a Mac-mini myself.
(I also have macOS in a VM for quick stuff)

In my view, JACK will always be focused on more open platforms first.

For macOS, new builds will be handled with waf instead of XCode.
But won't be a priority at first, there's some cleanup and handling of
the code that I think needs to be done first,
which doesn't change the end result much so no new binaries really
required for now.
Stefan Hellkvist
2018-02-02 09:51:27 UTC
Permalink
http://www.jackaudio.org/downloads/ <http://www.jackaudio.org/downloads/>
0.92_b3 is the same as 1.9.12, not 1.9.10.
Yes, this is one of the versions I tried.

What I am trying to do is to use a tool jltcdump which is part of ltc-tools (brew install ltc-tools) - a tool for reading so called linear timecodes (smtpe) encoded in audio.

Part of my problems is to begin with the two versions of jack - Jack1 and Jack2 - which seems to both exist and both be “stable”. The binary above - 0.92_b3 seems to be of the Jack2 kind if I am not mistaken. When I install that version it (JackPilot) starts fine but I don’t seem to be able to re-route the default audio device in System preferences to use JackRouter. JackRouter shows up in System preferences but there is nothing that indicates that any app that uses audio (such as iTunes) actually connects. I was hoping for functionality as in the Youtube tutorial from 2013 -
http://youtu.be/FhrJ9rTMcBU - where different audio clients show up in the routes of JackPilot but this is not repeatable for me as it was back in 2013 at least.

Also, when I build and run ltc-tools with the above release I get some errors like these:
$ ./jltcdump
unknown option character l
connect(2) call to jackdmp 1.9.11/jack-502/default/jack_0 failed (err=No such file or directory)


It seems like there is a call to “jackdmp” with some “unknown option character l”, so there seems to be some incompatibility with ltc-tools and this version of libjack (at least that is my guess).


So then I instead try and install jack with “brew install jack” and I install a ltc-tools (brew install ltc-tools) which depend on this version of jack (which I guess is Jack1 ?). I then start jackd manually with jackd -d coreaudio and it starts. But with this setting there is nothing showing up at all in audio System Preferences. And I also get these errors "could not handle external client request” when a client accesses. The jltcdump program in this case seems to think that it has connected to the call to jackdmp seems to work with this version of jack. But it does not seem to receive any audio and jack d shows errors like "could not handle external client request” which makes me suspicious that there is some issue. So then I search for this error and find these GitHub discussions: https://github.com/Qix-/CaptainJack/issues/3 <https://github.com/Qix-/CaptainJack/issues/3> https://github.com/jackaudio/jack2/issues/305 <https://github.com/jackaudio/jack2/issues/305>


which, together with my own experiences and confusions, made me to believe that jack is broken on OSX. Then others here say that it is indeed working
which make me even more confused. But perhaps it is different use cases that we are talking about and jack on MacOS might still support some of them but perhaps not all.

I also tried to use PortAudio (https://github.com/gordonklaus/portaudio <https://github.com/gordonklaus/portaudio>) to do other types of audio processing, but this one also depends on jack and I got similar faults. So to me it seems like there are quite a few audio tools (don’t know how much they are used on MacOS though) that depend on jack and these tools have at least at some point been working on MacOS but that, at least to me, it seems like jack has fallen behind on MacOS which brings with it these other tool-chains. Not complaining at all. Just wanted to know if someone else was feeling the same pain - and it seems, as I said, that some things are working for some people.

/Stefan
Stéphane Letz
2018-02-02 10:40:48 UTC
Permalink
Post by Stefan Hellkvist
Post by Kjetil Matheussen
http://www.jackaudio.org/downloads/
0.92_b3 is the same as 1.9.12, not 1.9.10.
Yes, this is one of the versions I tried.
What I am trying to do is to use a tool jltcdump which is part of ltc-tools (brew install ltc-tools) - a tool for reading so called linear timecodes (smtpe) encoded in audio.
Part of my problems is to begin with the two versions of jack - Jack1 and Jack2 - which seems to both exist and both be “stable”. The binary above - 0.92_b3 seems to be of the Jack2 kind if I am not mistaken. When I install that version it (JackPilot) starts fine but I don’t seem to be able to re-route the default audio device in System preferences to use JackRouter. JackRouter shows up in System preferences but there is nothing that indicates that any app that uses audio (such as iTunes) actually connects. I was hoping for functionality as in the Youtube tutorial from 2013 - http://youtu.be/FhrJ9rTMcBU - where different audio clients show up in the routes of JackPilot but this is not repeatable for me as it was back in 2013 at least.
$ ./jltcdump
unknown option character l
connect(2) call to jackdmp 1.9.11/jack-502/default/jack_0 failed (err=No such file or directory)
It seems like there is a call to “jackdmp” with some “unknown option character l”, so there seems to be some incompatibility with ltc-tools and this version of libjack (at least that is my guess).
So then I instead try and install jack with “brew install jack” and I install a ltc-tools (brew install ltc-tools) which depend on this version of jack (which I guess is Jack1 ?). I then start jackd manually with jackd -d coreaudio and it starts. But with this setting there is nothing showing up at all in audio System Preferences. And I also get these errors "could not handle external client request” when a client accesses. The jltcdump program in this case seems to think that it has connected to the call to jackdmp seems to work with this version of jack. But it does not seem to receive any audio and jack d shows errors like "could not handle external client request” which makes me suspicious that there is some issue. So then I search for this error and find these GitHub discussions: https://github.com/Qix-/CaptainJack/issues/3 https://github.com/jackaudio/jack2/issues/305
…which, together with my own experiences and confusions, made me to believe that jack is broken on OSX. Then others here say that it is indeed working…which make me even more confused. But perhaps it is different use cases that we are talking about and jack on MacOS might still support some of them but perhaps not all.
I also tried to use PortAudio (https://github.com/gordonklaus/portaudio) to do other types of audio processing, but this one also depends on jack and I got similar faults. So to me it seems like there are quite a few audio tools (don’t know how much they are used on MacOS though) that depend on jack and these tools have at least at some point been working on MacOS but that, at least to me, it seems like jack has fallen behind on MacOS which brings with it these other tool-chains. Not complaining at all. Just wanted to know if someone else was feeling the same pain - and it seems, as I said, that some things are working for some people.
/Stefan
Let me explain once again, and hopefully the last one ((-;

- we (at Grame) did a port of JACK1 C code base back in 2004-2005. This was actually more a prof of concept since we had to use very low-level mach specific primitives to make it work on OSX.

- at the same time we also developed this JackRouter JACK<==>CoreAudio bridge, a user-land audio device that allows any CoreAudio application to become a JACK client. We packaged JACK1 + JackRouter in the early version of the JackOSX tool.

- we started the « rewrite JACK code base in C++, and work on the multi-processor model in 2005, on OS X first. This work was presented at LAC 2005. Port of this new code base on Linux was done later, then Windows starting in 2006.

- since C++ JACK code base was cleaner (my personal point of view of course..), more portable, and much more stable on OSX… we decide to put it in next versions of JackOSX tool. This C++ code base became JACK2 at some point.

- at some point (I don’t know exactly when) macports packagers decided, without consulting the JACK community at all... to package JACK1 in macport. This was actually a very poor idea. For years people could either install JACK1 from macport, or install everything (that is tools for users + all the stuff needed for developers...) using JackOSX. This was the recipe for all kind of hairy problems...

- JackRouter could be used by any CoreAudio application and also *be selected as the audio default device* in the OS X system (so to be used be applications like iTunes or Quicktime) up to OS X 10.8 (or 10.9, not sure anymore..). This « JackRouter as the default audio device » broke at that time, for several technical reasons. One is that Apple decided to progressively raise their security model (sandbox model...whatever), and second was that the JackRouter driver model become obsolete. It would have to be entirely rewritten with the new recommended CoreAudio user-land driver model. I never had time to really estimate if the new model could 1) fit with JACK server/client model and all the needs in low-level OS primitives like sockets, shared memory, process synchronization.. 2) could really solve the « JackRouter use when selected as the audio default device » issue.

- I had to solve a specific issue in 10.10 (I think ?) when mach semaphore primitive could not be used anymore, and we have to switch to Posix Semaphore. After this change JACK2 continued to work up to 10.13 High Sierra, but without this « JackRouter as the audio default device » . This last development is now in JackOSX 0.92_b3.

- we at Grame dropped the JACK project entirely. I think that having a new really usable JACK on OS X implementation is a bit or dedicated work…In the meantime we can hope that JackOSX 0.92_b3 will stay alive a bit longer.

Stéphane
Michael
2018-02-02 15:45:51 UTC
Permalink
Post by Stéphane Letz
Let me explain once again, and hopefully the last one ((-;
- we (at Grame) did a port of JACK1 C code base back in 2004-2005. This was actually more a prof of concept since we had to use very low-level mach specific primitives to make it work on OSX.
- at the same time we also developed this JackRouter JACK<==>CoreAudio bridge, a user-land audio device that allows any CoreAudio application to become a JACK client. We packaged JACK1 + JackRouter in the early version of the JackOSX tool.
- we started the « rewrite JACK code base in C++, and work on the multi-processor model in 2005, on OS X first. This work was presented at LAC 2005. Port of this new code base on Linux was done later, then Windows starting in 2006.
- since C++ JACK code base was cleaner (my personal point of view of course..), more portable, and much more stable on OSX… we decide to put it in next versions of JackOSX tool. This C++ code base became JACK2 at some point.
- at some point (I don’t know exactly when) macports packagers decided, without consulting the JACK community at all... to package JACK1 in macport. This was actually a very poor idea. For years people could either install JACK1 from macport, or install everything (that is tools for users + all the stuff needed for developers...) using JackOSX. This was the recipe for all kind of hairy problems...
- JackRouter could be used by any CoreAudio application and also *be selected as the audio default device* in the OS X system (so to be used be applications like iTunes or Quicktime) up to OS X 10.8 (or 10.9, not sure anymore..). This « JackRouter as the default audio device » broke at that time, for several technical reasons. One is that Apple decided to progressively raise their security model (sandbox model...whatever), and second was that the JackRouter driver model become obsolete. It would have to be entirely rewritten with the new recommended CoreAudio user-land driver model. I never had time to really estimate if the new model could 1) fit with JACK server/client model and all the needs in low-level OS primitives like sockets, shared memory, process synchronization.. 2) could really solve the « JackRouter use when selected as the audio default device » issue.
I have Jack router working in 10.9.5 as the default audio device. Yes, there were sandbox issues, but the small set of changes needed for the sandbox file was just that: small.

Add to the end of system.sb:

;;; local additions for Jack
(allow network*
(regex #"/private/tmp/jack_.*"))
(allow file-write*
(regex #"/private/tmp/jack_.*"))
(allow mach-lookup
(global-name-regex "jack_mach_sem.*"))
(allow ipc-sysv-sem)
(allow ipc-posix-shm-read*
(ipc-posix-name-regex "/jack-.*"))
(allow ipc-posix-shm-write*
(ipc-posix-name-regex "/jack-.*"))
(allow file-read*
(regex #"/Library/Audio/Plug-Ins/Components/JACK-insert.component.*"))
Post by Stéphane Letz
- I had to solve a specific issue in 10.10 (I think ?) when mach semaphore primitive could not be used anymore, and we have to switch to Posix Semaphore. After this change JACK2 continued to work up to 10.13 High Sierra, but without this « JackRouter as the audio default device » . This last development is now in JackOSX 0.92_b3.
I was not aware that there was a new version of Jack that worked in 10.10. In any event, working as the default audio device is the key goal. Very few programs let me specify an output device.
Thomas Brand
2018-02-17 11:08:31 UTC
Permalink
Post by Stéphane Letz
- JackRouter could be used by any CoreAudio application and also *be
selected as the audio default device* in the OS X system (so to be used
be applications like iTunes or Quicktime) up to OS X 10.8 (or 10.9, not
sure anymore..). This « JackRouter as the default audio device » broke
at that time, for several technical reasons. One is that Apple decided to
progressively raise their security model (sandbox model...whatever), and
second was that the JackRouter driver model become obsolete. It would
have to be entirely rewritten with the new recommended CoreAudio
user-land driver model. I never had time to really estimate if the new
model could 1) fit with JACK server/client model and all the needs in
low-level OS primitives like sockets, shared memory, process
synchronization.. 2) could really solve the « JackRouter use when
selected as the audio default device » issue.
- I had to solve a specific issue in 10.10 (I think ?) when mach
semaphore primitive could not be used anymore, and we have to switch to
Posix Semaphore. After this change JACK2 continued to work up to 10.13
High Sierra, but without this « JackRouter as the audio default device »
. This last development is now in JackOSX 0.92_b3.
Hi Stéphane,
JackOSX 0.92_b3 works nicely on Mac OS High Sierra 10.13.
I'd like to try to compile that same package.
I found
https://sourceforge.net/projects/jackosx/files/JackOSX/ it lists files up to
v 0.89 (2011-12-17).
Where could i find the latest source code for JackPilot and JackRouter /
JackOSX 0.92_b3?
Best regards
Thomas
Chris Caudle
2018-02-17 14:57:41 UTC
Permalink
Post by Thomas Brand
JackOSX 0.92_b3 works nicely on Mac OS High Sierra 10.13.
I'd like to try to compile that same package.
All jackd source code is here:
https://github.com/jackaudio/jack2

I looked and did not see the jackrouter application source, so I do not
know if the applications for OS X are also there, or just the jackd
source.
--
Chris Caudle
Thomas Brand
2018-02-18 10:52:23 UTC
Permalink
Post by Stefan Hellkvist
Post by Thomas Brand
JackOSX 0.92_b3 works nicely on Mac OS High Sierra 10.13.
I'd like to try to compile that same package.
https://github.com/jackaudio/jack2
I looked and did not see the jackrouter application source, so I do not
know if the applications for OS X are also there, or just the jackd source.
Indeed it's not in https://github.com/jackaudio/jack2 ..

Since 0.92_b3 is kind of the official JACK Mac binary, i wondered on what
source(s) other than found in https://github.com/jackaudio/jack2 relies
on.

I found
https://sourceforge.net/projects/jackosx/files/JackOSX/ it lists files up to
v 0.89 (2011-12-17).

Where could i find the latest source code for JackPilot and JackRouter /
JackOSX 0.92_b3?

Any useful hints are welcome.

Greetings
Thomas
Stefan Hellkvist
2018-02-02 10:11:42 UTC
Permalink
Post by Kjetil Matheussen
Radium only has a Jack backend. If jack stops working on MacOS I will
certainly look into it, but I haven't noticed jack not working on any version
of MacOS (including high sierra), and I haven't heard any user compaining
about Jack not working on OSX before now.
Stefan, can you try to install Jack included with Radium instead of using brew?
http://users.notam02.no/~kjetism/radium/demos/macosx/?C=M;O=D <http://users.notam02.no/~kjetism/radium/demos/macosx/?C=M;O=D>
I tried this version. It seems to be the same as on the jack
org/download page, right? It seems to work as far as your use case is concerned (started your radium and it seems to connect to that jack server). The ltc-tools (with jltcdump as I mentioned in another mail in this thread). Does not seem to be compatible with this version of jack though. I get the same “failed to connect errors” as before.

$ jltcdump
unknown option character l
connect(2) call to jackdmp 1.9.11/jack-502/default/jack_0 failed (err=No such file or directory)

So, it seems like Jack2 works in some ways (as in your use case) but perhaps that the tools that link to its dynamic libraries are not always fully compatible. Or that the programming interface between jack1 and jack2 has changed over time, I don’t know.

/Stefan
Kjetil Matheussen
2018-02-03 09:14:25 UTC
Permalink
Post by Kjetil Matheussen
Radium only has a Jack backend. If jack stops working on MacOS I will
certainly look into it, but I haven't noticed jack not working on any version
of MacOS (including high sierra), and I haven't heard any user compaining
about Jack not working on OSX before now.
Stefan, can you try to install Jack included with Radium instead of using brew?
http://users.notam02.no/~kjetism/radium/demos/macosx/?C=M;O=D
I tried this version. It seems to be the same as on the jack
org/download
page, right?
Yes, it seems so. The download links on jackaudio.org have been more
conservative than the included version of Jack in Radium, so I always link
to Radium instead to make sure it's the latest version.
Post by Kjetil Matheussen
It seems to work as far as your use case is concerned (started your radium
and it seems to connect to that jack server). The ltc-tools (with jltcdump
as I mentioned in another mail in this thread). Does not seem to be
compatible with this version of jack though. I get the same “failed to
connect errors” as before.
$ jltcdump
unknown option character l
connect(2) call to jackdmp 1.9.11/jack-502/default/jack_0 failed (err=No
such file or directory)
So, it seems like Jack2 works in some ways (as in your use case) but
perhaps that the tools that link to its dynamic libraries are not always
fully compatible. Or that the programming interface between jack1 and jack2
has changed over time, I don’t know.
I guess you have to recompile jltcdump. Seems like it's not been compiled
with an ABI-compatible version of jack.
Chris Caudle
2018-02-03 15:37:05 UTC
Permalink
Post by Kjetil Matheussen
I guess you have to recompile jltcdump. Seems like it's not been compiled
with an ABI-compatible version of jack.
Isn't hard to find with google, but in case there is some question:

The source for jltclib is here:
https://github.com/x42/ltc-tools

Requires libltc:
https://github.com/x42/libltc

Looking at the INSTALL file it appears libltc still uses autotools, not
waf, so if the original poster has autotools available on Mac OS then it
should be easy to build with ./configure; make; sudo make install
I get the impression that having gcc and autotools installed is less
common on Mac than on linux installations.

Building ltc-tools does not appear to require autotools, it just has a
makefile in the source repository. Seems pretty straight forward
makefile, but I'm not familiar with building on Mac, I can't tell if it
should build OK or not.
--
Chris Caudle
Stefan Hellkvist
2018-02-03 17:09:39 UTC
Permalink
Post by Chris Caudle
Post by Kjetil Matheussen
I guess you have to recompile jltcdump. Seems like it's not been compiled
with an ABI-compatible version of jack.
https://github.com/x42/ltc-tools
https://github.com/x42/libltc
Looking at the INSTALL file it appears libltc still uses autotools, not
waf, so if the original poster has autotools available on Mac OS then it
should be easy to build with ./configure; make; sudo make install
I get the impression that having gcc and autotools installed is less
common on Mac than on linux installations.
Building ltc-tools does not appear to require autotools, it just has a
makefile in the source repository. Seems pretty straight forward
makefile, but I'm not familiar with building on Mac, I can't tell if it
should build OK or not.
Thanks! I followed these instructions and I actually managed to get my ltc-tools to connect to this Jack2 binary now. I have not verified the full use case but this is a big step forward. So thanks!

/Stefan
Robin Gareus
2018-02-04 21:58:23 UTC
Permalink
Post by Chris Caudle
https://github.com/x42/libltc
Looking at the INSTALL file it appears libltc still uses autotools, not
waf, so if the original poster has autotools available on Mac OS then it
should be easy to build with ./configure; make; sudo make install
I get the impression that having gcc and autotools installed is less
common on Mac than on linux installations.
OSX comes with autotools since as far back as I can remember and it
still does (there's a subtle difference for libtoolize (BSD version vs
GNU version. Macs come with both: glibtoolize for the GNU version).

There are no plans to switch libltc to waf or any other build-system.
autotools sucks least by far when it comes to libraries, cross-compiling
libs, architecture support and exporting symbols.

ciao,
robin
Michael
2018-02-01 16:08:28 UTC
Permalink
PLEASE.

I am still using Mac OS 10.9.5 because of Jack. If Jack can be updated to a newer OS, then I can finally upgrade.
Post by Stefan Hellkvist
Hi list,
(Sorry this question has already been discussed but the search function in the archive of the list does not work)
Is anyone working on the problem of getting Jack up and running on MacOS again? I installed Jack with brew but I get these “could not handle external client request” errors which seems to be old problems from looking at search results and GitHub discussions - problems introduced when MacOS audio architecture was changed a while back. Is there any progress on these matters? Is someone working on it? I need Jack as it is a dependency to another library I would like to use but I realize that I might have to abandon MacOS as a platform in the process.
Kindest regards,
Stefan
_______________________________________________
Jack-Devel mailing list
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
---
Entertaining minecraft videos
http://YouTube.com/keybounce
Josh de Kock
2018-03-25 17:41:58 UTC
Permalink
Post by Stefan Hellkvist
Hi list,
(Sorry this question has already been discussed but the search function in the archive of the list does not work)
Is anyone working on the problem of getting Jack up and running on MacOS again? I installed Jack with brew but I get these “could not handle external client request” errors which seems to be old problems from looking at search results and GitHub discussions - problems introduced when MacOS audio architecture was changed a while back. Is there any progress on these matters? Is someone working on it? I need Jack as it is a dependency to another library I would like to use but I realize that I might have to abandon MacOS as a platform in the process.
I looked at this a year or so ago, but ended up concluding that it was
too much work (for someone who had little to gain from it other than
just interest). I concluded in the case of JackOSX it would require an
almost full rewrite of the Router for modern macOS APIs. I could
probably look into it again, if someone could convince me :)
--
Josh
Chris Caudle
2018-03-28 01:21:35 UTC
Permalink
Post by Josh de Kock
Post by Stefan Hellkvist
Hi list,
(Sorry this question has already been discussed but the search function
in the archive of the list does not work)
Is anyone working on the problem of getting Jack up and running on MacOS
again? I installed Jack with brew but I get these “could not handle
external client request” errors which seems to be old problems from
looking at search results and GitHub discussions - problems introduced
when MacOS audio architecture was changed a while back. Is there any
progress on these matters? Is someone working on it? I need Jack as it
is a dependency to another library I would like to use but I realize
that I might have to abandon MacOS as a platform in the process.
I looked at this a year or so ago, but ended up concluding that it was
too much work (for someone who had little to gain from it other than
just interest). I concluded in the case of JackOSX it would require an
almost full rewrite of the Router for modern macOS APIs. I could
probably look into it again, if someone could convince me :)
For the original poster, do not use brew, go get the latest package for
MacOS from jackaudio.org.
That will install jackd and several other tools that are needed.

This came up a few months back. The original developer stated that because
of sandbox/security changed in MacOS the jack router application could no
longer be the default audio device, so software which lets you select the
audio device may continue to work, but software which only uses the system
default device may not be able to use jackd through jack router.

A list user named "Michael" then posted this reply:

I have Jack router working in 10.9.5 as the default audio device. Yes, there
were sandbox issues, but the small set of changes needed for the sandbox file
was just that: small.

Add to the end of system.sb:

;;; local additions for Jack
(allow network*
(regex #"/private/tmp/jack_.*"))
(allow file-write*
(regex #"/private/tmp/jack_.*"))
(allow mach-lookup
(global-name-regex "jack_mach_sem.*"))
(allow ipc-sysv-sem)
(allow ipc-posix-shm-read*
(ipc-posix-name-regex "/jack-.*"))
(allow ipc-posix-shm-write*
(ipc-posix-name-regex "/jack-.*"))
(allow file-read*
(regex
#"/Library/Audio/Plug-Ins/Components/JACK-insert.component.*"))


Perhaps that can help.
--
Chris Caudle
Ralf Mattes
2018-03-28 01:41:31 UTC
Permalink
Post by Michael
I have Jack router working in 10.9.5 as the default audio device.
That's Mavericks, released in 2013 qnd replaced by Yosemite in 2014 ...
Post by Michael
Yes, there
were sandbox issues, but the small set of changes needed for the sandbox file
was just that: small.
That file is protected by SIP and can't be changed (short of rebooting into recovery mode
and doing some terminal surgery - not really what an average Mac user would do).
A non-Apple installer/package isn't able to change these files.

Cheers, RalfD
Chris Caudle
2018-03-28 01:46:18 UTC
Permalink
Post by Ralf Mattes
Post by Michael
I have Jack router working in 10.9.5 as the default audio device.
That's Mavericks, released in 2013 qnd replaced by Yosemite in 2014 ...
OK, so not relevant to current versions then. It is too bad that Apple
has chosen to make using non-Apple audio system software so difficult.

Does installing jack router and using as the non-default device still
work? That at least should be usable for a lot of audio production
software which lets you choose audio device, should it not?
--
Chris Caudle
Stefan Hellkvist
2018-03-28 04:17:06 UTC
Permalink
Post by Chris Caudle
Does installing jack router and using as the non-default device still
work? That at least should be usable for a lot of audio production
software which lets you choose audio device, should it not?
(original poster here)

Yes, that works. In the end, since my program is a command line tool, the path I chose was to have a switch where you first let the user list the audio devices (which jack can do) and then you copy the listed ID and give it as an argument to jack when you start the tool. Not so user friendly perhaps, but the target audience for the tool is used to cli tools in my case.

In order to build everything though (using Jack2), as I had a chain of dependencies all installed with brew, I had to roll my own brew formulas for the complete dependency chain to build everything against Jack2 instead of the brew binary.

But, to state it again, Jack (at least Jack2) still works fine on latest MacOS if you allow the user to specify which audio device to talk to directly. You just cannot change jack to be the default audio device as you once could so you cannot route audio from apps (like iTunes) like you could before. This was not a strong requirement in my case though - useful for testing, but only that.

The GUI part - JackPilot or whatever is is called - in the jack2 distributed binary I never understood where it came from, so I never built that. Given the above limitations it is of less use though as you can do all you need from command line.

Stefan
Post by Chris Caudle
--
Chris Caudle
_______________________________________________
Jack-Devel mailing list
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
Christopher Obbard
2018-03-28 07:29:27 UTC
Permalink
Hi Stefan,
Post by Stefan Hellkvist
You just cannot change jack to be the default audio device as you once could so you cannot route audio from apps (like iTunes) like you could before. This was not a strong requirement in my case though - useful for testing, but only that.
I guess that's Apple being clever and trying to tell you you can't
route iTunes thru to a recording program and save DRM-free music ;-)
Have done similar with the Spotify API and JACK in the past, now
where's that script gone...


Chris

Loading...