This patch file was obtained originally from: http://ftp.debian.org/debian/pool/main/j/\ jack-audio-connection-kit/\ jack-audio-connection-kit_0.100.7-1.diff.gz The contents are unchanged except for these comments. --- jack-audio-connection-kit-0.100.7.orig/debian/patches/01a_force-copy-autogen.sh.patch +++ jack-audio-connection-kit-0.100.7/debian/patches/01a_force-copy-autogen.sh.patch @@ -0,0 +1,26 @@ +--- autogen.sh.orig 2005-02-14 23:22:14.258719916 +0100 ++++ autogen.sh 2005-02-14 23:24:07.339269440 +0100 +@@ -14,7 +14,7 @@ + fi + fi + +-$LIBTOOLIZE --force 2>&1 | sed '/^You should/d' || { ++$LIBTOOLIZE --copy --force 2>&1 | sed '/^You should/d' || { + echo "libtool failed, exiting..." + exit 1 + } +@@ -29,12 +29,12 @@ + exit 1 + } + +-automake --add-missing --foreign || { ++automake --add-missing --foreign --copy --force-missing || { + echo "automake --add-missing --foreign failed, exiting..." + exit 1 + } + +-autoconf || { ++autoconf --force || { + echo "autoconf failed, exiting..." + exit 1 + } --- jack-audio-connection-kit-0.100.7.orig/debian/patches/01_add-autogen.sh.patch +++ jack-audio-connection-kit-0.100.7/debian/patches/01_add-autogen.sh.patch @@ -0,0 +1,49 @@ +diff -Naur autogen.sh autogen.sh +--- autogen.sh 1970-01-01 00:00:00.000000000 +0000 ++++ autogen.sh 2004-03-23 11:07:18.000000000 +0000 +@@ -0,0 +1,45 @@ ++#!/bin/sh ++ ++if which libtoolize >/dev/null ++then ++ LIBTOOLIZE=libtoolize ++else ++ if which glibtoolize >/dev/null ++ then ++ # on the Mac it's called glibtoolize for some reason ++ LIBTOOLIZE=glibtoolize ++ else ++ echo "libtoolize not found" ++ exit 1 ++ fi ++fi ++ ++$LIBTOOLIZE --force 2>&1 | sed '/^You should/d' || { ++ echo "libtool failed, exiting..." ++ exit 1 ++} ++ ++aclocal $ACLOCAL_FLAGS -I config || { ++ echo "aclocal \$ACLOCAL_FLAGS where \$ACLOCAL_FLAGS= failed, exiting..." ++ exit 1 ++} ++ ++autoheader || { ++ echo "autoheader failed, exiting..." ++ exit 1 ++} ++ ++automake --add-missing --foreign || { ++ echo "automake --add-missing --foreign failed, exiting..." ++ exit 1 ++} ++ ++autoconf || { ++ echo "autoconf failed, exiting..." ++ exit 1 ++} ++ ++if test x$1 != x--no-conf; then ++ echo "Running ./configure --enable-maintainer-mode $@..." ++ ./configure --enable-maintainer-mode $@ ++fi --- jack-audio-connection-kit-0.100.7.orig/debian/patches/07_path-max.patch +++ jack-audio-connection-kit-0.100.7/debian/patches/07_path-max.patch @@ -0,0 +1,36 @@ +diff -ur jack-audio-connection-kit-0.100.0/jack/internal.h jack-audio-connection-kit-0.100.0.patched/jack/internal.h +--- jack-audio-connection-kit-0.100.0/jack/internal.h 2005-05-12 16:58:15.000000000 +0200 ++++ jack-audio-connection-kit-0.100.0.patched/jack/internal.h 2005-07-31 17:23:16.000000000 +0200 +@@ -49,6 +49,14 @@ + #include + #endif + ++#ifndef PATH_MAX ++ #ifdef MAXPATHLEN ++ #define PATH_MAX MAXPATHLEN ++ #else ++ #define PATH_MAX 1024 ++ #endif /* MAXPATHLEN */ ++#endif /* !PATH_MAX */ ++ + #ifdef DEBUG_ENABLED + #define DEBUG(format,args...) \ + fprintf (stderr, "jack:%5d:%" PRIu64 " %s:%s:%d: " format "\n", getpid(), jack_get_microseconds(), __FILE__, __FUNCTION__, __LINE__ , ## args) +diff -ur jack-audio-connection-kit-0.100.0/libjack/unlock.c jack-audio-connection-kit-0.100.0.patched/libjack/unlock.c +--- jack-audio-connection-kit-0.100.0/libjack/unlock.c 2005-05-03 15:31:52.000000000 +0200 ++++ jack-audio-connection-kit-0.100.0.patched/libjack/unlock.c 2005-07-31 17:23:46.000000000 +0200 +@@ -27,6 +27,14 @@ + + #include "jack/unlock.h" + ++#ifndef PATH_MAX ++ #ifdef MAXPATHLEN ++ #define PATH_MAX MAXPATHLEN ++ #else ++ #define PATH_MAX 1024 ++ #endif /* MAXPATHLEN */ ++#endif /* !PATH_MAX */ ++ + static char* blacklist[] = { + "/libgtk", + "/libqt", --- jack-audio-connection-kit-0.100.7.orig/debian/patches/05_jack_md5h.patch +++ jack-audio-connection-kit-0.100.7/debian/patches/05_jack_md5h.patch @@ -0,0 +1,33 @@ +#! /bin/sh -e +## Junichi Uekawa +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: jack_md5.h did not have dependency, fixing +## DP: status: upstream not yet notified + +if [ $# -ne 1 ]; then + echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 + exit 1 +fi +case "$1" in + -patch) patch -f --no-backup-if-mismatch -p1 < $0;; + -unpatch) patch -f --no-backup-if-mismatch -R -p1 < $0;; + *) + echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 + exit 1;; +esac + +exit 0 + +--- jack-audio-connection-kit-0.71.2.orig/jackd/Makefile.am ++++ jack-audio-connection-kit-0.71.2/jackd/Makefile.am +@@ -36,7 +36,7 @@ + endif + echo "#define JACKD_MD5_SUM \"`md5sum .libs/jackd | awk '{print $$1}'`\"" > jack_md5.h + +-jackstart_SOURCES = jackstart.c md5.c ++jackstart_SOURCES = jackstart.c md5.c jack_md5.h + jackstart_LDFLAGS = -lcap + + man_MANS = jackd.1 jackstart.1 + --- jack-audio-connection-kit-0.100.7.orig/debian/patches/06_iec61883_headers.patch +++ jack-audio-connection-kit-0.100.7/debian/patches/06_iec61883_headers.patch @@ -0,0 +1,139 @@ +diff -N -a -u -r drivers/iec61883/iec61883_common.h drivers/iec61883/iec61883_common.h +--- drivers/iec61883/iec61883_common.h 1970-01-01 01:00:00.000000000 +0100 ++++ drivers/iec61883/iec61883_common.h 2003-12-15 20:54:37.000000000 +0100 +@@ -0,0 +1,45 @@ ++/* ++ * JACK IEC61883 (FireWire audio) driver ++ * ++ * Copyright (C) Robert Ham 2003 ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++#ifndef __JACK_IEC61883_COMMON_H__ ++#define __JACK_IEC61883_COMMON_H__ ++ ++#include ++#include ++ ++typedef jack_default_audio_sample_t sample_t; ++typedef struct _iec61883_channel_info iec61883_channel_info_t; ++ ++struct _iec61883_channel_info ++{ ++ unsigned char iso_ch; ++ int naud_chs; ++}; ++ ++/** convert a channel spec into an ordered JSList of ++ * iec61883_channel_info_t's */ ++JSList * iec61883_get_channel_spec (const char * channel_spec); ++ ++void iec61883_client_print_iso_ch_info (JSList * infos, FILE * file); ++ ++ ++#endif /* __JACK_IEC61883_COMMON_H__ */ ++ ++ +diff -N -a -u -r drivers/iec61883/iec61883_driver.h drivers/iec61883/iec61883_driver.h +--- drivers/iec61883/iec61883_driver.h 1970-01-01 01:00:00.000000000 +0100 ++++ drivers/iec61883/iec61883_driver.h 2003-12-15 20:54:46.000000000 +0100 +@@ -0,0 +1,46 @@ ++/* ++ * JACK IEC16883 (FireWire audio) driver ++ * ++ * Copyright (C) Robert Ham 2003 (rah@bash.sh) ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++#ifndef __JACK_IEC61883_DRIVER_H__ ++#define __JACK_IEC61883_DRIVER_H__ ++ ++#include ++#include ++#include ++ ++#include "iec61883_client.h" ++ ++typedef struct _iec61883_driver iec61883_driver_t; ++ ++struct _iec61883_driver ++{ ++ JACK_DRIVER_NT_DECL ++ ++ jack_client_t * jack_client; ++ ++ jack_nframes_t buffer_size; ++ iec61883_client_t * iec61883_client; ++}; ++ ++ ++ ++#endif /* __JACK_IEC61883_DRIVER_H__ */ ++ ++ +diff -N -a -u -r drivers/iec61883/iec61883_ip_client.h drivers/iec61883/iec61883_ip_client.h +--- drivers/iec61883/iec61883_ip_client.h 1970-01-01 01:00:00.000000000 +0100 ++++ drivers/iec61883/iec61883_ip_client.h 2003-12-15 20:55:08.000000000 +0100 +@@ -0,0 +1,36 @@ ++/* -*- mode: c; c-file-style: "linux"; -*- */ ++/* ++ * JACK IEC16883 (FireWire audio) driver ++ * ++ * Copyright (C) 2003 Robert Ham ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ * ++ * ++ * This has stuff that is common to both the driver and the in-process ++ * client. ++ */ ++ ++#ifndef __JACK_IEC61883_IP_CLIENT_H__ ++#define __JACK_IEC61883_IP_CLIENT_H__ ++ ++#include ++ ++#include "iec61883_common.h" ++#include "iec61883_client.h" ++ ++#endif /* __JACK_IEC61883_IP_CLIENT_H__ */ ++ ++ --- jack-audio-connection-kit-0.100.7.orig/debian/patches/04_configure_in_jack_version.patch +++ jack-audio-connection-kit-0.100.7/debian/patches/04_configure_in_jack_version.patch @@ -0,0 +1,11 @@ +--- jack-audio-connection-kit-0.50.0.orig/configure.ac ++++ jack-audio-connection-kit-0.50.0/configure.ac +@@ -141,7 +141,7 @@ + + # plugins go in the addon dir. + +-AS_AC_EXPAND(ADDON_DIR,${libdir}/jack) ++AS_AC_EXPAND(ADDON_DIR,${libdir}/libjack0.100.0-0) + AC_SUBST(ADDON_DIR) + AC_DEFINE_UNQUOTED(ADDON_DIR,"$ADDON_DIR",[Directory for plugins]) + --- jack-audio-connection-kit-0.100.7.orig/debian/patches/02_release-in-libjack-name.patch +++ jack-audio-connection-kit-0.100.7/debian/patches/02_release-in-libjack-name.patch @@ -0,0 +1,10 @@ +diff -Naur jack-audio-connection-kit-0.98.1.orig/libjack/Makefile.am jack-audio-connection-kit-0.98.1/libjack/Makefile.am +--- jack-audio-connection-kit-0.98.1.orig/libjack/Makefile.am 2004-04-14 04:06:42.000000000 +0200 ++++ jack-audio-connection-kit-0.98.1/libjack/Makefile.am 2004-05-06 23:04:22.795597192 +0200 +@@ -21,5 +21,5 @@ + + libjack_la_SOURCES = $(SOURCE_FILES) + libjack_la_LIBADD = @OS_LDFLAGS@ +-libjack_la_LDFLAGS = -export-dynamic -version-info @JACK_SO_VERSION@ ++libjack_la_LDFLAGS = -export-dynamic -release 0.100.0 -version-info @JACK_SO_VERSION@ + --- jack-audio-connection-kit-0.100.7.orig/debian/patches/08_synopsis-spelling.patch +++ jack-audio-connection-kit-0.100.7/debian/patches/08_synopsis-spelling.patch @@ -0,0 +1,24 @@ +diff -pruN jack-audio-connection-kit-0.100.0.orig/jackd/jackd.1 jack-audio-connection-kit-0.100.0/jackd/jackd.1 +--- jack-audio-connection-kit-0.100.0.orig/jackd/jackd.1 2005-08-03 22:41:24.000000000 +0200 ++++ jack-audio-connection-kit-0.100.0/jackd/jackd.1 2005-08-03 22:42:03.000000000 +0200 +@@ -1,7 +1,7 @@ + .TH "JACKD" "1" "0.100.0" "November 2004" "" + .SH "NAME" + jackd, jackstart \- JACK Audio Connection Kit sound server +-.SH "SYNOPSYS" ++.SH "SYNOPSIS" + \fBjackd\fR [\fIoptions\fR] \fB\-d\fI backend \fR + [\fIbackend\-parameters\fR] + .br +diff -pruN jack-audio-connection-kit-0.100.0.orig/jackd/jackd.1.in jack-audio-connection-kit-0.100.0/jackd/jackd.1.in +--- jack-audio-connection-kit-0.100.0.orig/jackd/jackd.1.in 2005-08-03 22:41:24.000000000 +0200 ++++ jack-audio-connection-kit-0.100.0/jackd/jackd.1.in 2005-08-03 22:41:54.000000000 +0200 +@@ -1,7 +1,7 @@ + .TH "JACKD" "1" "@VERSION@" "November 2004" "" + .SH "NAME" + jackd, jackstart \- JACK Audio Connection Kit sound server +-.SH "SYNOPSYS" ++.SH "SYNOPSIS" + \fBjackd\fR [\fIoptions\fR] \fB\-d\fI backend \fR + [\fIbackend\-parameters\fR] + .br --- jack-audio-connection-kit-0.100.7.orig/debian/FAQ +++ jack-audio-connection-kit-0.100.7/debian/FAQ @@ -0,0 +1,380 @@ + jack faq download documentation developers applications lists + + JACK faq + + • How did JACK come to be? + • How does JACK compare to...? + • How can I make my app use JACK? + • What do I need to do to link to JACK? + • How do install JACK? + • Why are my clients unable to connect to the JACK server? + • How can I get the best performance out of JACK? + □ How should I tune my hardware? + □ How should I configure my Operating System? + ☆ How do I configure Linux 2.6? + ☆ How do I configure Linux 2.4? + ☆ How do I configure Mac OS X? + ☆ What about other Operating Systems? + □ What other software tuning should I consider? + • JACK, jackd, libjack, jackit, wha? + + 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 ... + + • Other Linux-centered systems + + □ ALSA: both a HAL and a user-space library for audio under Linux. + ALSA is used to provide the default audio i/o driver for JACK. ALSA + is a very powerful audio API, but it does not provide a + callback-based API or offer any solutions for inter-application + communication, though it has been discussed and is theoretically + possible. + + □ aRts, a streaming media architecture: aRts was not designed from the + ground up with low-latency in mind. Not a fault, but a design + decision. A jack output element could be written for aRts, though, + as far as I can tell. + + □ GStreamer, another streaming media architecture: GStreamer is + designed for in-process construction of media pipelines, and is not + used to link applications. JACK elements for GStreamer are under + construction. + + □ LADSPA: LADSPA is an internal plugin API for DSP routines, not a way + of linking external applications together. + + □ LADMEA, another LAAGA proposal: JACK is actually implemented. Also, + see the thread on linux-audio-dev. + + • Cross-platform systems + + □ PortAudio: a "cross platform, open-source, audio I/O library" + offering both callback- and blocking I/O-based APIs. PortAudio + backends exist for various Windows, Mac, and Unix HALs. It is mainly + focused on hardware I/O rather than a general concept of ports and + connections, although a JACK backend to PortAudio is under + construction that would allow PortAudio apps to connect to JACK + ports. While the JACK API is portable, its current implementation is + limited to POSIX-compliant systems; applications needing greater + portability might consider PortAudio. In any case, the + callback-style API used by both projects makes it easy to port + between the two (no pun intended). + • MacOS- and/or Windows-centered systems + + □ CoreAudio, the Mac OS X audio API: Very similar to JACK in concept, + being centered on a synchronous-execution-via-callback API, but does + not include inter-application audio routing. CoreAudio also includes + a hardware-level abstraction layer, whereas JACK uses higher-level + drivers for that purpose. The first JACK driver was based on ALSA, + but others are available for the OSS and PortAudio interfaces. + + □ ASIO: a HAL for both Windows and MacOS that replaces the native + device driver model with something much cleaner. It supports + hardware-level latencies, but it does not connect applications to + each other. Also, it is subject to license restrictions, and does + not exist for Linux (though it would not be impossible to implement + it on top of ALSA). + + □ ReWire, an inter-app communications API for Windows and MacOS from + PropellerHeads and Steinberg, ReWire is similar in that it provides + inter-application audio routing, but does not allow for fully + independent processes, and has silly restrictions ("up to 64 + channels", etc). JACK also comes without without silly license + restrictions. + + □ VST, DirectX, MAS, RTAS: these are all Windows/MacOS audio plugin + APIs. None of them permit inter-application data sharing. Some + plugin hosts can make this possible by using some other system such + as ReWire. These APIs also require that the callback you write to + process/generate data be executed in the context of the plugin host; + JACK allows your callback to be executed within the context of your + own application (if you wish 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 process() function. + + 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.m4, included in the pkg-config package. Just add the line + + PKG_CHECK_MODULES(JACK, jack, HAVE_JACK=true, HAVE_JACK=false) + + to your configure.ac. In addition to HAVE_JACK, the variables JACK_LIBS and + JACK_CFLAGS will be created. To substitute on them you will have to AC_SUBST + both of them separately. + + How do I install JACK? + + Prerequisites + + • 2.4, 2.5 or 2.6 series kernel with tmpfs turned on (CONFIG_TMPFS) + • Shared memory file system mounted on /dev/shm. add the following to /etc + /fstab to get it mounted at boot: + + shmfs /dev/shm shm defaults 0 0 + + (Note: you may have to make the /dev/shm directory) + + 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: + + • How should I tune my hardware? + + Sound card + + Some sound cards are designed better than others. Many "consumer" sound + cards use separate internal pointers for capture and playback, which can + result in unreliable operation at low latencies. For example, my ens1370 + does not operate very well in full-duplex mode. You can work around this + by telling the ALSA driver to operate only in capture or playback mode. + + People have reported problems with ymfpci cards as well. + + General system configuration + + People from linux-audio-dev are quite familiar with what is necessary to + build a low-latency system. There is no need to rehash all of that here, + see the low-latency resource page for more information on getting your + system in tune. + + • How should I configure my Operating System? + + Real-time scheduling + + JACK requires real-time scheduling privileges for reliable, dropout-free + operation. The server requests these privileges when running with the -R + option. The standard Linux 2.4 kernel does not adequately support this, + but can be modified to work very well. Unmodified 2.6 kernels work much + better, but still require special configuration. The requirements for + Mac OS X and other Operating Systems differ. + + The simplest, and least-secure way to provide real-time privileges is + running jackd as root. This has the disadvantage of also requiring all + of JACK clients to run as root. Real-time scheduling is inherently + dangerous; a badly or maliciously coded application can hang the system. + Worse, running as root gives an intruder too many opportunities to + damage or co-opt the entire system by attacking the JACK server or its + clients. Systems connected to the Internet would be well-advised to + avoid this approach. There are safer ways to gain the needed privileges, + the exact method depends on which Operating System you run. + + How do I configure Linux 2.6? + + For Linux 2.6, the Realtime Linux Security Module provides a relatively + easy way for non-root users to gain real-time privileges. Some + audio-oriented distributions include this module as a separate binary + package or with the kernel image. Otherwise, you will need to download + the realtime-lsm source and build it yourself. + + This loadable kernel extension selectively grants real-time privileges + to user programs. If loaded with modprobe realtime gid=29, it will + permit real-time operation for all members of group 29 (the Debian + "audio" group). It provides several additional options, described in the + user documentation. + + There is an allcaps=1 option, which duplicates the effect of running + Linux 2.4 with the capabilities patch. To use that you must compile JACK + with --enable-capabilites as you would for the 2.4 kernel. You will need + this if you prefer to run jackstart -R rather than jackd -R. If you only + use Linux 2.6, you need not bother with it. + + Currently (as of 2.6.7) JACK has a serious problem creating SCHED_FIFO + threads for real-time processing. It is unclear whether this is a bug in + JACK, in the new Native PThreads Library (NPTL), or in the 2.6 kernel. + At the moment no one has a solution, but there is a workaround: define + LD_ASSUME_KERNEL=2.4.19 in the environment of the jackd process and of + every JACK client. The easiest way to do this is setting it in ~ + /.profile , or wherever you customarily define global environment + variables. Glibc developer Ulrich Drepper explains the operation of + LD_ASSUME_KERNEL in more detail. + + How do I configure Linux 2.4? + + The vanilla Linux 2.4 kernel does not adequately support real-time + scheduling. For reliable low-latency operation you need the low-latency + patches from Andrew Morton. With these patches, 2.4 performs quite well. + + In addition, non-root users need a way to gain real-time scheduling + privileges. The preferred solution on 2.4 is using a setuid root + application to run the jackd binary as a non-root user, transfering the + privileges needed for real-time scheduling. This requires that the + kernel allow one process to grant its privileges to another using the + CAP_SETPCAP capability. In the givertcap page, Tommi Ilmonen discusses + this technique in more depth. Although this capability is built into the + kernel, it is disabled by default because of a serious security + exposure: if an attacker somehow manages to subvert some system daemon + running with root privileges, it can then use CAP_SETPCAP to deny needed + privileges to other root processes. Enabling this capability would not + be appropriate for an Internet server system, but for an audio + workstation the risk is generally acceptable. + + Linux 2.4 kernels require a small kernel patch to enable + CAP_SETPCAP. Go to include/linux/capability.h in your kernel + sources, and change the line + + #define CAP_INIT_EFF_SET to_cap_t(~0&~CAP_TO_MASK(CAP_SETPCAP)) + + to + + #define CAP_INIT_EFF_SET to_cap_t( ~0 ) + + and the line + + #define CAP_INIT_INH_SET to_cap_t(0) + + to + + #define CAP_INIT_INH_SET to_cap_t( ~0 ) + + Then, recompile and install your 2.4 kernel. + + Once you have a kernel with capabilities enabled, build JACK with the + --enable-capabilities option of ./configure. This installs a jackstart + binary you can invoke as a normal user to start the jackd server with + real-time privileges. The server will also give these privileges to the + JACK thread in all its clients. + + To compile jack with capabilities enabled you will need libcap. Most + distributions include this package, which is also available in source + form. You also need the md5sum program and the openssl libraries to + calculate and and verify the integrity of the jackd binary. + + How do I configure Mac OS X? + + On Mac OS X, all users have real-time privileges. No special tuning is + required for real-time scheduling. But, OS X lacks POSIX support for + locking pages into real memory. JACK will run without locking memory, + but users should avoid running too many other applications when + performing critical real-time tasks. If there is too much memory + contention, the operating system might page out data needed for the + time-critical process cycle, causing dropouts. + + Mac OS X users should take a look at Jack Tools, a set of tools for + integrating JACK into the Apple CoreAudio environment. + + What about other Operating Systems? + + BSD does not provide any way to grant real-time privileges to non-root + users. So, jackd -R only works for the superuser. + + Some older BSD variants lack POSIX support for locking pages into real + memory. JACK will run without locking memory, but users should avoid + running too many other applications when performing critical real-time + tasks. If there is too much memory contention, the operating system + might page out data needed for the time-critical process cycle, causing + dropouts. + + What other software tuning should I consider? + + ALSA driver settings can affect performance to a large degree. Try + adjusting the number of periods (anything other than 2 or 3 will + probably not help you with JACK). For some cards, using just --playback + or just --capture may help. Avoid using a plug-layer PCM device (like + default). See the terse ALSA driver help (jackd -d alsa -h) or the jackd + man page for a list of options. + + It has been found that mounting /tmp/jack as tmpfs (in RAM) solves + problems that many people have experienced with xruns while using JACK. + The solutions below help when your /tmp directory is mounted on a + journalled filesystem. + + Just put this in your /etc/fstab + + none /tmp/jack tmpfs defaults 0 0 + + There is also a compile option to enable JACK to place its FIFOs on a + ram-based filesystem follows: + + ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + + # mkdir /mnt/ramfs + + [edit /etc/fstab and add the following line] + + none /mnt/ramfs tmpfs defaults 0 0 + + Then use --with-default-tmpdir=/mnt/ramfs to the JACK configure line + when you build it. No clients need to be recompiled. + + ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + + JACK, jackd, libjack, jackit, wha? + + There is a profusion of names surrounding the JACK project, and hopefully + this will help clear things up. + + JACK + + JACK 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, libjack + + As 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 jack-audio-connection-kit. + +SourceForge.net Project Page +Document History --- jack-audio-connection-kit-0.100.7.orig/debian/README.developers +++ jack-audio-connection-kit-0.100.7/debian/README.developers @@ -0,0 +1,131 @@ +======================================================================= +*** README.developers - JACK development practices *** +======================================================================= + +Version: $Id: README.developers,v 1.5 2003/01/28 22:41:15 kaiv Exp $ + +----------------------------------------------------------------------- + What is this? +----------------------------------------------------------------------- + +This file is a collection of practices and rules for JACK +development. If you have questions, or would like to make +changes, raise the issue on jackit-devel (see +http://jackit.sourceforge.net/lists ). + +--------------------------------------------------------------------- + Contents +----------------------------------------------------------------------- + +- What is this? +- Version numbers +- Important files for developers +- Sending patches +- CVS Access +- Decision Process + +----------------------------------------------------------------------- + Important files for developers +----------------------------------------------------------------------- + +AUTHORS + List of contributors. If you have contributed code, mail Paul + Davis to get your name added to the list, or if you have + CVS-access, help yourself. :) +README.developers + This file. +TODO + A one file mini-bugzilla for JACK developers. Contains a list + of open and closed items. You can update this directly or + contact Kai Vehmanen if you don't have CVS access. +libjack/ChangeLog + A list of _all_ changes to the public interface! + +----------------------------------------------------------------------- + Version numbers +----------------------------------------------------------------------- + +1. JACK's package version + +JACK's package version is set in configure.in, and consists of +major, minor and revision numbers. This version should be +updated whenever a non-trivial set of changes is committed +to CVS: + + major version = ask on jackit-devel :) + minor version = incremented when any of the public or internal + interfaces are changed + revision = incremented when implementation-only + changes are made + +2. Client API versioning + +JACK clients are affected by two interfaces, the JACK Client API (libjack) +and the JACK Client Protocol API (interface between jackd and +libjack). The former one is versioned using libtool interface +versioniong (set in configure.in). This version should be updated +whenever a set of changes affecting the interface is committed +to CVS: + + current = incremented whenever the public libjack API is changed + revision = incremented when the libjack implementation is changed + age = current libjack is both source and binary compatible with + libjack interfaces current,current-1,...,current-age + +Note! It was decided in January 2003 that current interface number + will remain as zero until the first stable JACK version + is released. + +JACK Client Protocol is versioned... . + +Note! All changes that affect the libjack API must be documented +in jack/libjack/ChangeLog using the standard ChangeLog style +(see GNU developer docs). + +--------------------------------------------------------------------- + Sending patches +----------------------------------------------------------------------- + +1. People without CVS-access + +Send your patches to jackit-devel. Normally patches are accepted +by Paul Davis. He either applies the patch right away, or +sends an "ok to me" message, after which other developers with +CVS-access can commit the patch. + +2. People with CVS-access + +Trivial changes can be committed without review. For non-trivial +changes, you should first send a proposal to jackit-devel and +wait for comments. There are no strict approval rules so use of +common sense is recommended. ;) + +3. Tips for making patches + +- test your patch on a clean CVS-checkout +- remember to run cvs update before making commits + +----------------------------------------------------------------------- + CVS Access +----------------------------------------------------------------------- + +Contact Paul Davis. + +--------------------------------------------------------------------- + Uses of external libraries and other packages +----------------------------------------------------------------------- + +The main JACK components, jackd and libjack, should only use +standard POSIX and ANSI-C services. Other components like +example clients and drivers, may rely on other packages, but +these dependencies should not affect the main build process. + +--------------------------------------------------------------------- + Decision Process +----------------------------------------------------------------------- + +All non-trivial changes should be discussed on the jackit-devel +mailing list. It has been agreed that Paul Davis will make +the final decisions based on these discussions. + +======================================================================= --- jack-audio-connection-kit-0.100.7.orig/debian/TODO.Debian +++ jack-audio-connection-kit-0.100.7/debian/TODO.Debian @@ -0,0 +1 @@ +* maybe start jackd it as an init.d service --- jack-audio-connection-kit-0.100.7.orig/debian/asound.rc +++ jack-audio-connection-kit-0.100.7/debian/asound.rc @@ -0,0 +1,22 @@ +# This is an example asoundrc file for a system where there's only one +# soundcard. Note that the name "sblive" is arbitrary, you can call +# your card whatever you like. +# +# Using this setup you can start jackd with "jackd -d alsa -d sblive" +# +# For more complex settings you should refer to the ALSA documentation: +# +# See http://www.alsa-project.org +# http://alsa.opensrc.org +# +# Copy this file to ~/.asoundrc + +pcm.sblive { + type hw + card 0 +} + +ctl.sblive { + type hw + card 0 +} --- jack-audio-connection-kit-0.100.7.orig/debian/changelog +++ jack-audio-connection-kit-0.100.7/debian/changelog @@ -0,0 +1,459 @@ +jack-audio-connection-kit (0.100.7-1) unstable; urgency=low + + * new upstream release + + -- Robert Jordens Thu, 9 Mar 2006 14:52:35 +0100 + +jack-audio-connection-kit (0.100.0-5) unstable; urgency=low + + * debian/bash-completion.d/jackd: updated; see Bug#329806 + * dont depend on libglib1.2-dev; closes: Bug#326212 + * debian/watch: update + + -- Robert Jordens Sat, 4 Mar 2006 13:13:20 +0100 + +jack-audio-connection-kit (0.100.0-4) unstable; urgency=low + + * debian/bash_completion.d/jackd, debian/jackd.install: closes: #319764 + (jackd: bash completion for jack_connect) + + -- Robert Jordens Wed, 3 Aug 2005 23:23:16 +0200 + +jack-audio-connection-kit (0.100.0-3) unstable; urgency=low + + * debian/rules: build with tmpdir=/dev/shm again; + closes: Bug#321149 (jackd not using /dev/shm as tmpdir) + * debian/patches/07_path-max.patch: closes: Bug#320736 (Patch to handle + PATH_MAX-less systems) + * debian/patches/08_synopsis-spelling.patch: closes: #311465 ('man + jack_bufsize' typo: "SYNOPSYS") + * debian/copyright: mention authors as copyright holders and license as + license and not as copyright; closes: #290186 (Improper copyright file) + + -- Robert Jordens Wed, 3 Aug 2005 22:58:01 +0200 + +jack-audio-connection-kit (0.100.0-2) unstable; urgency=low + + * upload 0.100.0-1 unchanged to unstable + + -- Robert Jordens Mon, 27 Jun 2005 15:34:00 +0200 + +jack-audio-connection-kit (0.100.0-1) experimental; urgency=low + + * new upstream release + * new SONAME again. noone was using that 0.99.61 from experimental and it + confuses people. + + -- Robert Jordens Mon, 13 Jun 2005 20:16:50 +0200 + +jack-audio-connection-kit (0.99.61-1) experimental; urgency=low + + * intermediate snapshot release + + new jack_client_open() interface requiring a new SONAME: 0.99.61 + (although the first incompatible change happened at least in + 0.99.14) + + debian/patches/04_configure_in_jack_version.patch: updated + * debian/FAQ: updated from webpage + + -- Robert Jordens Sat, 7 May 2005 18:30:20 +0200 + +jack-audio-connection-kit (0.99.0-6) unstable; urgency=high + + * do not use the "[system: linux]" stuff for "Depends"; patch from Daniel + Schepler ; closes: Bug#295804 + * urgency high due to things in 0.99.0-5 + * debian/control: build against libreadline5-dev + + -- Robert Jordens Sun, 20 Feb 2005 22:01:41 +0100 + +jack-audio-connection-kit (0.99.0-5) unstable; urgency=high + + * debian/patches/01a_force-copy-autogen.sh.patch: + dont make symlinks for config.{guess,sub}; let cdbs play with it; + closes: Bug#295284 + * urgency high because the bug is present in testing and will surface as + soon as the next cdbs gets there + * debian/control.in, rules: use cdbs' new crazy mechanism of mangling + control; closes: Bug#272307 + + -- Robert Jordens Mon, 14 Feb 2005 23:32:10 +0100 + +jack-audio-connection-kit (0.99.0-4) unstable; urgency=low + + * debian/control.in: added a Recommends: jackd (= ${Source-Version}) + to libjack to express the need to install jackd in order to get a + working libjack. + + -- Robert Jordens Tue, 1 Feb 2005 13:22:54 +0100 + +jack-audio-connection-kit (0.99.0-3) unstable; urgency=low + + * moved Junichi to Uploaders and me to Maintainer in debian/control. Thanks, + Junichi, for your great work reagrding this package! + * debian/control.in, debian/rules: added kfreebsd-gnu handling; + thanks to Robert Millan ; closes: Bug#272307 + * debian/control.in: convert "Depends: jackd" into a two-sided conflicts; + closes: Bug#248665 + + -- Robert Jordens Sun, 30 Jan 2005 21:22:21 +0100 + +jack-audio-connection-kit (0.99.0-2) unstable; urgency=medium + + * upload unchanged to unstable; + * urgency medium because of important fixes for i586 users (Bug#266975) + and NPTL workaround (Bug#266507) + + -- Robert Jordens Tue, 2 Nov 2004 20:16:51 +0100 + +jack-audio-connection-kit (0.99.0-1) experimental; urgency=low + + * new upstream release + + works around pthread-create bug in glibc (Bug#266507) + + debian/patches/03_remove-cpp-atomicity.patch, + debian/patches/07_dont_add_readline_to_LIBS.patch: removed since applied + upstream + + --disable-iec61883 since it doesn't compile + * uplod to experimental to not hinder the other version entering + testing + * debian/rules: don't optimize for i686 on i386; closes: Bug#266975 + + -- Robert Jordens Wed, 22 Sep 2004 23:01:39 +0200 + +jack-audio-connection-kit (0.98.1-5) unstable; urgency=medium + + * debian/patches/03_remove-cpp-atomicity.patch: use a regular patch for + removing the atomicity files for sparc and hppa + * debian/patches/07_dont_add_readline_to_LIBS.patch: added; add a noop to + prevent linking libjack0.80.0-0 against libreadline4; + closes: Bug#260954, Bug#260961; urgency medium because this breaks other + packages' builds + * correct spelling error in debian/jackd.README.Debian: powerful + * debian/watch: added + + -- Robert Jordens Sat, 31 Jul 2004 17:21:44 +0200 + +jack-audio-connection-kit (0.98.1-4) unstable; urgency=low + + * debian/rules: remove atomicity.h for hppa and sparc to + work around the FTBS; closes: Bug#256221 for now + + -- Robert Jordens Wed, 30 Jun 2004 02:20:09 +0200 + +jack-audio-connection-kit (0.98.1-3) unstable; urgency=low + + * upload experimental version unchanged to unstable + + -- Robert Jordens Tue, 15 Jun 2004 01:18:46 +0200 + +jack-audio-connection-kit (0.98.1-2) experimental; urgency=low + + * debian/shlibs.local: use ${Source-Version}, thanks to Elimar Riesebieter + + + -- Robert Jordens Sun, 16 May 2004 15:49:20 +0200 + +jack-audio-connection-kit (0.98.1-1) experimental; urgency=low + + * new upstream release + + fulfills whishes for init.d scripts or other ways of automatically + starting jackd if applications need it (analogy to esd); + set JACK_START_SERVER in your environment to enable it; closes: Bug#169776 + + non-existent function has been removed from the header; closes: Bug#245742 + * debian/FAQ: updated from webpage + * debian/README.developers: updated from webpage + * debian/user-howto: updated from webpage + + -- Robert Jordens Fri, 7 May 2004 15:24:54 +0200 + +jack-audio-connection-kit (0.96.2-1) experimental; urgency=low + + * new upstream snapshot from CVS branch EXP to test new autoconf structure. + + also contains new features, does not break binary compatibility + + probably won't compile on arm because the generic atomicity.h + implementation is broken. + * debian/patches/20-check-rc-from-initialize-shm.diff: integrated upstream + + -- Robert Jordens Wed, 31 Mar 2004 23:44:30 +0200 + +jack-audio-connection-kit (0.94.0-4) unstable; urgency=low + + * the "you are never entirely done" release + * forgot to update debian/shlibs.local + + -- Robert Jordens Mon, 1 Mar 2004 01:32:14 +0100 + +jack-audio-connection-kit (0.94.0-3) unstable; urgency=low + + * libjack0.80.0-dev should indeed be Section: libdevel. I don't know, where + the actual change disapeared. + + -- Robert Jordens Sun, 29 Feb 2004 01:16:34 +0100 + +jack-audio-connection-kit (0.94.0-2) unstable; urgency=low + + * debian/control: libjack0.80.0-dev is Section: libdevel + * debian/jackd.README.Debian, debian/rules: + + add a lot of documentation and support for setuid jackstart; addresses + our part of Bug#229709, which can then be reassigned to wnpp + + manpages, FAQ, a user-howto and a extensive README.Debian are there; + closes: Bug#148933 + + add documentation and support for /dev/shm as tmpdir; needs + libc6 >= 2.3.2.ds1-11 because they create and mount the tmpfs; + closes: Bug#229374 + + added hints to the lowlatency and preempt patches in Debian and to + the givertcap patch in AGNULA. + + add information and pointers to the realtime LSM + * debian/control: + + jackd "Suggests: qjackctl, jack-tools, meterbridge, libjackasyn0" + which create a sufficient and extended toolkit and environment for jackd + + libjack0.80.0-0: Depends: jackd (= ${Source-Version}), for discussion + see l.d.o/debian-multimedia + * debian/patches/20-check-rc-from-initialize-shm.diff: added; addresses the + remaining notes and finally closes: Bug#234072 + + -- Robert Jordens Sat, 28 Feb 2004 20:00:05 +0100 + +jack-audio-connection-kit (0.94.0-1) unstable; urgency=low + + * new upstream release + + fixes command-line parsing + * rewrote urls as as recommended in RFC 2396, Appendix E + * JACK 0.75.0 entered testing; uploading to unstable + + -- Robert Jordens Tue, 13 Jan 2004 19:57:04 +0100 + +jack-audio-connection-kit (0.91.1-1) experimental; urgency=low + + * New upstream release + + does not break binary compatibility + + enable experimental firewire drivers + - debian/control: Build-Depends: libraw1394-dev + - debian/patches/06_iec61883_headers.patch add files missing + from tarball + + obsoletes debian/patches/03_cpuinfo_other_archs.patch + * debian/FAQ: updated from webpage + * debian/libjack0.80.0-dev.install: don't install *.la files for + jack plugins + * debian/shlibs.local: added: remove duplicate depends on libjack + for jackd + * debian/jack_freewheel.1, debian/jack_bufsize.1: wrote manpages + + -- Robert Jordens Tue, 30 Dec 2003 19:51:04 +0100 + +jack-audio-connection-kit (0.80.0-1) experimental; urgency=low + + * new upstream release; binary compatibility mostly remains, source + compatibility breaks, chose the new soname; upload to experimental + * debian/patches/03_cycles-h-other-archs.patch: partially integrated + upstream + * debian/patches/03_cpuinfo_other_archs.patch: parses cpuinfo on other + architectures by Junichi Uekawa; closes: #207435 + * debian/control: changed rjo@gmx.de to jordens@debian.org + + -- Robert Jordens Tue, 2 Sep 2003 22:18:01 +0200 + +jack-audio-connection-kit (0.75.0-2) unstable; urgency=low + + * Add replaces libjack0.71.2-0 (<< 0.75.0-1), + due to moved 'development binaries for plugins'. + (closes: #207731) + * Standards-Version: 3.6.1 + + -- Junichi Uekawa Fri, 29 Aug 2003 18:01:26 +0900 + +jack-audio-connection-kit (0.75.0-1) unstable; urgency=low + + * new upstream release + * debian/rules: switched to cdbs + + tarball.mk: great way to ensure the autotools horror doesn't + pollute the diff + + simple-patchsys.mk: works great with the dpatches renamed. + + debian/rules: builds optimized for i386: closes: #202589 + have a nonoptimized version with DEB_BUILD_OPTIONS=noopt as per policy + * debian/control: + + use dh-buildinfo + + new comaintainers Guenter Geiger and + Robert Jordens + + Standards-Version: 3.6.0: no changes + + won't change the package name (and release of libjack) again because + binary compatibility didn't break. JACK_API_CURRENT will be set to 1 + as soon as the new era of binary compatibility starts upstream. + Then libjack0.71.2 will be named libjack1. + closes: #205552 + + Build-Depends: libreadline4-dev to build jack_transport + * debian/lib*.install: moved the jack plugins' development versions + to libjack0.71.2-dev + * debian/libjack0.71.2-dev.docs: added README.developers to libjack0.71.2-dev + and ship it as a file, not as a patch + * debian/FAQ: updated from webpage + * 03_cycles-h-other-archs.patch: updated with code from the kernel headers + that works well for ardour, thus reducing the number of archs where the + workaround is used to: arm, sparc, m68k + * debian/jack_load.1, debian/jack_unload.1, debian/jack_transport.1, + debian/jack_monitor_client.1, debian/jack_simple_client.1: wrote the + missing manpages. + * debian/user-howto: added to jackd documentation and updated from webpage + + -- Robert Jordens Fri, 22 Aug 2003 11:00:45 +0200 + +jack-audio-connection-kit (0.71.2-1) unstable; urgency=low + + * New upstream release + * Update patches: + 04_configure_in_jack_version: update for 0.71.2 + 02_version-soname: update. + * debian/*: manually edit for 0.71.2 + debian/jackd.manpages: use upstream manpages for jackd and jackstart + * add rules to build jack_md5.h before jackstart + * FAQ update rules fixed to add changelog entry + * build in a subdir + * debian/FAQ: updated from webpage + * debian/rules: use patch-stamp instead of patch + * [05_jack_md5h.dpatch] fix jack_md5.h dependency + * run autoconf2.5/automake1.7 over source + + -- Junichi Uekawa Wed, 21 May 2003 00:12:08 +0900 + +jack-audio-connection-kit (0.50.0-2) UNRELEASED; urgency=low + + * Use dpatch to manage patches. + 01_readme-developers + 02_version-soname + 03_cycles-h + 04_configure_in_jack_version + - autoconf/automake needs to be re-ran after applying those patches, + added a rule to do that to debian/rules (auto-run) + * debian/rules: fix to properly handle autoconf 2.57-generated + configure, instead of 2.13 + + -- Junichi Uekawa Mon, 7 Apr 2003 20:55:59 +0900 + +jack-audio-connection-kit (0.50.0-1) unstable; urgency=low + + * New upstream release, new maintainer. + * Use DESTDIR instead of prefix= in install target. + * Misc updating, forward-porting of patches, etc. + * I am keeping the soname convention as it is, since upstream + is still not decided on a stable interface. + * re-run aclocal/autoconf/automake. + * use w3m instead of lynx to get the FAQ + + -- Junichi Uekawa Sun, 2 Mar 2003 17:49:15 +0900 + +jack-audio-connection-kit (0.44.0-1) unstable; urgency=low + + * New upstream release (CVS) + * Re-add some missing binaries and manpages that got lost somehow. + + -- Stefan Schwandter Tue, 7 Jan 2003 18:25:28 +0100 + +jack-audio-connection-kit (0.40.1-1) unstable; urgency=low + + * New upstream release (CVS) + * Keep library versioning based on package version although upstream + doesn't anymore, as long as different "releases" (CVS snapshots + actually) aren't guaranteed to be binary compatible. + * JACK now doesn't depend on glib anymore (closes: #154773). + + -- Stefan Schwandter Sat, 30 Nov 2002 14:42:59 +0100 + +jack-audio-connection-kit (0.38.0-1) unstable; urgency=low + + * New upstream release (CVS). + + -- Stefan Schwandter Fri, 20 Sep 2002 19:20:20 +0200 + +jack-audio-connection-kit (0.37.2-1) unstable; urgency=low + + * New upstream release (CVS). + + As there doesn't seem to be a release in sight, and cvs has been on + it's current status for a while i decided to switch to the cvs + version. Unfortunately this means recompiling for packages depending + on libjack again... + + * Ship a changelog generated by cvs2cl from the upstream sources. + Upstream doesn't unfortunately. + + -- Stefan Schwandter Mon, 16 Sep 2002 09:14:51 +0200 + +jack-audio-connection-kit (0.34.0-6) unstable; urgency=low + + * Added patch for jackrec to build with libsndfile1. + * debian/control: build-dep on libsndfile1-dev + + -- Stefan Schwandter Thu, 5 Sep 2002 15:04:24 +0200 + +jack-audio-connection-kit (0.34.0-5) unstable; urgency=low + + * Change address in debian/control as well... + + -- Stefan Schwandter Wed, 4 Sep 2002 09:58:54 +0200 + +jack-audio-connection-kit (0.34.0-4) unstable; urgency=low + + * New maintainer email address + * Applied patch by Junichi Uekawa to remove the unconditional error from + cycles.h to hopefully enable build on more architectures + (closes: #148699). + + -- Stefan Schwandter Wed, 4 Sep 2002 09:29:14 +0200 + +jack-audio-connection-kit (0.34.0-3) unstable; urgency=low + + * Small manpage updates + * Added ALSA-related URLs to debian/asound.rc + * Renamed libjack0 to libjack0.34.0-0 and relaxed shlibs dependency + (closes: #149687) + * Removed jack_alsa from shlibs file + * Fixed FAQ line-length + * Removed autogen.sh from the diff.gz + * debian/rules + - Avoid stripping of the jackd binary if DEB_BUILD_OPTIONS=nostrip is set + - Made configure a phony target again + - Added faq target to fetch the FAQ from the website + * libjack0.34.0-dev: added dependency on pkg-config (closes: #150089) + * Removed some of the less useful example clients, upstream will do the + same in the next release, build-dep on libfltk could be dropped + + -- Stefan Schwandter Mon, 1 Jul 2002 20:06:27 +0200 + +jack-audio-connection-kit (0.34.0-2) unstable; urgency=low + + * Added more documentation (first step to address #148933) + - added manpages + - added w3m -dump'ed version of the FAQ from the website + - added example .asoundrc + - remove rather pointless upstream README + * Applied patch by Junichi Uekawa to enable build on ppc + * Removed maintainer-only rules from debian/rules + + -- Stefan Schwandter Wed, 5 Jun 2002 10:04:01 +0200 + +jack-audio-connection-kit (0.34.0-1) unstable; urgency=low + + * Repackaged from scratch. Thanks to Junichi Uekawa for his previous + work on jack packaging and for useful hints how to get my package into a + releasable state! (closes: #141450) + * New upstream release + + -- Stefan Schwandter Fri, 24 May 2002 11:00:24 +0200 + +jack (0.8.0.cvs) unstable; urgency=low + + * cvs update + + -- Junichi Uekawa Tue, 5 Feb 2002 22:12:15 +0900 + +jack (0.6.0.cvs) unstable; urgency=low + + * CVS Checkout source, packaging it. + + -- Junichi Uekawa Sun, 23 Dec 2001 17:19:50 +0900 + +jack (0.4.7-1) unstable; urgency=low + + * Initial attempt to create a Debian package out of the Sourceforge + file release. + + -- Junichi Uekawa Sun, 23 Dec 2001 17:13:22 +0900 --- jack-audio-connection-kit-0.100.7.orig/debian/compat +++ jack-audio-connection-kit-0.100.7/debian/compat @@ -0,0 +1 @@ +4 --- jack-audio-connection-kit-0.100.7.orig/debian/rules +++ jack-audio-connection-kit-0.100.7/debian/rules @@ -0,0 +1,129 @@ +#!/usr/bin/make -f +# rules +# +# Robert Jordens +# +# This software may be used and distributed according to the terms +# of the GNU General Public License, incorporated herein by reference. +# +# $Id: rules 342 2004-03-25 14:00:53Z rj $ +# + +# DEB_AUTO_UPDATE_DEBIAN_CONTROL := yes +include /usr/share/cdbs/1/class/makefile.mk +DEB_UPSTREAM_VERSION := $(shell echo $(DEB_VERSION) | sed 's/-[^-]*//') +# strip of a optionally added cvs patch (format: upstream+cvs-debian) +DEB_UPSTREAM_TARBALL_VERSION := $(shell echo $(DEB_UPSTREAM_VERSION) | sed 's/+[^+]*//') +DEB_TAR_SRCDIR := $(DEB_SOURCE_PACKAGE)-$(DEB_UPSTREAM_TARBALL_VERSION) +# tarball has to be first because of #205396 +include /usr/share/cdbs/1/rules/tarball.mk +include /usr/share/cdbs/1/class/autotools.mk +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/rules/simple-patchsys.mk + +#unused, TODO get this soname from configure.in +#DEB_SONAME_VERSION := 0.91.1-0 +DEB_CONFIGURE_EXTRA_FLAGS := --enable-resize \ + --enable-timestamps --disable-iec61883 --with-oldtrans \ + --disable-ensure-mlock + # --enable-posix-shm +# to avoid stripping when nostrip is set in DEB_BUILD_OPTIONS +ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) + DEB_CONFIGURE_EXTRA_FLAGS += --enable-stripped-jackd +endif + +ifeq ($(DEB_HOST_GNU_SYSTEM),linux-gnu) + DEB_CONFIGURE_EXTRA_FLAGS += --enable-capabilities --with-default-tmpdir=/dev/shm +endif + +ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) +# do optimization for the different architectures +# ifneq (,$(findstring i386,$(DEB_HOST_GNU_CPU))) +# DEB_CONFIGURE_EXTRA_FLAGS += --enable-optimize +# OPTI_FLAGS := -D_REENTRANT -O3 -fomit-frame-pointer -ffast-math -fstrength-reduce -funroll-loops -fmove-all-movables +# CXXFLAGS += $(OPTI_FLAGS) +# CFLAGS += $(OPTI_FLAGS) +# endif +endif + +DEB_DH_MAKESHLIBS_ARGS := -V -Xintime -Xinprocess -Xjack_alsa -Xjack_oss\ + -Xjack_dummy -Xjack_iec61883 +# unused, don't use. generates duplicate depends +# DEB_SHLIBDEPS_INCLUDE := debian/libjack$(DEB_SONAME_VERSION)/usr/lib + +# ensure jackstart can be root.audio 4754 +DEB_FIXPERMS_EXCLUDE := jackstart + +post-patches:: debian/stamp-autotools-maintregen-arch +debian/stamp-autotools-maintregen-arch: + cd $(DEB_BUILDDIR) && chmod +x autogen.sh && ./autogen.sh --no-conf + touch debian/stamp-autotools-maintregen-arch + +# after the directories are created but before dh_compress is run. +common-binary-post-install-arch:: + dh_buildinfo + +binary-predeb/jackd:: +ifeq ($(DEB_HOST_GNU_SYSTEM),linux) + chown root.audio debian/jackd/usr/bin/jackstart + chmod u=rwxs,g=rx,o=r debian/jackd/usr/bin/jackstart +endif + +ifeq ($(DEB_HOST_GNU_SYSTEM),linux) +DEB_DH_GENCONTROL_ARGS := -u'-Vasound:Depends=libasound2-dev' +else +DEB_DH_GENCONTROL_ARGS := -u'-Vasound:Depends=' +endif + +clean:: + -rm -f debian/stamp-autotools-maintregen-arch + +.PHONY: faq +# this target fetches the FAQ from the JACK homepage +faq: + dh_testdir + w3m -dump http://jackit.sourceforge.net/docs/faq.php > debian/FAQ.dltmp + mv debian/FAQ.dltmp debian/FAQ + dch -a "debian/FAQ: updated from webpage" + +.PHONY: user-howto +# this target fetches the user howto from the web +user-howto: + dh_testdir + w3m -dump http://www.djcj.org/LAU/jack/ > debian/user-howto.dltmp + mv debian/user-howto.dltmp debian/user-howto + dch -a "debian/user-howto: updated from webpage" + +.PHONY: devel-readme +# this target fetches README.developers from the web +devel-readme: + dh_testdir + w3m -dump \ + 'http://cvs.sourceforge.net/viewcvs.py/*checkout*/jackit/jack/README.developers?content-type=text%2Fplain&rev=HEAD' \ + > debian/README.developers.dltmp + mv debian/README.developers.dltmp debian/README.developers + dch -a "debian/README.developers: updated from webpage" + +.PHONY: update-create-orig-tarball +update-create-orig-tarball: + mkdir -p tmp-orig-tree/$(DEB_SOURCE_PACKAGE)-$(DEB_UPSTREAM_VERSION).orig + cp *.tar.* tmp-orig-tree/$(DEB_SOURCE_PACKAGE)-$(DEB_UPSTREAM_VERSION).orig + tar -C tmp-orig-tree -czvf \ + ../$(DEB_SOURCE_PACKAGE)_$(DEB_UPSTREAM_VERSION).orig.tar.gz \ + $(DEB_SOURCE_PACKAGE)-$(DEB_UPSTREAM_VERSION).orig + +.PHONY: update-clean +update-clean: + rm -rf tmp-orig-tree + +clean:: update-clean + +.PHONY: update-cvs-snapshot +update-cvs-snapshot: + # TODO: sanitize/cvsize DEB_UPSTREAM_TARBALL_VERSION; change version + # number + cvs -d :pserver:anonymous@cvs.sourceforge.net:/cvsroot/jackit \ + rdiff -u -r RELEASE_$(DEB_UPSTREAM_TARBALL_VERSION) \ + -D today jack \ + > debian/patches/01_$(DEB_UPSTREAM_TARBALL_VERSION)-cvs`date +%y%m%d`.patch + --- jack-audio-connection-kit-0.100.7.orig/debian/copyright +++ jack-audio-connection-kit-0.100.7/debian/copyright @@ -0,0 +1,32 @@ +This package was debianized by Stefan Schwandter + +It was downloaded from jackit.sourceforge.net/download + +Upstream Authors and Copyright: + +JACK was inspired by and partially designed during discussions on the +Linux Audio Developers mailing list. Particularly significant +contributions to those discussions came from (in alphabetical order): + + Paul Davis + David Olofson + Benno Sennoner + Kai Vehmanen + +Many other members of LAD contributed ideas to JACK, particularly +Richard Guenther. + +Paul Davis was the principal author of the JACK API and of the sample +implementation contained here. Andy Wingo provided many small patches +Fernando Pablo Lopez-Lezcano contributed the capabilities-based code. +Jeremy Hall, Steve Harris, and Martin Boer contributed sample clients +and utilities. + +Many others have contributed patches and/or test results. + + + +License: + +GPL version 2 or later, see /usr/share/common-licenses/GPL-2 +LGPL version 2.1 or later (libjack), see /usr/share/common-licenses/LGPL-2.1 --- jack-audio-connection-kit-0.100.7.orig/debian/jack_bufsize.1 +++ jack-audio-connection-kit-0.100.7/debian/jack_bufsize.1 @@ -0,0 +1,15 @@ +.TH JACK_BUFSIZE "1" "December 2003" "0.91.1" +.SH NAME +jack_bufsize \- The JACK Audio Connection Kit example client +.SH SYNOPSYS +.B jack_bufsize bufsize +.SH DESCRIPTION +.B jack_bufsize +jack_bufsize sets the size of the buffer (frames per period) used in JACK. +This change happens on-line (jackd and its clients do not need to be +restarted). +.SH AUTHOR +Paul Davis +.PP +This manpage was written by Robert Jordens for Debian. + --- jack-audio-connection-kit-0.100.7.orig/debian/jack_connect.1 +++ jack-audio-connection-kit-0.100.7/debian/jack_connect.1 @@ -0,0 +1,17 @@ +.TH JACK_CONNECT "1" "June 2002" "0.91.1" +.SH NAME +jack_connect \- The JACK Audio Connection Kit example client +.SH SYNOPSYS +.B jack_connect +src_port dst_port +.PP +The source port must be an output port of the source client. +The destination port must be an input port of the destination client. +.SH DESCRIPTION +.B jack_connect +is an example client for the JACK Audio Connection Kit. +.SH AUTHOR +Jeremy Hall +.PP +This manpage was written by Stefan Schwandter + --- jack-audio-connection-kit-0.100.7.orig/debian/jack_disconnect.1 +++ jack-audio-connection-kit-0.100.7/debian/jack_disconnect.1 @@ -0,0 +1,17 @@ +.TH JACK_DISCONNECT "1" "June 2002" "0.91.1" +.SH NAME +jack_disconnect \- The JACK Audio Connection Kit example client +.SH SYNOPSYS +.B jack_disconnect +src_port dst_port +.PP +The source port must be an output port of the source client. +The destination port must be an input port of the destination client. +.SH DESCRIPTION +.B jack_disconnect +is an example client for the JACK Audio Connection Kit. +.SH AUTHORS +Paul Davis and others. +.PP +This manpage was written by Stefan Schwandter + --- jack-audio-connection-kit-0.100.7.orig/debian/jack_freewheel.1 +++ jack-audio-connection-kit-0.100.7/debian/jack_freewheel.1 @@ -0,0 +1,16 @@ +.TH JACK_FREEWHEEL "1" "December 2003" "0.91.1" +.SH NAME +jack_freewheel \- The JACK Audio Connection Kit example client +.SH SYNOPSYS +.B jack_freewheel [y|n] +.SH DESCRIPTION +.B jack_freewheel +Turns freewheeling mode on (y) or off (n). While in freewheeling mode, jackd +does not wait in between process() calls. That results in the JACK graph +processing data as fast as possible. Freewheeling makes fast exports to +files possible. +.SH AUTHOR +Paul Davis +.PP +This manpage was written by Robert Jordens for Debian. + --- jack-audio-connection-kit-0.100.7.orig/debian/jack_impulse_grabber.1 +++ jack-audio-connection-kit-0.100.7/debian/jack_impulse_grabber.1 @@ -0,0 +1,14 @@ +.TH JACK_IMPULSE_GRABBER "1" "June 2002" "0.91.1" +.SH NAME +jack_impulse_grabber \- The JACK Audio Connection Kit example client +.SH SYNOPSYS +.B jack_impulse_grabber +-d duration [-f (C|gnuplot)] +.SH DESCRIPTION +.B jack_impulse_grabber +is an example client for the JACK Audio Connection Kit. +.SH AUTHORS +Paul Davis and others. +.PP +This manpage was written by Stefan Schwandter + --- jack-audio-connection-kit-0.100.7.orig/debian/jack_load.1 +++ jack-audio-connection-kit-0.100.7/debian/jack_load.1 @@ -0,0 +1,20 @@ +.TH JACK_LOAD "1" "August 2003" "0.91.1" +.SH NAME +jack_load \- The JACK Audio Connection Kit example client +.SH SYNOPSYS +.B jack_load +client-name so-name [so-data] +.PP +The client-name must be a yet unused client name. +The so-name is the name of a plugin under /usr/lib/libjack*. +.SH DESCRIPTION +.B jack_load +is an example client for the JACK Audio Connection Kit. It loads the +specified plugin and creates a client. +.SH EXAMPLE +.B jack_load in_process_test inprocess +.SH AUTHOR +Jeremy Hall +.PP +This manpage was written by Robert Jordens for Debian. + --- jack-audio-connection-kit-0.100.7.orig/debian/jack_lsp.1 +++ jack-audio-connection-kit-0.100.7/debian/jack_lsp.1 @@ -0,0 +1,13 @@ +.TH JACK_LSP "1" "September 2002" "0.91.1" +.SH NAME +jack_lsp \- The JACK Audio Connection Kit example client +.SH SYNOPSYS +.B jack_lsp +.SH DESCRIPTION +.B jack_lsp +lists all JACK ports. +.SH AUTHOR +Paul Davis +.PP +This manpage was written by Stefan Schwandter + --- jack-audio-connection-kit-0.100.7.orig/debian/jack_metro.1 +++ jack-audio-connection-kit-0.100.7/debian/jack_metro.1 @@ -0,0 +1,20 @@ +.TH JACK_METRO "1" "September 2002" "0.91.1" +.SH NAME +jack_metro \- The JACK Audio Connection Kit example client +.SH SYNOPSYS +.B jack_metro +[ --frequency OR -f frequency (in Hz) ] +[ --amplitude OR -A maximum amplitude (between 0 and 1) ] +[ --duration OR -D duration (in ms) ] +[ --attack OR -a attack (in percent of duration) ] +[ --decay OR -d decay (in percent of duration) ] +[ --name OR -n jack name for metronome client ] +--bpm OR -b beats per minute +.SH DESCRIPTION +.B jack_metro +is a simple metronome for JACK. +.SH AUTHOR +Anthony Van Groningen +.PP +This manpage was written by Stefan Schwandter + --- jack-audio-connection-kit-0.100.7.orig/debian/jack_monitor_client.1 +++ jack-audio-connection-kit-0.100.7/debian/jack_monitor_client.1 @@ -0,0 +1,18 @@ +.TH JACK_CONNECT "1" "August 2003" "0.91.1" +.SH NAME +jack_monitor_client \- The JACK Audio Connection Kit example client +.SH SYNOPSYS +.B jack_monitor_client +client-name +.PP +The client-name must be the name of a existing client that monitoring is +to be enabled for. +.SH DESCRIPTION +.B jack_monitor_client +is an example client for the JACK Audio Connection Kit. It enables +monitoring for the specified client. +.SH AUTHOR +Jeremy Hall +.PP +This manpage was written by Robert Jordens for Debian. + --- jack-audio-connection-kit-0.100.7.orig/debian/jack_showtime.1 +++ jack-audio-connection-kit-0.100.7/debian/jack_showtime.1 @@ -0,0 +1,13 @@ +.TH JACK_SHOWTIME "1" "September 2002" "0.91.1" +.SH NAME +jack_showtime \- The JACK Audio Connection Kit example client +.SH SYNOPSYS +.B jack_showtime +.SH DESCRIPTION +.B jack_showtime +prints the current timebase information to stdout +.SH AUTHOR +Paul Davis +.PP +This manpage was written by Stefan Schwandter + --- jack-audio-connection-kit-0.100.7.orig/debian/jack_simple_client.1 +++ jack-audio-connection-kit-0.100.7/debian/jack_simple_client.1 @@ -0,0 +1,20 @@ +.TH JACK_CONNECT "1" "August 2003" "0.91.1" +.SH NAME +jack_simple_client \- The JACK Audio Connection Kit example client +.SH SYNOPSYS +.B jack_simple_client +client-name +.PP +The client-name must be a yet unused client name. +.SH DESCRIPTION +.B jack_simple_client +is an example client for the JACK Audio Connection Kit. It creates two +ports (client-name:input and client-name:output) that pass the data +unmodified. +.SH EXAMPLE +jack_simple_client in_process_test +.SH AUTHOR +Jeremy Hall +.PP +This manpage was written by Robert Jordens for Debian. + --- jack-audio-connection-kit-0.100.7.orig/debian/jack_transport.1 +++ jack-audio-connection-kit-0.100.7/debian/jack_transport.1 @@ -0,0 +1,15 @@ +.TH JACK_TRANSPORT "1" "August 2003" "0.91.1" +.SH NAME +jack_transport \- The JACK Audio Connection Kit example client +.SH SYNOPSYS +.B jack_transport +.SH DESCRIPTION +.B jack_transport +is an example client for the JACK Audio Connection Kit. It supports +controlling the JACK transport system. Type help at jack_transport's +command prompt to see the available commands. +.SH AUTHOR +Jeremy Hall +.PP +This manpage was written by Robert Jordens for Debian. + --- jack-audio-connection-kit-0.100.7.orig/debian/jack_unload.1 +++ jack-audio-connection-kit-0.100.7/debian/jack_unload.1 @@ -0,0 +1,19 @@ +.TH JACK_UNLOAD "1" "August 2003" "0.91.1" +.SH NAME +jack_unload \- The JACK Audio Connection Kit example client +.SH SYNOPSYS +.B jack_unload +client-name +.PP +The client-name must be the name of a loaded client that can be unloaded. +.SH DESCRIPTION +.B jack_unload +is the counterpart to +.B jack_load +and unloads the specified client. +.SH EXAMPLE +.B jack_unload in_process_test +.SH AUTHOR +Jeremy Hall +.PP +This manpage was written by Robert Jordens for Debian. --- jack-audio-connection-kit-0.100.7.orig/debian/bash_completion.d/jackd +++ jack-audio-connection-kit-0.100.7/debian/bash_completion.d/jackd @@ -0,0 +1,106 @@ +#-*- mode: shell-script;-*- +# Inputs: +# $1 -- name of the command whose arguments are being completed +# $2 -- word being completed +# $3 -- word preceding the word being completed +# $COMP_LINE -- current command line +# $COMP_PONT -- cursor position +# $COMP_WORDS -- array containing individual words in the current +# command line +# $COMP_CWORD -- index into ${COMP_WORDS} of the word containing the +# current cursor position +# Output: +# COMPREPLY array variable contains possible completions + +# Syntax: +# jack_connect +# jack_disconnect +# jackd [options] -d backend [backend-parameters] +# jackstart [options] -d backend [backend-parameters] + +# Bugs/Todo: +# jack_{dis,}connect should support for spaces in port names +# restrict jack_disconnect completions to existing connections + +# Bugreports: Paul Brossier + +have jack_connect && +_jack_lsp_type() { + jack_lsp -p | grep -B1 $1 | \ + grep -v 'properties.*,$' | grep -v ^-- \ + | sed 's/\([\/ :]\)/\\\1/g' + #| sed 's/\([\\: ]\)/\\\1/g' + #| sed 's/\(.*\)/"\1"/g' +} + +have jackd && +_jackd_driver_help() { + jackd -d $1 --help 2> /dev/null | grep - | \ + sed 's/-\(.*\), --\([^\ .]*\) *\(.*\)/-\1 --\2/' +} + +have jack_connect && +_jack_connections() { + + local cur prev output IFS=$'\n' + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + # check if this is the first argument + if [[ "$1" == "$prev" ]]; then + COMPREPLY=( $( compgen -W "$(_jack_lsp_type output)" -- $cur ) ) + else + COMPREPLY=( $( compgen -W "$(_jack_lsp_type input)" -- $cur ) ) + fi + + return 0 + +} + +have jackd && +_jackd() +{ + local cur prev special + + COMPREPLY=() + cur=${COMP_WORDS[COMP_CWORD]} + prev=${COMP_WORDS[COMP_CWORD-1]} + + # check if backend was specified + for (( i=0; i < ${#COMP_WORDS[@]}-1; i++ )); do + if [[ ${COMP_WORDS[i]} == @(alsa|dummy|oss|coreaudio|portaudio) ]]; then + special=${COMP_WORDS[i]} + fi + done + + # list backends + if [[ "$prev" == -d || "$prev" == --driver ]]; then + COMPREPLY=( $( compgen -W 'alsa dummy oss coreaudio portaudio' -- $cur ) ) + # list backend specific options + elif [ -n "$special" ]; then + COMPREPLY=( $( compgen -W '`_jackd_driver_help $special` --help' -- $cur ) ) + # list common options + else + COMPREPLY=( $( compgen -W '--help -h \ + --driver -d \ + --realtime -R \ + --realtime-priority -P \ + --name -n \ + --no-mlock -m \ + --unlock -u \ + --timeout -t \ + --port-max -p \ + --verbose -v \ + --silent -s \ + --version -V' -- $cur ) ) + fi + + return 0 +} + +[ "$have" ] && complete -F _jack_connections $filenames jack_connect +[ "$have" ] && complete -F _jack_connections $filenames jack_disconnect +[ "$have" ] && complete -F _jackd $filenames jackd +[ "$have" ] && complete -F _jackd $filenames jackstart --- jack-audio-connection-kit-0.100.7.orig/debian/jackd.docs +++ jack-audio-connection-kit-0.100.7/debian/jackd.docs @@ -0,0 +1,4 @@ +build-tree/jack-audio-connection-kit-*/TODO +build-tree/jack-audio-connection-kit-*/AUTHORS +debian/FAQ +debian/user-howto --- jack-audio-connection-kit-0.100.7.orig/debian/jackd.examples +++ jack-audio-connection-kit-0.100.7/debian/jackd.examples @@ -0,0 +1 @@ +debian/asound.rc --- jack-audio-connection-kit-0.100.7.orig/debian/control +++ jack-audio-connection-kit-0.100.7/debian/control @@ -0,0 +1,57 @@ +Source: jack-audio-connection-kit +Section: sound +Priority: optional +Maintainer: Robert Jordens +Uploaders: Guenter Geiger (Debian/GNU) , Junichi Uekawa +Build-Depends: cdbs (>= 0.4.23-1.1), build-essential, autotools-dev, cdbs (>= 0.4.26-2), type-handling (>= 0.2.5), debhelper (>= 4.1.0), patchutils (>= 0.2.25), dh-buildinfo, + libasound2-dev [i386 ia64 alpha amd64 armeb arm hppa m32r m68k mips mipsel powerpc ppc64 s390 s390x sh3 sh3eb sh4 sh4eb sparc], libsndfile1-dev, doxygen, + libcap-dev [i386 ia64 alpha amd64 armeb arm hppa m32r m68k mips mipsel powerpc ppc64 s390 s390x sh3 sh3eb sh4 sh4eb sparc], autotools-dev, libreadline5-dev, + libraw1394-dev [i386 ia64 alpha amd64 armeb arm hppa m32r m68k mips mipsel powerpc ppc64 s390 s390x sh3 sh3eb sh4 sh4eb sparc], + autoconf, automake1.7, libtool +Build-Conflicts: libcap2-dev +Standards-Version: 3.6.1 + +Package: jackd +Architecture: any +Depends: ${shlibs:Depends} +Suggests: qjackctl, jack-tools, meterbridge, libjackasyn0 +Description: JACK Audio Connection Kit (server and example clients) + Low-latency sound server. JACK allows the connection of multiple applications + to an audio device, as well as allowing them to share audio between + themselves. + . + See for more info. + . + This package contains the daemon jackd as well as some example clients. + +Package: libjack0.100.0-0 +Architecture: any +Section: libs +Depends: ${shlibs:Depends} +Conflicts: jackd (>> ${Source-Version}), jackd (<< ${Source-Version}) +Recommends: jackd (= ${Source-Version}) +Description: JACK Audio Connection Kit (libraries) + Low-latency sound server. JACK allows the connection of multiple applications + to an audio device, as well as allowing them to share audio between + themselves. + . + See for more info. + . + This package contains the shared libraries. + +Package: libjack0.100.0-dev +Architecture: any +Section: libdevel +Depends: libjack0.100.0-0 (= ${Source-Version}), ${asound:Depends}, pkg-config +Provides: libjack-dev +Conflicts: libjack-dev +Replaces: libjack-dev, libjack0.71.2-0 (<< 0.75.0-1) +Description: JACK Audio Connection Kit (development files) + Low-latency sound server. JACK allows the connection of multiple applications + to an audio device, as well as allowing them to share audio between + themselves. + . + See for more info. + . + This package contains files needed for the development of JACK applications + and an API reference. --- jack-audio-connection-kit-0.100.7.orig/debian/jackd.manpages +++ jack-audio-connection-kit-0.100.7/debian/jackd.manpages @@ -0,0 +1,16 @@ +build-tree/jack-audio-connection-kit-*/jackd/jackd.1 +build-tree/jack-audio-connection-kit-*/jackd/jackstart.1 +debian/jackrec.1 +debian/jack_lsp.1 +debian/jack_connect.1 +debian/jack_disconnect.1 +debian/jack_monitor_client.1 +debian/jack_simple_client.1 +debian/jack_metro.1 +debian/jack_impulse_grabber.1 +debian/jack_transport.1 +debian/jack_showtime.1 +debian/jack_load.1 +debian/jack_unload.1 +debian/jack_freewheel.1 +debian/jack_bufsize.1 --- jack-audio-connection-kit-0.100.7.orig/debian/jackrec.1 +++ jack-audio-connection-kit-0.100.7/debian/jackrec.1 @@ -0,0 +1,14 @@ +.TH JACKREC "1" "June 2002" "0.91.1" +.SH NAME +jackrec \- The JACK Audio Connection Kit example client +.SH SYNOPSYS +.B jackrec +-f filename [ -d second ] [ -b bitdepth ] port1 [ port2 ... ] +.SH DESCRIPTION +.B jackrec +is an example client for the JACK Audio Connection Kit. +.SH AUTHORS +Paul Davis and others. +.PP +This manpage was written by Stefan Schwandter + --- jack-audio-connection-kit-0.100.7.orig/debian/libjack0.100.0-0.docs +++ jack-audio-connection-kit-0.100.7/debian/libjack0.100.0-0.docs @@ -0,0 +1,3 @@ +build-tree/jack-audio-connection-kit-*/README +build-tree/jack-audio-connection-kit-*/TODO +build-tree/jack-audio-connection-kit-*/AUTHORS --- jack-audio-connection-kit-0.100.7.orig/debian/libjack0.100.0-0.install +++ jack-audio-connection-kit-0.100.7/debian/libjack0.100.0-0.install @@ -0,0 +1,2 @@ +debian/tmp/usr/lib/lib*.so.* +debian/tmp/usr/lib/libjack*/*.so --- jack-audio-connection-kit-0.100.7.orig/debian/libjack0.100.0-dev.README.Debian +++ jack-audio-connection-kit-0.100.7/debian/libjack0.100.0-dev.README.Debian @@ -0,0 +1,16 @@ +libjack*-dev: JACK Audio Connection Kit (development files) +----------------------------------------------------------- + +You'll find the API documentation in the +/usr/share/doc/libjack*-dev/HTML directory. + +The source code of the example clients is not included in the binary +packages, please get the source package if you need it (by doing +"apt-get source jack-audio-connection-kit", for example). + +Some (and more user-specific) documentation is also contained in the +jackd package. + +originally, Stefan Schwandter, $Date: 2003/01/07 20:02:48 $ +Junichi Uekawa, 2 Mar 2003. +Robert Jordens --- jack-audio-connection-kit-0.100.7.orig/debian/libjack0.100.0-dev.doc-base +++ jack-audio-connection-kit-0.100.7/debian/libjack0.100.0-dev.doc-base @@ -0,0 +1,9 @@ +Document: libjack0.100.0-dev +Title: JACK Developer's Reference +Author: Various +Abstract: Documentation of the JACK API +Section: Apps/Programming + +Format: HTML +Index: /usr/share/doc/libjack0.100.0-dev/HTML/index.html +Files: /usr/share/doc/libjack0.100.0-dev/HTML/* --- jack-audio-connection-kit-0.100.7.orig/debian/libjack0.100.0-dev.docs +++ jack-audio-connection-kit-0.100.7/debian/libjack0.100.0-dev.docs @@ -0,0 +1,4 @@ +build-tree/jack-audio-connection-kit-*/README +build-tree/jack-audio-connection-kit-*/TODO +build-tree/jack-audio-connection-kit-*/AUTHORS +debian/README.developers --- jack-audio-connection-kit-0.100.7.orig/debian/shlibs.local +++ jack-audio-connection-kit-0.100.7/debian/shlibs.local @@ -0,0 +1,2 @@ +libc 6 libc6 (>= 2.3.2.ds1-11) +libjack-0.100.0 0 libjack0.100.0-0 (= ${Source-Version}) --- jack-audio-connection-kit-0.100.7.orig/debian/libjack0.100.0-dev.install +++ jack-audio-connection-kit-0.100.7/debian/libjack0.100.0-dev.install @@ -0,0 +1,7 @@ +debian/tmp/usr/include +debian/tmp/usr/lib/lib*.a +debian/tmp/usr/lib/lib*.la +debian/tmp/usr/lib/lib*.so +debian/tmp/usr/lib/libjack*/*.a +debian/tmp/usr/lib/pkgconfig +debian/tmp/usr/share/jack-audio-connection-kit/reference/html/* usr/share/doc/libjack0.100.0-dev/HTML --- jack-audio-connection-kit-0.100.7.orig/debian/user-howto +++ jack-audio-connection-kit-0.100.7/debian/user-howto @@ -0,0 +1,189 @@ + JACK user documentation +[jack-logo] + Last update Tuesday 25 February 2003 14:42 + + +What is JACK? + +JACK is a low-latency audio server, written primarily for the GNU/Linux +operating system. It can connect a number of different applications to an audio +device, as well as allowing them to share audio between themselves. Its clients +can run in their own processes (ie. as normal applications), or can they can +run within the JACK server (ie. as a "plugin"). + +JACK is different from other audio server efforts in that it has been designed +from the ground up to be suitable for professional audio work. This means that +it focuses on two key areas: synchronous execution of all clients, and low +latency operation. + +This diagram, using ardour as an example, will give you an overview of how a +JACKed Linux audio system works. + +Jack has two sets of parameter options. The first part are specific to running +the jack server. The second part are run time options for how jack interfaces +with the sound driver - currently only ALSA. + +The easiest way to start jack is to run this command: + +jackd -d alsa -d hw:0 + +Of course that gives you very little control over what jack does to the audio +stream and which device you use. You can specify a card name by setting up an +.asoundrc file. Visit the online ALSA docs for your card/device to get one. + +There are many useful options which can be found by typing + +jackd -h or jackd -d alsa -h + +Example commandlines + +Many people with soundblaster live cards find that more appropriate settings +are: + +*jackd -v -d alsa -d (cardnamehere) -p 512 + +People using RME cards have reported success with: + +*jackd -v -d alsa -d (cardnamehere) -p 64 + +A commandline for starting at 44100hz with verbosity, realtime scheduling, +hardware monitoring, and shaped dither enabled: + +*jackd -v -R -d alsa -d (cardnamehere) -r 44100 -H -z s + +You can use ecasound to generate a pure sine wave tone for testing the sound +quality of your device. + +*ecasound -f:32,1,48000 -i null -o jack_alsa,myport -b:1024 -el:sine_fcac,440,1 + +There are a few other options which you will find useful. + +JACK specific options + +The default settings for jack are to run at 48000hz with a buffersize of 1024 +frames per second and a period size of 2. Jack currently supports two bitrates. +Jack's alsa driver/client tries to use SND_PCM_FMT_S32_LE, which is the format +used by all current 24 bit audio cards except for some USB interfaces that +actually use 24 bits rather than 24-packed-in-32-bits. If the device can't do +that, it tries for SND_PCM_FMT_S16_LE, which every audio interface should/does +support. True 24 bit format wouldn't be a lot of work to support, but its not +trivial either. + +The buffersize determines the latency between when the sound is received by +jack and when it is sent to the pcm device (the card output). Obviously the +less the buffersize the more realtime response you will have. Many people have +found that for general purpose use the default setting is more than adequate +but when you are doing recording you should set the buffersize as low as your +card/device can handle without causing sound dropouts (xruns). Some people +advocate using higher latency for recording to ensure smooth audio. This is a +tradeoff between realtime response for monitoring and audio quality. It is +recommended that you test your card and system to find out what the best +setting is for your setup. 64 frames per interrupt is the lowest currently +possible in any PC audio hardware. Due to the binary number system you should +increase the frames in multiples of 2 starting at 64. + +For example: 64, 128, 256, 512, 1024, 2048, 4096, 8192.... + +jackd -v -a -R -P -d + +-v means verbose. It will output the actions that jack is performing to a +console. This is very useful for debugging. +-a means to use the inbuilt ASIO support. This can only be enabled on cards +that support ASIO. ASIO is a protocol developed by Steinburg the makers of many +Microsoft audio applications. It allows for much lower latency performance +internal to the soundcard/device. +-R means realtime. This allows you to take full advantage of the low latency +patches for the Linux kernel. You should enable this if you are doing master +recordings or want to ensure the applications will receive the audio stream as +quickly as possible. +-P means Priority. This is superfluous to the -R flag but allows for setting +the priority of jack to the maximum available. Also useful when you need low +latency. +-d means driver. This sets the sound driver which jack intefaces with. +Currently "alsa" is the only option. + +Driver specific options + +jackd -d alsa -d -r -p -n -H -C -D -C -z + +Currently jack only has support for alsa as a sound driver. In the future there +may be more driver options although it is not very likely. + +-d means device. This allows you to specify a device other than hw:0 +-r means sample rate. Use this to set the number of samples per second that the +audio is streamed at. 44100Hz is cd quality, 48000Hz (the default) is DAT +quality, Anything between 44100Hz and 192000Hz is DVD quality. The higher the +sample rate the more audio data you capture per second and therefore the more +space you use on your HDD. For many people CD quality is fine. The debate rages +as to whether sample rates higher than 44100Hz provide better sound quality or +not. Currently it is at a standoff until someone conducts conclusive double +blind tests in the tradition of Pepsi vs Coke. + +Many people only work at 44100Hz because resampling down from a higher sample +rate is known to degrade the audio quality when compared to recording at +44100Hz originally. It is also highly likely that sample libraries you may want +to use are only available at 44100Hz. Saying that, most people agree that +acoustic recordings do generally sound better when recorded at higher sample +rates. Unfortunately CD's are not going to dissapear soon and DVDRW's remain +expensive so if you want to distribute your recordings it is more than likely +that they will be shipped at 44100Hz. + +-p means the frames per period. This is the buffer rate which JACK will stream +audio at. See above for an explanation of what this means. +-n means periods per hardware buffer. This sets the number of periods per +interrupt which ALSA polls for your device. Most cards use two periods but some +use 3, 4 or even 8 or 16 (delta 10/10). + +What is the exact purpose of the p and n parameters? + +There are several kinds of latency: + + input latency + output latency + through (or "roundtrip") latency + + p affects input latency: how long from when a piece of data arrives at the + audio interface connectors until user space software can use it? + + p*n affects output latency: how long from when a piece of data is delivered + by user space data until it leaves the audio interface connectors? + + Roundtrip latency is combination of these two. + +Conventional low latency systems (e.g. ASIO) use n=2 all the time. ALSA is +rather unusual in allowing other values. + +-H means Hardware monitoring. This is only available with cards/devices that +support this feature. Usually cards that support ASIO will support hardware +monitoring. It allows you to hear the audio stream flowing through the pcm in/ +outs at that very moment. This is very good for hearing what you are recording +as you are recording it. +-C means capture only. This opens the ALSA driver in read only mode which is +useful for people who only want to record audio and don't have a need to hear +what they are recording. +-D means duplex. This opens the ALSA driver in read/write mode which means that +you can play and record at the same time. Most people will only want to use +this which is the default mode anyway. +-P means playback only. This opens the ALSA driver in write only mode which is +useful for people who have no inputs or only want to play audio not record. It +can also reduce latency. + +-z means dither. There are currently four options to the dither flag. +-z r means rectangular dither. +-z t means triangular dither. +-z s means shaped dither. +-z - means no dither(the default). + +Dither is used to make the audio cleaner. The best way to describe it is to +imagine a painting with many dots. If you view it up close you can see each dot +and the image is not very clear. If you view it from far away the image becomes +clearer because your eyes/brain dither the dots to smooth out the image. It is +a murky subject and obviously a very personal choice as to what dither is the +best. For most people it is just plain magic. Anyone running at 16bit who cares +about quality or has CPU cycles to spare should run with dither. Triangular is +probably the best compromise of quality vs cpu cost (its very fast), but shaped +is the best. + +Document prepared by Patrick Shirkey +Thanks to everyone who contributes, wittingly or not... + --- jack-audio-connection-kit-0.100.7.orig/debian/jackd.install +++ jack-audio-connection-kit-0.100.7/debian/jackd.install @@ -0,0 +1,2 @@ +debian/tmp/usr/bin/jack* +debian/bash_completion.d etc --- jack-audio-connection-kit-0.100.7.orig/debian/jackd.README.Debian +++ jack-audio-connection-kit-0.100.7/debian/jackd.README.Debian @@ -0,0 +1,78 @@ +Jack Audio Connection Kit (server and example clients) +------------------------------------------------------ + +Abstract: + JACK will probably run just fine on your system with "jackd -d alsa" + or "jackd -d oss". + + If you set JACK_START_SERVER in your environment, jackd will be + automatically started by applications that need it if it is not yet + running. In this mod commandline parameters are read from ~/.jackdrc + overriding those in /etc/jackdrc. + + If you want better (or even only decent performance (fewer/no xruns, lower + latency...), you will probably have to do a bit of work. This includes: + 1. get recent alsa-drivers running well + 2. set up an .asoundrc if you have a professional and + powerful soundcard whose settings/channels/mixers you'd + like to have finer control over. + 3. patch your kernel with lowlatency, maybe also preempt and + give-capabilities/realtime-lsm + 5. run in realtime mode + + +* General usage hints: + - You should have the alsa-drivers running. + - You should have an .asoundrc file in your home directory. It groups your + sound devices together for jackd to use it. A minimalistic example can + be found in /usr/share/doc/jackd/examples/asound.rc. Read the comments + in this file for more information. + +* Low Latency: + - To ensure that jackd can regularly fill it's buffers und do it's work + it's necessary to modify parts of the kernel, that could block jackd from + running at the required frequency. The patch ist called "lowlatency" and + available in the package kernel-patch-2.4-lowlatency. + kernel-patch-2.4-preempt also helps reducing latency. + See /usr/share/doc/jackd/FAQ.gz for more info. + +* Realtime mode / give-capabilities support: + - Realtime mode is enabled with the commandline option "--realtime". + This will lock down parts of the memory jackd uses in your RAM and enable + jackd to run as often as it wants (almost). + - Only processes that run as "root" or inherit the RT-rights from jackd + (that's capabilities support, see below) can obtain realtime rights. + If you run jackd as root (without capabilities support, that is) you + have to run all jack applications as root. + - give-capabilities support is compiled into JACK, see the FAQ ("How can I + get the best performance out of Jack?") for details on how to use + it. You need the two-line kernel-patch that allows processes to + inherit capabilities. This way, only jackd needs to be started as root + (jackstart does this for you, that's why jackstart is setuid root) and + jackd will give realtime rights to all processes connecting to it. + Since any application that has realtime rights can block all others from + running, they can effectively can crash your computer. + AGNULA () has a kernel-patch package: + . + Only users of the "audio" group can start jackstart, add yourself to it + (as root: adduser yourself audio). jackstart takes the exactly same options + as jackd. + - "prelinking" (see the prelink package) jackd brakes jackstart because it + changes the jackd binary. You have to undo it after every prelink run: + "prelink --undo /usr/bin/jackd" + - For kernel 2.6 (and 2.4 with kernel-patch-2.4-lsm) there is also a LSM + (Linux Security Module) called "realtime", which grants realtime rights + to regular users on a configurable basis. The module has been announced on + linux-audio-dev. + +* More Information: + - man jackd + - /usr/share/doc/jackd/FAQ.gz + - /usr/share/doc/jackd/user-howto.gz + - /usr/share/doc/jackd/README + - + + +Stefan Schwandter, Date: 2002/09/20 16:39:46 +Robert Jordens + --- jack-audio-connection-kit-0.100.7.orig/debian/watch +++ jack-audio-connection-kit-0.100.7/debian/watch @@ -0,0 +1,2 @@ +version=3 +http://sf.net/jackit/jack-audio-connection-kit-(.*)\.tar\.gz --- jack-audio-connection-kit-0.100.7.orig/debian/control.in +++ jack-audio-connection-kit-0.100.7/debian/control.in @@ -0,0 +1,60 @@ +Source: jack-audio-connection-kit +Section: sound +Priority: optional +Maintainer: Robert Jordens +Uploaders: Guenter Geiger (Debian/GNU) , Junichi Uekawa +Build-Depends: @cdbs@, dh-buildinfo, + libasound2-dev [system: linux], libsndfile1-dev, doxygen, + libcap-dev [system: linux], autotools-dev, libreadline5-dev, + libraw1394-dev [system: linux], + autoconf, automake1.7, libtool +Build-Conflicts: libcap2-dev +Standards-Version: 3.6.1 + +Package: jackd +Cpu: any +System: any +Depends: ${shlibs:Depends} +Suggests: qjackctl, jack-tools, meterbridge, libjackasyn0 +Description: JACK Audio Connection Kit (server and example clients) + Low-latency sound server. JACK allows the connection of multiple applications + to an audio device, as well as allowing them to share audio between + themselves. + . + See for more info. + . + This package contains the daemon jackd as well as some example clients. + +Package: libjack0.100.0-0 +Cpu: any +System: any +Section: libs +Depends: ${shlibs:Depends} +Conflicts: jackd (>> ${Source-Version}), jackd (<< ${Source-Version}) +Recommends: jackd (= ${Source-Version}) +Description: JACK Audio Connection Kit (libraries) + Low-latency sound server. JACK allows the connection of multiple applications + to an audio device, as well as allowing them to share audio between + themselves. + . + See for more info. + . + This package contains the shared libraries. + +Package: libjack0.100.0-dev +Cpu: any +System: any +Section: libdevel +Depends: libjack0.100.0-0 (= ${Source-Version}), ${asound:Depends}, pkg-config +Provides: libjack-dev +Conflicts: libjack-dev +Replaces: libjack-dev, libjack0.71.2-0 (<< 0.75.0-1) +Description: JACK Audio Connection Kit (development files) + Low-latency sound server. JACK allows the connection of multiple applications + to an audio device, as well as allowing them to share audio between + themselves. + . + See for more info. + . + This package contains files needed for the development of JACK applications + and an API reference.