jack |
|
|||||||
|
JACK faq
How did JACK come to be?People on the linux-audio-dev list saw the need for a server API that would allow high-bandwidth, low-latency communication between a number of audio applications. The proposal that was put forth was called "LAAGA", the Linux Audio Applications Glue API. JACK may be seen as an implementation of the goals of LAAGA. Another planned implementation of these goals is LADMEA, written by the author of the successful LADSPA plugin interface. LADMEA and JACK are somewhat orthogonal, and it is not impossible to imagine them interacting in a cooperative fashion. How does JACK compare to...?Please mail the jackit-devel mailing list if you have any concerns about the answers to these questions. Also, no disrespect to any effort is intended, only a recognition of different goals and design principles. How does JACK compare to ...
How can I make my app use JACK?
Your app must be callback-based. This means that you should not block on writes or reads from a PCM
device; rather, you should have your app be "driven" by a function that gets called at regular
intervals. This is a design decision. Then, take a look at the simple client
code, and do your interesting stuff inside the Note that code written for any callback API can generally be ported to any other callback API fairly easily. Code that is written around a "blocking I/O" model generally needs to completely redesigned to be used in any kind of callback API. What do I need to do to link to JACK?JACK uses pkg-config. Find a package for your favorite distribution and OS, or build it from source. To build your JACK program, try $ gcc -o myprog `pkg-config --cflags --libs jack` myprog.c
This process can be integrated into your autoconf/automake build system with PKG_CHECK_MODULES(JACK, jack, HAVE_JACK=true, HAVE_JACK=false)
to your How do I install JACK?Prerequisites
Once you have the correct shmfs support, you should be able to build jack with the following sequence of commands: sh ./autogen.sh ./configure make make install Good luck! Why are my clients unable to connect to the JACK server?The most common reason is that the server was started using a different user ID. How can I get the best performance out of JACK?"Good performance" for JACK means operating at the lowest latency possible with no dropouts at any load. There are a number of factors which affect performance:
JACK, jackd, libjack, jackit, wha?There is a profusion of names surrounding the JACK project, and hopefully this will help clear things up. JACKJACK is the name of the whole system. It may be written as Jack if you prefer. It is an acronym for "Jack Audio Connection Kit". Do you know JACK? jackd, libjackAs a system, JACK has a number of parts. The server process is called jackd, and the library that applications link to is called libjack. From a theoretical perspective, this distinction is not important, but it is helpful to note the difference when describing JACK internals, due to the fact that these components execute in different processes and address spaces. jackit, jack-audio-connection-kit
As luck would have it, by the time we got around to registering a
sourceforge site for JACK, there was already another program out there by
the same name. "jackit" is a play on the original JACK
acronym. Not only does that
other project have the sourceforge name, it has mandrake and
debian packages too, so we needed a new name for releases. At the
moment, we are releasing tarballs as
|