jack2/README.rst

51 lines
2.6 KiB
ReStructuredText
Raw Permalink Normal View History

2022-09-10 15:38:26 +03:00
`LADI JACK2 <https://github.com/LADI/jack2>`_
Travis integration with more platforms and compilers (#384) * .ci/install-deps.sh: Install script for dependencies. * .travis.yml: Adding support for gcc 8,7,6,default and xcode 8.3,9.2,default. * .ci/install-deps.sh: Addin libsystemd-dev, opus and portaudio-dev. * .travis.yml: Removing install script covered package installations. Adding branch whitelist for all branches. * .ci/install-deps.sh: Adding executable bit. * ci/install-deps.sh: Moving to non-hidden directory to make execution less painful. * .travis.yml: Properly moving install script to hiddend directory. * .ci/install-deps.sh: Changing to trusty names for libraries and development packages. * .ci/install-deps.sh: Adding systemd, dbus and eigen3. * .ci/install-deps.sh: Adding libsystemd0,libopus-dev, libportaudio2. * .ci/install-deps.sh: Installing random systemd packages in the hopes they are the right ones... fuck yeah, ubuntu packaging hell. * .travis.yml: Setting build and install operations to verbose. * .ci/install-deps.sh: Install script for dependencies. * .travis.yml: Adding support for gcc 8,7,6,default and xcode 8.3,9.2,default. * .ci/install-deps.sh: Addin libsystemd-dev, opus and portaudio-dev. * .travis.yml: Removing install script covered package installations. Adding branch whitelist for all branches. * .ci/install-deps.sh: Adding executable bit. * ci/install-deps.sh: Moving to non-hidden directory to make execution less painful. * .travis.yml: Properly moving install script to hiddend directory. * .ci/install-deps.sh: Changing to trusty names for libraries and development packages. * .ci/install-deps.sh: Adding systemd, dbus and eigen3. * .ci/install-deps.sh: Adding libsystemd0,libopus-dev, libportaudio2. * .ci/install-deps.sh: Installing random systemd packages in the hopes they are the right ones... fuck yeah, ubuntu packaging hell. * .travis.yml: Setting build and install operations to verbose. * .ci/install-deps.sh: Adding berkeley db. * .travis.yml: Using default prefix on Linux (installing to /usr fails on travis - probably already installed). * .travis.yml: Adding back /usr prefix and adding sudo to install call. * README.rst: Adding initial version of a rst based README (only introduction and build information). * README.rst: Adding link to website in title. Fixing resource type to be image for build status image. Fixing sub bullet lists. * README.rst: Fixing bullet lists according to rst spec. * .travis.yml: Adding hacks for building with gcc on macOS. * .travis.yml: Adding missing envs and compiler types to macOS builds. * .ci/install-deps.sh: Fixing name of package portaudio19-dev. * .travis.yml: Adding comments to default gcc/clang versions. Unifying call to brew update with removal of custom c++ executable. * .ci/install-deps.sh: Adding install of gcc versions on macOS depending on CC variable. * .travis.yml: Removing installation of gcc from matrix setup (the local c++ executable has to be removed first). * .ci/install-deps.sh: Install the right gcc formula using brew. * .travis.yml: Also set CXX to gcc6, if CC is set to it. * .travis.yml: Removing disabling of options (they will be disabled automatically, if not available). * .travis.yml: Looking at what we're deleting in /usr/local/include/c++. * .travis.yml: Uninstalling oclint, if it's installed, as it conflicts with gcc. * .travis.yml: Test what removal of include-fixed stdio.h will do (otherwise there's a broken include of a _stdio.h). * .travis.yml: Creating one-liner for header removal, adding ; to configure. * .travis.yml: Fixing indent. Adding ; for one-liner. * .travis.yml: Moving to xcode9.2 image for testing, as the stdio.h issue seems xcode related (probably a bug with 9.4). Removing header removal. * .travis.yml: Adding -flax-vector-conversions to CXXFLAGS to fix vector conversion problems. * .travis.yml: Trying xcode8.3 with the build in the hopes that CoreAudio will behave more nicely. * .travis.yml: Moving to clang for all OSX based builds for now, as brew installed gcc proves to be very complicated. * .travis.yml: Removing support for Xcode 7.3. That stuff is too old.
2018-11-13 22:37:42 +02:00
################################
2022-08-14 21:21:23 +03:00
.. 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
2022-09-10 15:38:26 +03:00
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
2022-09-10 15:50:52 +03:00
other `LADI <https://github.com/LADI/>`_ related stuff.
2022-09-10 15:38:26 +03:00
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
2022-09-10 15:38:26 +03:00
Do not submit LADI specific issues to jackaudio project.
Travis integration with more platforms and compilers (#384) * .ci/install-deps.sh: Install script for dependencies. * .travis.yml: Adding support for gcc 8,7,6,default and xcode 8.3,9.2,default. * .ci/install-deps.sh: Addin libsystemd-dev, opus and portaudio-dev. * .travis.yml: Removing install script covered package installations. Adding branch whitelist for all branches. * .ci/install-deps.sh: Adding executable bit. * ci/install-deps.sh: Moving to non-hidden directory to make execution less painful. * .travis.yml: Properly moving install script to hiddend directory. * .ci/install-deps.sh: Changing to trusty names for libraries and development packages. * .ci/install-deps.sh: Adding systemd, dbus and eigen3. * .ci/install-deps.sh: Adding libsystemd0,libopus-dev, libportaudio2. * .ci/install-deps.sh: Installing random systemd packages in the hopes they are the right ones... fuck yeah, ubuntu packaging hell. * .travis.yml: Setting build and install operations to verbose. * .ci/install-deps.sh: Install script for dependencies. * .travis.yml: Adding support for gcc 8,7,6,default and xcode 8.3,9.2,default. * .ci/install-deps.sh: Addin libsystemd-dev, opus and portaudio-dev. * .travis.yml: Removing install script covered package installations. Adding branch whitelist for all branches. * .ci/install-deps.sh: Adding executable bit. * ci/install-deps.sh: Moving to non-hidden directory to make execution less painful. * .travis.yml: Properly moving install script to hiddend directory. * .ci/install-deps.sh: Changing to trusty names for libraries and development packages. * .ci/install-deps.sh: Adding systemd, dbus and eigen3. * .ci/install-deps.sh: Adding libsystemd0,libopus-dev, libportaudio2. * .ci/install-deps.sh: Installing random systemd packages in the hopes they are the right ones... fuck yeah, ubuntu packaging hell. * .travis.yml: Setting build and install operations to verbose. * .ci/install-deps.sh: Adding berkeley db. * .travis.yml: Using default prefix on Linux (installing to /usr fails on travis - probably already installed). * .travis.yml: Adding back /usr prefix and adding sudo to install call. * README.rst: Adding initial version of a rst based README (only introduction and build information). * README.rst: Adding link to website in title. Fixing resource type to be image for build status image. Fixing sub bullet lists. * README.rst: Fixing bullet lists according to rst spec. * .travis.yml: Adding hacks for building with gcc on macOS. * .travis.yml: Adding missing envs and compiler types to macOS builds. * .ci/install-deps.sh: Fixing name of package portaudio19-dev. * .travis.yml: Adding comments to default gcc/clang versions. Unifying call to brew update with removal of custom c++ executable. * .ci/install-deps.sh: Adding install of gcc versions on macOS depending on CC variable. * .travis.yml: Removing installation of gcc from matrix setup (the local c++ executable has to be removed first). * .ci/install-deps.sh: Install the right gcc formula using brew. * .travis.yml: Also set CXX to gcc6, if CC is set to it. * .travis.yml: Removing disabling of options (they will be disabled automatically, if not available). * .travis.yml: Looking at what we're deleting in /usr/local/include/c++. * .travis.yml: Uninstalling oclint, if it's installed, as it conflicts with gcc. * .travis.yml: Test what removal of include-fixed stdio.h will do (otherwise there's a broken include of a _stdio.h). * .travis.yml: Creating one-liner for header removal, adding ; to configure. * .travis.yml: Fixing indent. Adding ; for one-liner. * .travis.yml: Moving to xcode9.2 image for testing, as the stdio.h issue seems xcode related (probably a bug with 9.4). Removing header removal. * .travis.yml: Adding -flax-vector-conversions to CXXFLAGS to fix vector conversion problems. * .travis.yml: Trying xcode8.3 with the build in the hopes that CoreAudio will behave more nicely. * .travis.yml: Moving to clang for all OSX based builds for now, as brew installed gcc proves to be very complicated. * .travis.yml: Removing support for Xcode 7.3. That stuff is too old.
2018-11-13 22:37:42 +02:00
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
2019-01-23 21:33:50 +02:00
features that aims at removing some limitations of the JACK1 design. The
Travis integration with more platforms and compilers (#384) * .ci/install-deps.sh: Install script for dependencies. * .travis.yml: Adding support for gcc 8,7,6,default and xcode 8.3,9.2,default. * .ci/install-deps.sh: Addin libsystemd-dev, opus and portaudio-dev. * .travis.yml: Removing install script covered package installations. Adding branch whitelist for all branches. * .ci/install-deps.sh: Adding executable bit. * ci/install-deps.sh: Moving to non-hidden directory to make execution less painful. * .travis.yml: Properly moving install script to hiddend directory. * .ci/install-deps.sh: Changing to trusty names for libraries and development packages. * .ci/install-deps.sh: Adding systemd, dbus and eigen3. * .ci/install-deps.sh: Adding libsystemd0,libopus-dev, libportaudio2. * .ci/install-deps.sh: Installing random systemd packages in the hopes they are the right ones... fuck yeah, ubuntu packaging hell. * .travis.yml: Setting build and install operations to verbose. * .ci/install-deps.sh: Install script for dependencies. * .travis.yml: Adding support for gcc 8,7,6,default and xcode 8.3,9.2,default. * .ci/install-deps.sh: Addin libsystemd-dev, opus and portaudio-dev. * .travis.yml: Removing install script covered package installations. Adding branch whitelist for all branches. * .ci/install-deps.sh: Adding executable bit. * ci/install-deps.sh: Moving to non-hidden directory to make execution less painful. * .travis.yml: Properly moving install script to hiddend directory. * .ci/install-deps.sh: Changing to trusty names for libraries and development packages. * .ci/install-deps.sh: Adding systemd, dbus and eigen3. * .ci/install-deps.sh: Adding libsystemd0,libopus-dev, libportaudio2. * .ci/install-deps.sh: Installing random systemd packages in the hopes they are the right ones... fuck yeah, ubuntu packaging hell. * .travis.yml: Setting build and install operations to verbose. * .ci/install-deps.sh: Adding berkeley db. * .travis.yml: Using default prefix on Linux (installing to /usr fails on travis - probably already installed). * .travis.yml: Adding back /usr prefix and adding sudo to install call. * README.rst: Adding initial version of a rst based README (only introduction and build information). * README.rst: Adding link to website in title. Fixing resource type to be image for build status image. Fixing sub bullet lists. * README.rst: Fixing bullet lists according to rst spec. * .travis.yml: Adding hacks for building with gcc on macOS. * .travis.yml: Adding missing envs and compiler types to macOS builds. * .ci/install-deps.sh: Fixing name of package portaudio19-dev. * .travis.yml: Adding comments to default gcc/clang versions. Unifying call to brew update with removal of custom c++ executable. * .ci/install-deps.sh: Adding install of gcc versions on macOS depending on CC variable. * .travis.yml: Removing installation of gcc from matrix setup (the local c++ executable has to be removed first). * .ci/install-deps.sh: Install the right gcc formula using brew. * .travis.yml: Also set CXX to gcc6, if CC is set to it. * .travis.yml: Removing disabling of options (they will be disabled automatically, if not available). * .travis.yml: Looking at what we're deleting in /usr/local/include/c++. * .travis.yml: Uninstalling oclint, if it's installed, as it conflicts with gcc. * .travis.yml: Test what removal of include-fixed stdio.h will do (otherwise there's a broken include of a _stdio.h). * .travis.yml: Creating one-liner for header removal, adding ; to configure. * .travis.yml: Fixing indent. Adding ; for one-liner. * .travis.yml: Moving to xcode9.2 image for testing, as the stdio.h issue seems xcode related (probably a bug with 9.4). Removing header removal. * .travis.yml: Adding -flax-vector-conversions to CXXFLAGS to fix vector conversion problems. * .travis.yml: Trying xcode8.3 with the build in the hopes that CoreAudio will behave more nicely. * .travis.yml: Moving to clang for all OSX based builds for now, as brew installed gcc proves to be very complicated. * .travis.yml: Removing support for Xcode 7.3. That stuff is too old.
2018-11-13 22:37:42 +02:00
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>`_.
2020-06-27 16:29:03 +03:00