jack2 with LADI related goodies
Go to file
Karl Linden 69b04bee68 License the project clearly
This adds a LICENSE file that describes which licenses this project is
licensed under. This is very important, as the project is licensed under
three licenses.

Also added are copyright notices to the wscript files. I added myself as
copyright holder to them, but there are other people who have
contributed to these files which should have their name in the copyright
header. Clearly stating the license of the wscript files should have
been done long ago.
2022-09-10 13:33:46 +03:00
.github CI: build on ubuntu 18.04 and ubuntu 22.04 2022-08-28 15:08:52 +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 License the project clearly 2022-09-10 13:33:46 +03:00
compat Fix wscripts syntax (#826) 2022-04-13 18:29:29 +01:00
dbus License the project clearly 2022-09-10 13:33:46 +03:00
example-clients License the project clearly 2022-09-10 13:33:46 +03:00
freebsd FreeBSD: Cleanup unused SNDCTL_AUDIOINFO code. 2022-01-22 21:40:40 +01:00
linux Add 32 bit support for ALSA driver (#811) 2022-01-15 15:09:56 +00:00
macosx Make JackMachSemaphore more robust, dont use thread_terminate 2022-04-15 20:02:58 +01:00
man License the project clearly 2022-09-10 13:33:46 +03: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
tools Fix wscripts syntax (#826) 2022-04-13 18:29:29 +01:00
waflib Fix typos 2022-09-10 13:07:18 +03:00
windows Fix typos 2022-09-10 13:07:18 +03:00
.cirrus.yml CI: Bogus install prefix in FreeBSD Cirrus CI. 2022-01-15 15:09:56 +00:00
.flake8 Fix wscripts syntax (#826) 2022-04-13 18:29:29 +01:00
.gitignore Fix wscripts syntax (#826) 2022-04-13 18:29:29 +01: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 Add a local GPLv2 license file as COPYING 2020-06-15 01:07:23 +02:00
LICENSE License the project clearly 2022-09-10 13:33:46 +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: Add entry about 2.21.0 release 2022-08-27 22:34:06 +03:00
README.rst Switch build badge to github one 2022-08-14 21:21:23 +03: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 pkgconfig: Use predefined variables in Libs and Cflags 2022-02-17 18:28:09 +00:00
jackserver.pc.in Add pkg-config file for libjackserver 2022-08-27 21:31:25 +03:00
waf Make sure we use python3 (another patch from Fedora) 2019-10-28 11:38:21 +01:00
wscript License the project clearly 2022-09-10 13:33:46 +03:00

README.rst

`JACK2 <https://jackaudio.org/>`_
################################

.. 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
   
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 `freenode IRC <https://freenode.net>`_.