View on GitHub JACK Logo - Home

macOS and Windows nightly builds

On by falkTX

Just a small heads up to mention that macOS and Windows nightly builds are now available for JACK2.

You can find them in the JACK2 GitHub actions section, each successful build will have matching artifacts.
When you open a pull request, builds will be automatically generated.
(pending approval from JACK2 maintainers, but there is typically no reason not to approve)

These artifacts include macOS-intel, macOS-universal, Ubuntu 20.04, Windows 32bit and Windows 64bit builds.
Note that neither QjackCtl or JACK-Router are included in these builds, only JACK.

JACK2 v1.9.19 release

On by falkTX

A new version of JACK2 has just been released.
You can grab the latest release source code at https://github.com/jackaudio/jack2/releases and macOS/Windows installers at https://github.com/jackaudio/jack2-releases/releases.

This release focuses on 2 main things: jack_position_t::tick_double addition and forced alignment of a few internal data structures. A few other fixes were made as contributed by developers.

This relase adds tick_double to the jack_position_t struct and JackTickDouble as a validation flag for it. Since older versions of JACK do not expose this variable, the macro JACK_TICK_DOUBLE is provided, which can be used as build-time detection.

The alignment change is because the packed structure layouts as used in JACK2 need to be naturally aligned in order to be accessed atomically in some systems. A non-aligned read or write can result in a “Bus error”, which brings down jackd. This seems to only be relevant on certain ARM systems, as JACK2 was obviously working before this change for most people.
As a consequence of this change, the internal protocol version was bumped to 9, which requires the restart of the JACK server after the update.

The official changelog is:

External changes, related to macOS/Windows installer:

Now, for the rationale behind the transport tick_double API update:

When using JACK transport to sync between clients with precise timing requirements (such as MIDI sequencers) rounding errors would accumulate and eventually make the separate clients out of sync.
This was observed in Carla and mod-host, which use audio plugins as JACK clients. Some MIDI plugins could miss notes due to rounding errors. This change has been deployed in MOD Devices for a couple of releases already and it is known to work (that is, it corrects the situation).

There were discussions on IRC about this potentially be unnecessary, that clients can just use bar_start_tick to store the non-integer part of the tick.
While the idea could work in theory, supporting it turns out to be non-trivial and from all applications that I have tested none implemented this part correctly.
Some applications do not set bar_start_tick at all, even though they can be run as transport master.

So since the transport API has padding members available for use and it has been unchanged for several years (so there won’t be a need to add more fields in the short or middle term), well let’s just go for it.

Here is example code for transport-listening clients:

double tick;
#ifdef JACK_TICK_DOUBLE
if (pos.valid & JackTickDouble)
    tick = pos.tick_double;
else
#endif
    tick = pos.tick;

JACK2 v1.9.18 release

On by falkTX

A new version of JACK2 has just been released.
You can grab the latest release source code at https://github.com/jackaudio/jack2/releases and macOS/Windows installers at https://github.com/jackaudio/jack2-releases/releases.

This release focuses on 2 main things: adding zalsa internal client and fixing macOS builds in regards to DB/meta-data.
A few other fixes were made as contributed by developers.

With zalsa now part of JACK2, we are one more step closer to JACK1 feature parity.
Worth noting that this is purely the client, we still need to add the switches to be able to load internal clients directly from jackd startup command-line.
Will be interesting to attempt to make this zalsa client also behave as a “slave adapter” like done with ALSA audioadapter, coremidi and winmme drivers.
Something for a future release.

On macOS, please restart the JACK server after updating to 1.9.18.

The official changelog is:

Now for those unaware of this whole “zalsa” thing…
This is basically zita-a2j/j2a by Fons Adriaensen repackaged as an internal client instead of being an external standalone tool.
JACK1 already added this a few years ago.
This zalsa version is slightly more up to date and with a few new fixes on top.

On supported systems, we can use it by running:

jack_load zalsa_out -i "-d hw:Mio"

This will activate the “Mio” soundcard as an output in the JACK graph.
You can use jack_unload zalsa_out to deactivate it, or alternatively control the start/stop purely in CLI with:

jack_load -w -a zalsa_out -i "-d hw:Mio"

Which will automatically unload the internal client after Ctrl+C or SIGTERM.

Worth noting that, since internal clients run in the JACK server process, they will log/print information on that process and not on the jack_load one.
So watch out for that if you need to debug anything.

JACK2 v1.9.17 release

On by falkTX

A new version of JACK2 has just been released.
You can grab the latest release source code at https://github.com/jackaudio/jack2/releases and macOS/Windows installers at https://github.com/jackaudio/jack2-releases/releases.

This release focuses on improvements to the macOS and Windows binaries, now with macOS universal builds natively supporting Apple M1 hardware.
On M1 hardware, you can now have native arm64 JACK clients talk to Intel/x64 once and vice-versa.

On Windows, JACK-Router (the special ASIO driver that allows any ASIO-compatible application to talk to other JACK clients) has been brought back, now integrated with the installer so it is much easier to manage.
Also, 32-bit and 64-bit clients can now be mixed without any side-effects to the meta-data.

Please restart the JACK server after updating to 1.9.17 on those systems.

The official changelog is:

JACK2 v1.9.16 quick hot-fix (for v1.9.15)

On by falkTX

An issue was found on the last JACK2 release that caused a few applications to crash on start.
This is a quick hot-fix for that release. If you are running v1.9.15, please update.

Because of a new release being needed, we took the chance to remove the jack-router Windows code, as it now belongs in its own repository.
These two items are the full release.

You can grab the latest release source code at https://github.com/jackaudio/jack2/releases.

You can also grab the latest pre-built installers for macOS and Windows at https://github.com/jackaudio/jack2-releases/releases.
On other systems, ask your jack2 package maintainer to update to the latest release.

[ News Archive ]