jack2 with LADI related goodies
Go to file
Nedko Arnaudov d05b367286 Adjust libjack and libjackserver pkg-config files for LADI 2023-07-25 22:31:22 +03:00
.github ci/github: Ubuntu 18.04 deprecated 2023-04-22 11:26:48 +03:00
android Fix misc. typos 2021-06-30 09:11:21 +01:00
autooptions FIx doxygen and user facing and non-facing typos 2019-09-11 19:17:07 +01:00
common Merge miartad/adit-control-api-backports into LADI/jack2/main 2023-07-25 20:55:23 +03:00
compat Fix wscripts syntax (#826) 2022-04-13 18:29:29 +01:00
dbus jackdbus cleanup from ladi/jack2 2023-02-02 16:52:59 +02:00
freebsd FreeBSD: Override UpdateLatencies() to fit OSS latencies. 2022-05-30 01:22:54 +02:00
linux linux/alsa/alsa_rawmidi.c: Adjust port aliases to match these of linux/alsarawmidi/* 2023-07-23 20:52:10 +03:00
macosx macOS: forcely ignore wait failures when closing down 2023-01-30 22:14:29 +01:00
man Fix typos 2023-01-28 16:48:31 +01:00
posix JackFifo: Apply given init value in allocate 2022-03-29 11:49:24 +01:00
solaris FreeBSD: Add missing OSS option --excl to man page. 2022-01-15 15:09:56 +00:00
systemd Make sure we use python3 (another patch from Fedora) 2019-10-28 11:38:21 +01:00
tests License the project clearly 2022-09-10 13:33:46 +03:00
windows Fix typos 2023-01-28 16:48:31 +01:00
.cirrus.yml CI: Update FreeBSD image to 13.1, fix build. 2023-01-26 23:20:24 +01:00
.flake8 Fix wscripts syntax (#826) 2022-04-13 18:29:29 +01:00
.gitignore Update wscript for new waf (and drop xcode support) 2023-04-19 16:43:10 +03:00
.wafupdaterc Update to waf 2.0.11 2018-10-06 16:08:54 +02:00
AUTHORS.rst macOS: Pass JackMachSemaphore send right via mach_msg IPC (#788) 2022-01-15 15:09:55 +00:00
COPYING COPYING: improve wording 2022-09-10 15:29:09 +03:00
LICENSE.BSD-3 License the project clearly 2022-09-10 13:33:46 +03:00
LICENSE.GPL-2 License the project clearly 2022-09-10 13:33:46 +03:00
LICENSE.LGPL-2.1 License the project clearly 2022-09-10 13:33:46 +03:00
NEWS.rst NEWS.rst: LADI jack2 2.22.1 (2023-02-18) 2023-02-18 10:12:49 +02:00
README.rst v1.9.22 2023-02-02 16:45:51 +02:00
README_NETJACK2 FIx doxygen and user facing and non-facing typos 2019-09-11 19:17:07 +01:00
doxyfile.in Fix compilation of documentation 2021-06-30 09:18:14 +01:00
jack.pc.in Adjust libjack and libjackserver pkg-config files for LADI 2023-07-25 22:31:22 +03:00
jackserver.pc.in Adjust libjack and libjackserver pkg-config files for LADI 2023-07-25 22:31:22 +03:00
waf upgrade waf to 2.0.25 2023-04-19 16:36:12 +03:00
wscript Bump libjack & libjackserver versions from 0.1.0 to 1.22.0 (LADI versions) 2023-07-25 22:29:54 +03:00

README.rst

`LADI JACK2 <https://github.com/LADI/jack2>`_
################################

.. image:: https://github.com/LADI/jack2/actions/workflows/build.yml/badge.svg
   :target: https://github.com/LADI/jack2/actions
.. image:: https://repology.org/badge/tiny-repos/jack-audio-connection-kit.svg
   :target: https://repology.org/metapackage/jack-audio-connection-kit/versions

This is a variant of `jackaudio.org JACK2 <https://github.com/jackaudio/jack2/>`_
codebase for use with `LADI/jackdbus <https://github.com/LADI/jackdbus>`_ and
other `LADI <https://github.com/LADI/>`_ related stuff.

For LADI specific issues, submit issues or pull request to LADI project.
For related discussions, you are invited to join
`Libera.Chat <https://libera.chat/>`_ channel #ladi

Do not submit LADI specific issues to jackaudio project.

JACK2 aka jackdmp is a C++ version of the JACK low-latency audio server for
multi-processor machines. It is a new implementation of the JACK server core
features that aims at removing some limitations of the JACK1 design. The
activation system has been changed for a data flow model and lock-free
programming techniques for graph access have been used to have a more dynamic
and robust system.

- uses a new client activation model, that allows simultaneous client
  execution (on a SMP machine) when parallel clients exist in the graph (client
  that have the same inputs). This activation model allows to better use
  available CPU on a smp machine, but also works on mono-processor machine.

- uses a lock-free way to access (read/write) the client graph, thus
  allowing connections/disconnection to be done without interrupting the audio
  stream. The result is that connections/disconnections are glitch-free.

- can work in two different modes at the server level:

  - *synchronous activation*: in a given cycle, the server waits for all
    clients to be finished (similar to normal jackd)

  - *asynchronous activation*: in a given cycle, the server does not wait for
    all clients to be finished and use output buffer computed the previous
    cycle.
    The audible result of this mode is that if a client is not activated
    during one cycle, other clients may still run and the resulting audio
    stream will still be produced (even if its partial in some way). This
    mode usually result in fewer (less audible) audio glitches in a loaded
    system.

For further information, see the JACK `homepage <https://jackaudio.org/>`_ and `wiki <https://github.com/jackaudio/jackaudio.github.com/wiki>`_. There are also the #jack and #lad chat channels on `Libera Chat IRC <https://web.libera.chat/#jack>`_.