aboutsummaryrefslogtreecommitdiff
path: root/audio/jack-tools
diff options
context:
space:
mode:
Diffstat (limited to 'audio/jack-tools')
-rw-r--r--audio/jack-tools/README19
-rw-r--r--audio/jack-tools/jack-tools.SlackBuild77
-rw-r--r--audio/jack-tools/jack-tools.info10
-rw-r--r--audio/jack-tools/man/jack-dl.192
-rw-r--r--audio/jack-tools/man/jack-osc.1172
-rw-r--r--audio/jack-tools/man/jack-play.170
-rw-r--r--audio/jack-tools/man/jack-plumbing.1162
-rw-r--r--audio/jack-tools/man/jack-record.184
-rw-r--r--audio/jack-tools/man/jack-scope.199
-rw-r--r--audio/jack-tools/man/jack-transport.177
-rw-r--r--audio/jack-tools/man/jack-udp.181
-rw-r--r--audio/jack-tools/slack-desc6
12 files changed, 875 insertions, 74 deletions
diff --git a/audio/jack-tools/README b/audio/jack-tools/README
index 0a94693f23788..66e8c26722dfd 100644
--- a/audio/jack-tools/README
+++ b/audio/jack-tools/README
@@ -1,12 +1,13 @@
-This collection contains a bunch of small tools for
-jack-audio-connection-kit written by Rohan Drape for the JACK low latency
-audio API.
+This collection contains a bunch of small tools for JACK
+(jack-audio-connection-kit), written by Rohan Drape.
Included utilities:
-jack.clock - JACK Transport Publication Daemon
-jack.ctl - JACK Session Manager
-jack.play - JACK Sound File Player
-jack.plumbing - JACK Plumbing Daemon
-jack.scope - JACK Oscilloscope
-jack.udp - JACK UDP Transport Client
+jack-dl - JACK shared library dsp loader
+jack-osc - JACK Transport Publication Daemon
+jack-play - JACK Sound File Player
+jack-plumbing - JACK Plumbing Daemon
+jack-record - JACK Capture Client
+jack-scope - JACK Oscilloscope
+jack-transport - Minimalist Jack Transport Interface
+jack-udp - JACK UDP Transport Client
diff --git a/audio/jack-tools/jack-tools.SlackBuild b/audio/jack-tools/jack-tools.SlackBuild
index 8859c1e0f25fa..ade1c9e96e1ab 100644
--- a/audio/jack-tools/jack-tools.SlackBuild
+++ b/audio/jack-tools/jack-tools.SlackBuild
@@ -7,7 +7,7 @@
# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
PRGNAM=jack-tools
-VERSION=${VERSION:-0.0.2}
+VERSION=${VERSION:-20130616}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -40,67 +40,30 @@ fi
set -e
-# This thing is packaged strangely. The tarball contains a bunch of
-# sub-tarballs named sw-NN where NN is a 2-digit number completely
-# unrelated to the contents of the code within...
-
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAM-$VERSION.orig
-tar xvf $CWD/${PRGNAM}_$VERSION.orig.tar.gz
-cd $PRGNAM-$VERSION.orig
-
-# sw-26, aka jack.ctl, has no configure script or Makefile
-mkdir -p $PKG/usr/bin $PKG/usr/man/man1 $PKG/usr/doc/$PRGNAM-$VERSION/jack.ctl
-tar xvf sw-26.tar.bz2
-install -m0755 -oroot -groot sw-26/jack.ctl $PKG/usr/bin
-install -m0644 -oroot -groot sw-26/jack.ctl.1 $PKG/usr/man/man1
-install -m0644 -oroot -groot sw-26/ChangeLog \
- $PKG/usr/doc/$PRGNAM-$VERSION/jack.ctl/
-rm -rf sw-26 sw-26.tar.bz2
-
-for src in *.tar.bz2; do
- tar xvf $src
- cd $( basename $src .tar.bz2 )
- chown -R root:root .
- find . \
- \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
- -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
- -exec chmod 644 {} \;
-
- sh autogen.sh
-
- CFLAGS="$SLKCFLAGS" \
- CXXFLAGS="$SLKCFLAGS" \
- ./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --mandir=/usr/man \
- --docdir=/usr/doc/$PRGNAM-$VERSION \
- --build=$ARCH-slackware-linux
-
- make clean all
- make install-strip DESTDIR=$PKG
-
- srcname=$( ls *.1 | head -1 | sed 's/\.1$//' )
- mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/$srcname/
- for doc in README ChangeLog ANNOUNCE; do
- [ -e $doc ] && cp $doc $PKG/usr/doc/$PRGNAM-$VERSION/$srcname/
- done
-
- cd -
+rm -rf $PRGNAM-$VERSION
+tar xvf $CWD/${PRGNAM}-$VERSION.tar.gz
+cd $PRGNAM-$VERSION
+
+sed -i "s,-O.,$SLKCFLAGS," Makefile c-common/Makefile
+make -C c-common
+make
+
+mkdir -p $PKG/usr/bin $PKG/usr/include
+make install prefix=$PKG/usr
+strip $PKG/usr/bin/*
+
+# man pages generated from *.text asciidoc files, then manually edited
+# to clean up the formatting.
+mkdir -p $PKG/usr/man/man1
+for page in $CWD/man/*.1; do
+ gzip -9c < $page > $PKG/usr/man/man1/$( basename $page ).gz
done
-find $PKG/usr/man -type f -exec gzip -9 {} \;
-for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
-
-# COPYING is identical in every subdirectory, just include one copy.
-cp sw-04/COPYING $PKG/usr/doc/$PRGNAM-$VERSION
-
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cat README > $PKG/usr/doc/$PRGNAM-$VERSION/README
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/audio/jack-tools/jack-tools.info b/audio/jack-tools/jack-tools.info
index b75d5099dd2dd..7b2c80f11497b 100644
--- a/audio/jack-tools/jack-tools.info
+++ b/audio/jack-tools/jack-tools.info
@@ -1,10 +1,10 @@
PRGNAM="jack-tools"
-VERSION="0.0.2"
-HOMEPAGE="http://packages.ubuntu.com/hardy/jack-tools"
-DOWNLOAD="http://archive.ubuntu.com/ubuntu/pool/universe/j/jack-tools/jack-tools_0.0.2.orig.tar.gz"
-MD5SUM="d824e3c18f1eb9da1fff4a59a9397d20"
+VERSION="20130616"
+HOMEPAGE="http://rd.slavepianos.org/?t=rju"
+DOWNLOAD="http://urchlay.naptime.net/~urchlay/src/jack-tools-20130616.tar.gz"
+MD5SUM="69e5c61fa6ad1d01262ccacebb3f405f"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="jack-audio-connection-kit"
+REQUIRES="jack-audio-connection-kit liblo"
MAINTAINER="B. Watson"
EMAIL="yalhcru@gmail.com"
diff --git a/audio/jack-tools/man/jack-dl.1 b/audio/jack-tools/man/jack-dl.1
new file mode 100644
index 0000000000000..8d0f2070c180d
--- /dev/null
+++ b/audio/jack-tools/man/jack-dl.1
@@ -0,0 +1,92 @@
+'\" t
+.\" Title: jack-dl
+.\" Author: Rohan Drape <rd@slavepianos.org>
+.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
+.\" Date: 06/16/2013
+.\" Manual: \ \&
+.\" Source: \ \&
+.\" Language: English
+.\"
+.TH "JACK\-DL" "1" "06/16/2013" "\ \&" "\ \&"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+jack-dl \- JACK shared library dsp loader
+.SH "SYNOPSIS"
+.sp
+jack\-dl [options]
+.SH "OPTIONS"
+.TP
+\fB\-b\fR
+Set the number of buffers (default=8)\&.
+.TP
+\fB\-c\fR
+Set the number of input and output channels (default=8)\&.
+.TP
+\fB\-k\fR
+Set the number of control buses (default=64)\&.
+.TP
+\fB\-p\fR
+Set the udp port number (default=57190)\&.
+.SH "DESCRIPTION"
+.sp
+jack\-dl loads dsp algorithms from shared libraries and allows user interaction with the executing graph\&. Commands are sent as OSC packets over a UDP connection\&.
+.sp
+The dsp graph code must provide three functions:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+size_t (*dsp_memreq)();
+void (*dsp_init)(void *);
+void (*dsp_step)(void *,int);
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+jack\-dl accepts the OSC commands:
+.sp
+Command - Arguments (Description)
+.br
+/b_alloc - id::int frames::int channels::int (buffer allocate)
+.br
+/c_set - index::int value::float (control set)
+.br
+/g_load - object\-file::file\-path (graph load)
+.sp
+jack\-dl consults the JACK_DL_CONNECT_TO and JACK_DL_CONNECT_FROM environment variables\&.
+.sp
+jack\-dl implements only a subset of the OSC protocol\&. In particular it does not implement the patten matching rules and does not implement a scheduler for incoming messages\&.
+.sp
+jack\-dl drops all unrecognized incoming packets\&.
+.SH "AUTHOR"
+.sp
+Rohan Drape http://rd\&.slavepianos\&.org/
+.SH "SEE ALSO"
+.sp
+jackd(1), OSC(7) http://opensoundcontrol\&.org/
+.SH "AUTHOR"
+.PP
+\fBRohan Drape\fR <\&rd@slavepianos\&.org\&>
+.RS 4
+Author.
+.RE
diff --git a/audio/jack-tools/man/jack-osc.1 b/audio/jack-tools/man/jack-osc.1
new file mode 100644
index 0000000000000..22635443c461c
--- /dev/null
+++ b/audio/jack-tools/man/jack-osc.1
@@ -0,0 +1,172 @@
+'\" t
+.\" Title: jack-osc
+.\" Author: Rohan Drape <rd@slavepianos.org>
+.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
+.\" Date: 06/16/2013
+.\" Manual: \ \&
+.\" Source: \ \&
+.\" Language: English
+.\"
+.TH "JACK\-OSC" "1" "06/16/2013" "\ \&" "\ \&"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+jack-osc \- JACK Transport Publication Daemon
+.SH "SYNOPSIS"
+.sp
+jack\-osc [options]
+.SH "OPTIONS"
+.TP
+\fB\-c\fR
+Set the drift correction interval in periods (default=64)\&.
+.TP
+\fB\-p\fR
+Set the port number (default=57130)\&.
+.SH "DESCRIPTION"
+.sp
+jack\-osc publishes the transport state of the local JACK server as OSC packets over a UDP connection\&. jack\-osc allows any OSC enabled application to act as a JACK transport client, receiving sample accurate pulse stream timing data, and monitoring and initiating transport state change\&.
+.sp
+Clients request to receive timing and change notification packets by sending a "request notification" packet, \fI/receive\fR, to the jack\-osc server\&. This packet has the form
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+/receive category
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+where category is a bit mask that indicates what categories of notification packets are requested\&. The bit locations are:
+.sp
+Category Mask
+.br
+REQUEST_TICK 0x0000001
+.br
+REQUEST_PULSE 0x0000002
+.br
+REQUEST_CORRECTION 0x0000004
+.br
+REQUEST_TRANSPORT 0x0000008
+.br
+REQUEST_ALL 0xFFFFFFF
+.sp
+Clients request notification messages to be sent to an address that is not that of the packet that requests the notification by sending a "request notification at" packet, \fI/receive_at\fR\&. This packet has the form
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+/receive_at category port\-number host\-name
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+where category is as for \fI/receive\fR and where port\-number and host\-name give the address that notification should be sent to\&.
+.sp
+Once a client is registered subsequent \fI/receive\fR and \fI/receive_at\fR messages edit the category value for that client\&. To delete the client from the register send a request with a category value of negative one\&.
+.sp
+After requesting notification the client will receive all relevant timing packets sent by the server\&. All jack\-osc timing packets are sent at the start of a JACK period as OSC message and have the same shape:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+tag ntp utc frm arg\&.\&.\&.
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+where tag is the command name, and ntp, utc and frm are time stamps that indicate the same time point, the start of the JACK period when the packet was sent\&. ntp is an unsigned 64bit integer NTP value\&. utc is a double precision real valued representation of the UTC time\&. frm is a signed 64bit integer frame counter the absolute value of which is not defined but which increments synchronously with the ntp and utc time stamps\&. arg\&... is the set of tag specific arguments\&.
+.sp
+The timing packets sent by jack\-osc are:
+.sp
+/pulse ntp utc frm p\-ntp p\-utc p\-frm pulse : Pulse Location\&. This packet indicates that the nearest frame to the integer pulse pulse occurs at the time given by the time stamps p\-ntp, p\-utc and p\-frm\&. The pulse number is one based\&. This packet is sent at the start of the JACK period in which the integer pulse will occur\&. This packet is not sent if the transport is stopped\&. This packet is sent before the \fI/tick\fR packet for the same period\&.
+.sp
+/tick ntp utc frm frame pulse : Period Tick\&. This packet is sent once per JACK period\&. The integer value frame is the transport location in frames, the double precision real value pulse is the transport location in pulses\&. The pulse value is read from an accumulator and is approximate only, the accumulator is corrected at each integer pulse location\&.
+.sp
+/drift ntp utc frm ntp\-dif utc\-dif : Drift Correction\&. This packet is sent whenever the clock drift correction is run\&. The frequency of this is set by the \fB\-c\fR option to the jack\-osc server\&. The integer value ntp\-dif is the NTP form of the corrected drift value and utc\-dif the UTC form\&. Since JACK is a sample clock there is no frame drift value\&.
+.sp
+The state change packets sent by jack\-osc are:
+.sp
+/transport ntp utc frm fps ppm ppc pt state : Transport state change\&. This packet is sent whenever the JACK transport changes\&. The double precision real value fps is the sample rate in frames per second\&. The double precision real value ppm is the tempo in pulses per minute\&. The double precision real value ppc is the measure length in pulses per cycle\&. The double precision real value pt is the pulse type\&. The integer value state is zero if the transport has stopped and one if it has started\&. See also the \fI/status\fR message described below\&.
+.sp
+Clients can request the current frame and pulse values by sending a \fI/current\fR packet, which requires no argument\&. The replies with a \fI/current\&.reply\fR packet, which has the same form as a \fI/tick\fR packet\&. The precise interpretation of packets acquired in this manner is problematic\&.
+.sp
+Clients request a status packet by sending a "request status" packet, \fI/status\fR, which requires no argument\&. The server replies immediately with a status reply packet, \fI/status\&.reply\fR\&. The status packet is an OSC message and is not timestamped\&. It has the shape:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+/status\&.reply fps ppm ppc pt state
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+where the argument values are as described for the \fI/transport\fR message\&. It is intended that a client will request a single status packet before requesting notification for all subsequent state changes\&.
+.sp
+Clients initiate a change in transport roll state by sending a "request transport operation" packet, \fI/start\fR or \fI/stop\fR to the jack\-osc server\&. Neither requires an argument\&.
+.sp
+Clients initiate a change in transport location by sending a "request locate operation" packet, \fI/locate\fR, to the jack\-osc server\&. It has the shape:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+/locate location
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+where the single precision real value location is the requested transport location in seconds\&.
+.sp
+Clients can connect and disconnect ports by sending \fI/connect\fR and \fI/disconnect\fR messages to the jack\-osc server\&. Both have the shape:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+/[dis]connect left right
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+jack\-osc implements only a subset of the OSC protocol\&. In particular it does not implement the patten matching rules and does not implement a scheduler for incoming messages\&.
+.sp
+jack\-osc drops all unrecognized incoming packets\&.
+.SH "AUTHOR"
+.sp
+Rohan Drape http://rd\&.slavepianos\&.org/
+.SH "SEE ALSO"
+.sp
+jackd(1), OSC(7) http://opensoundcontrol\&.org/
+.SH "AUTHOR"
+.PP
+\fBRohan Drape\fR <\&rd@slavepianos\&.org\&>
+.RS 4
+Author.
+.RE
diff --git a/audio/jack-tools/man/jack-play.1 b/audio/jack-tools/man/jack-play.1
new file mode 100644
index 0000000000000..1b7364e0728b2
--- /dev/null
+++ b/audio/jack-tools/man/jack-play.1
@@ -0,0 +1,70 @@
+'\" t
+.\" Title: jack-play
+.\" Author: Rohan Drape <rd@slavepianos.org>
+.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
+.\" Date: 06/16/2013
+.\" Manual: \ \&
+.\" Source: \ \&
+.\" Language: English
+.\"
+.TH "JACK\-PLAY" "1" "06/16/2013" "\ \&" "\ \&"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+jack-play \- JACK Sound File Player
+.SH "SYNOPSIS"
+.sp
+jack\-play [options] sound\-file\&...
+.SH "OPTIONS"
+.sp
+\fB\-b\fR : Set the disk buffer size in frames (default=4096)\&. This value must be a power of two\&. If the JACK period size at any time exceeds this value the player will halt\&.
+.sp
+\fB\-c\fR : Set the sample rate conversion algorithm (default=2)\&. Values are: SRC_SINC_BEST_QUALITY = 0, SRC_SINC_MEDIUM_QUALITY = 1, SRC_SINC_FASTEST = 2, SRC_ZERO_ORDER_HOLD = 3 and SRC_LINEAR = 4\&.
+.sp
+\fB\-i\fR : Set the initial disk seek in frames (default=0)\&.
+.sp
+\fB\-m\fR : Set the minimal disk transfer size in frames (default=32)\&. This is an optimization switch\&.
+.sp
+\fB\-n\fR : Set the client name (default=jack\-play)\&.
+.sp
+\fB\-q\fR : Set the frame size to request data from the ringbuffer (default=64)\&. This is an optimization switch\&.
+.sp
+\fB\-r\fR : Set the resampling ratio multiplier (default=1\&.0)\&.
+.sp
+\fB\-t\fR : Run in JACK transport aware mode\&.
+.sp
+\fB\-u\fR : Do not make client name unique by appending process identifier\&.
+.SH "DESCRIPTION"
+.sp
+jack\-play is a light\-weight JACK sound file player\&. It creates as many output ports as there are channels in the input file\&. It will connect to ports mentioned in the environment variable JACK_PLAY_CONNECT_TO which must include a %d pattern to indicate port number, otherwise it implements no connection logic, use jack\-plumbing(1) instead\&.
+.sp
+jack\-play will read files in any format supported by libsndfile, and will resample to match the server sample rate using libsamplerate\&.
+.SH "AUTHOR"
+.sp
+Written by Rohan Drape http://rd\&.slavepianos\&.org/
+.SH "SEE ALSO"
+.sp
+jackd(1), libsndfile(3) http://mega\-nerd\&.com/libsndfile/, libsamplerate(3) http://mega\-nerd\&.com/SRC/
+.SH "AUTHOR"
+.PP
+\fBRohan Drape\fR <\&rd@slavepianos\&.org\&>
+.RS 4
+Author.
+.RE
diff --git a/audio/jack-tools/man/jack-plumbing.1 b/audio/jack-tools/man/jack-plumbing.1
new file mode 100644
index 0000000000000..27ca35d501975
--- /dev/null
+++ b/audio/jack-tools/man/jack-plumbing.1
@@ -0,0 +1,162 @@
+'\" t
+.\" Title: jack-plumbing
+.\" Author: Rohan Drape <rd@slavepianos.org>
+.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
+.\" Date: 06/16/2013
+.\" Manual: \ \&
+.\" Source: \ \&
+.\" Language: English
+.\"
+.TH "JACK\-PLUMBING" "1" "06/16/2013" "\ \&" "\ \&"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+jack-plumbing \- JACK Plumbing Daemon
+.SH "SYNOPSIS"
+.sp
+jack\-plumbing [options] [rule\-files]
+.SH "OPTIONS"
+.sp
+\fB\-d\fR : Do not operate as a daemon\&.
+.sp
+\fB\-o\fR : Do not load ordinary rule files\&.
+.sp
+\fB\-q\fR : Quiet operation\&.
+.sp
+\fB\-u\fR : Set the time, in micro\-seconds, that must elapse after a connection notification to indicate the end of a notification set (default=30000)\&. This is an optimization switch\&.
+.SH "DESCRIPTION"
+.sp
+jack\-plumbing maintains a set of port connection rules and manages these as clients register ports with JACK\- Port names are implicitly bounded regular expressions and support sub\-expression patterns\&.
+.sp
+There are four rules: connect, disconnect, also\-connect and connect\-exclusive\&.
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+(connect "SuperCollider:out_(\&.*)" "system:playback_\e1")
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+This connect rule ensures that whenever scsynth(1) is running any output ports it registers are connected to appropriate ALSA playback ports\&. The connect rule only makes a connection if none already exist\&.
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+(also\-connect "system:playback_1" "jack\-udp\-[0\-9]*:in_1")
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+This also\-connect rule ensures that when jack\-udp(1) is running in send mode all signals that are ordinarily sent to the local audio interface will also be sent to the network destination\&. The also\-connect aliasing applies to both the left and right hand side of connect rules\&.
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+(connect\-exclusive "SuperCollider:out_(\&.*)" "ardour:sc3_in_\e1/in 1")
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+This connect\-exclusive rule ensures that if SuperCollider and an ardour(1) session with appropriate tracks are both running that SuperCollider gets connected to ardour and disconnected from everything else\&.
+.sp
+This type of connection daemon has the following advantages over both environment variables and command line arguments:
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+it does not require any client connection support or logic at all
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+it provides a uniform user interface to all clients
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+it has a somewhat declarative style
+.RE
+.sp
+This type of daemon is very lightweight and non\-intrusive: it requires no arguments, it runs from an unprivileged thread, if the rule set is empty it is a no\-op, it does not write any files, it does not require any modification to clients or to how clients are started\&.
+.sp
+When a set of port registrations is made it checks the modification time of the rule set files, \fI/etc/jack\-plumbing\fR and \fI~/\&.jack\-plumbing\fR, and any files specified by the user, rereads the rule set if it has been updated, then makes the JACK graph obey the rules\&.
+.sp
+Any lines beginning with a semi\-colon are ignored\&.
+.sp
+The rule set is sorted, disconnect rules are applied first, then connect rules, then connect\-exclusive rules\&.
+.SH "FILES"
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+/etc/jack\-plumbing
+.RE
+.sp
+.RS 4
+.ie n \{\
+\h'-04'\(bu\h'+03'\c
+.\}
+.el \{\
+.sp -1
+.IP \(bu 2.3
+.\}
+~/\&.jack\-plumbing
+.RE
+.SH "AUTHOR"
+.sp
+Written by Rohan Drape http://slavepianos\&.org/rd/
+.SH "SEE ALSO"
+.sp
+jackd(1)
+.SH "AUTHOR"
+.PP
+\fBRohan Drape\fR <\&rd@slavepianos\&.org\&>
+.RS 4
+Author.
+.RE
diff --git a/audio/jack-tools/man/jack-record.1 b/audio/jack-tools/man/jack-record.1
new file mode 100644
index 0000000000000..230dd104d4649
--- /dev/null
+++ b/audio/jack-tools/man/jack-record.1
@@ -0,0 +1,84 @@
+'\" t
+.\" Title: jack-record
+.\" Author: Rohan Drape <rd@slavepianos.org>
+.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
+.\" Date: 06/16/2013
+.\" Manual: \ \&
+.\" Source: \ \&
+.\" Language: English
+.\"
+.TH "JACK\-RECORD" "1" "06/16/2013" "\ \&" "\ \&"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+jack-record \- JACK Capture Client
+.SH "SYNOPSIS"
+.sp
+jack\-record [options] sound\-file
+.SH "OPTIONS"
+.sp
+\fB\-b\fR : Set the disk buffer size in frames (default=4096)\&. This value must be a power of two\&. If the JACK period size at any time exceeds this value the recorder will halt\&.
+.sp
+\fB\-f\fR : Set the file format (default=0x10006)\&. The number is a bitwise\-or of two values, the first describes the file type, the second the data type\&. The default value of 0x10000 | 0x00006 describes a thirty\-two bit floating point WAV file\&. 0x2 is 16\-bit and 0x3 24\-bit\&.
+.sp
+\fB\-m\fR : Set the minimal disk transfer size in frames (default=32)\&. This is an optimization switch\&.
+.sp
+\fB\-n\fR : Set the number of input channels to create (default=2)\&.
+.sp
+\fB\-o\fR : Integer offset for port connection pattern (default=0)\&.
+.sp
+\fB\-p\fR : A pattern describing the JACK ports to connect to, ie\&. SuperCollider:out_%d (default=nil)\&.
+.sp
+\fB\-s\fR : Capture to a set of single channel sound files\&. The sound file name must be a valid template\&.
+.sp
+\fB\-t\fR : Set a timer to stop the recording after the specified number of seconds (default=\-1)\&.
+.SH "DESCRIPTION"
+.sp
+jack\-record is a light\-weight JACK capture client to write an arbitrary number of channels to disk\&. It implements no connection logic, use jack\-plumbing(1) instead\&.
+.sp
+If the default mode a single multiple channel sound file is written\&. If the \fB\-s\fR option is given a set of single channel sound files are written\&. In this case the sound file name must be a valid template, the substring %d is replaced with the channel number counting from zero\&.
+.sp
+jack\-record will write files in any format supported by libsndfile\&. The table below shows the most common file format masks\&. For other values see the file \fIsndfile\&.h\fR\&.
+.sp
+Format Code Description
+.br
+SF_FORMAT_WAV 0x10000 Microsoft WAV format
+.br
+SF_FORMAT_AIFF 0x20000 Apple/SGI AIFF format
+.br
+SF_FORMAT_PCM_16 0x00002 Signed 16 bit data
+.br
+SF_FORMAT_PCM_24 0x00003 Signed 24 bit data
+.br
+SF_FORMAT_PCM_32 0x00004 Signed 32 bit data
+.br
+SF_FORMAT_FLOAT 0x00006 32 bit float data
+.SH "AUTHOR"
+.sp
+Rohan Drape http://rd\&.slavepianos\&.org/
+.SH "SEE ALSO"
+.sp
+jackd(1), libsndfile(3) http://mega\-nerd\&.com/libsndfile/
+.SH "AUTHOR"
+.PP
+\fBRohan Drape\fR <\&rd@slavepianos\&.org\&>
+.RS 4
+Author.
+.RE
diff --git a/audio/jack-tools/man/jack-scope.1 b/audio/jack-tools/man/jack-scope.1
new file mode 100644
index 0000000000000..b5d594f1927ae
--- /dev/null
+++ b/audio/jack-tools/man/jack-scope.1
@@ -0,0 +1,99 @@
+'\" t
+.\" Title: jack-scope
+.\" Author: Rohan Drape <rd@slavepianos.org>
+.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
+.\" Date: 06/16/2013
+.\" Manual: \ \&
+.\" Source: \ \&
+.\" Language: English
+.\"
+.TH "JACK\-SCOPE" "1" "06/16/2013" "\ \&" "\ \&"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+jack-scope \- JACK Oscilloscope
+.SH "SYNOPSIS"
+.sp
+jack\-scope [options]
+.SH "OPTIONS"
+.sp
+\fB\-b\fR : Set the frame size of the data displayed by the scope (default=512)\&.
+.sp
+\fB\-d\fR : Set the delay interval in milli\-seconds between scope updates (default=100\&.0)\&.
+.sp
+\fB\-f\fR : Request that a still image file of each frame be stored to the indicated directory\&.
+.sp
+\fB\-m\fR : Set the scope operating mode (default=signal)\&. The operating modes are: signal and embed\&.
+.sp
+\fB\-n\fR : Set the number of channels, and therefore the number of JACK input ports (default=1)\&. Multiple channels are superimposed, each channel is drawn in a distinct color\&. There is a compile time channel limit\&.
+.sp
+\fB\-p\fR : A pattern describing the JACK ports to connect to, ie\&. SuperCollider:out_%d (default=nil)\&. If this is not set consults the environment variable JACK_SCOPE_CONNECT_TO\&.
+.sp
+\fB\-u\fR : Set the UDP port number to listen for OSC packets on (default=57140)\&.
+.sp
+\fB\-w\fR : Set the scope size in pixels (default=512)\&. The scope window is square\&.
+.SH "DESCRIPTION"
+.sp
+jack\-scope is an oscilloscope for JACK under X11\&. jack\-scope draws either a time domain signal trace or a self correlation trace\&. Multiple input channels are superimposed, each channel is drawn in a different color\&. jack\-scope accepts OSC packets for interactive control of drawing parameters\&.
+.sp
+The operating mode of jack\-scope is set using \fB\-m\fR\&. In signal mode jack\-scope draws a time domain signal trace, in embed mode jack\-scope draws a self correlation trace\&.
+.sp
+The size of the jack\-scope window is set using \fB\-w\fR, the scope window is square\&. The window is of fixed size and has centered gravity\&. The time interval that is displayed is determined by the frame size, set using \fB\-b\fR\&. The image refresh rate is determined by the delay interval, set using \fB\-d\fR\&. Note that the interval is truncated to the nearest frame boundary and that the time taken to compose the image and blit to the screen is indeterminate\&.
+.sp
+The number of JACK input ports that jack\-scope creates and monitors is set using \fB\-n\fR\&. Multiple channels are drawn in superimposition, each channel is drawn in a distinct color\&.
+.sp
+In signal mode the trace is drawn in a style set using /style\&. In dot mode only the sample pixel in each column is drawn\&. In fill mode all pixels between the sample pixel and the zero pixel of each column are drawn\&. In line mode all pixels between the adjacent sample pixels of each column are drawn\&.
+.sp
+In embed mode the trace is a self correlation signal with a sample delay set using /embed\&. The delayed sample is on the x\-axis\&. The interpolation increment is set using /incr, increment values less than one result in increasingly continuous trace paths\&.
+.sp
+jack\-scope can store the animation as a sequence of uncompressed ppm(5) image files\&. To request this use the \fB\-f\fR option with the directory files should be written to as the argument\&.
+.sp
+The OSC messages understood by jack\-scope are given in the table below\&. Each command requires one argument of the indicated type\&. The last column gives the option that sets the same parameter\&.
+.sp
+Command (Description) Argument, Option
+.br
+/mode (drawing\-mode) string, \-m
+.br
+/style (style) string, N/A
+.br
+/frames (frame\-size) integer, \-b
+.br
+/delay (refresh\-interval) float, \-d
+.br
+/embed (embedding) integer, N/A
+.br
+/incr (increment) float, N/A
+.sp
+jack\-scope implements no connection logic, use jack\-plumbing(1) instead\&.
+.SH "REFERENCES"
+.sp
+Monro, G\&. and Pressing, J\&. \(oq\(oqSound Visualization Using Embedding: The Art and Science of Auditory Autocorrelation\(cq\(cq CMJ, 22/2, 1998\&.
+.SH "AUTHOR"
+.sp
+Rohan Drape http://rd\&.slavepianos\&.org/
+.SH "SEE ALSO"
+.sp
+jackd(1), X(7x), OSC(7) http://opensoundcontrol\&.org/
+.SH "AUTHOR"
+.PP
+\fBRohan Drape\fR <\&rd@slavepianos\&.org\&>
+.RS 4
+Author.
+.RE
diff --git a/audio/jack-tools/man/jack-transport.1 b/audio/jack-tools/man/jack-transport.1
new file mode 100644
index 0000000000000..e4790506d47ee
--- /dev/null
+++ b/audio/jack-tools/man/jack-transport.1
@@ -0,0 +1,77 @@
+'\" t
+.\" Title: jack-transport
+.\" Author: Rohan Drape <rd@slavepianos.org>
+.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
+.\" Date: 06/16/2013
+.\" Manual: \ \&
+.\" Source: \ \&
+.\" Language: English
+.\"
+.TH "JACK\-TRANSPORT" "1" "06/16/2013" "\ \&" "\ \&"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+jack-transport \- Minimalist Jack Transport Interface
+.SH "SYNOPSIS"
+.sp
+jack\-transport
+.SH "DESCRIPTION"
+.sp
+jack\-transport is a minimalist Jack transport control interface using ncurses\&. It displays the transport state and current time, and provides standard operating keys\&.
+.SH "COMMANDS"
+.TP
+\fBs\fR
+Start and stop transport\&. Aliased to [space]\&.
+.TP
+\fBl\fR
+Locate to entered time\&. Starting to type a number will also enter locate mode\&.
+.TP
+\fBi\fR
+Set forward & backward increment to entered interval (default = 5 seconds)\&.
+.TP
+\fBz\fR
+Locate to start (zero)\&.
+.TP
+\fBr\fR
+Erase and refresh screen\&.
+.TP
+\fBf\fR
+Move forwards by increment\&. Aliased to [>] and [right\-arrow]\&.
+.TP
+\fBb\fR
+Move backwards by increment\&. Aliased to [<] and [left\-arrow]\&.
+.TP
+\fBF\fR
+Move forwards one minute\&. Aliased to [\&.] and [up\-arrow]\&.
+.TP
+\fBB\fR
+Skip backwards one minute\&. Aliased to [,] and [down\-arrow]\&.
+.SH "AUTHOR"
+.sp
+Rohan Drape http://rd\&.slavepianos\&.org/
+.SH "SEE ALSO"
+.sp
+jackd(1), jack\-play(1)
+.SH "AUTHOR"
+.PP
+\fBRohan Drape\fR <\&rd@slavepianos\&.org\&>
+.RS 4
+Author.
+.RE
diff --git a/audio/jack-tools/man/jack-udp.1 b/audio/jack-tools/man/jack-udp.1
new file mode 100644
index 0000000000000..6e4e7fffb57e2
--- /dev/null
+++ b/audio/jack-tools/man/jack-udp.1
@@ -0,0 +1,81 @@
+'\" t
+.\" Title: jack-udp
+.\" Author: Rohan Drape <rd@slavepianos.org>
+.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
+.\" Date: 06/16/2013
+.\" Manual: \ \&
+.\" Source: \ \&
+.\" Language: English
+.\"
+.TH "JACK\-UDP" "1" "06/16/2013" "\ \&" "\ \&"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+jack-udp \- JACK UDP Transport Client
+.SH "SYNOPSIS"
+.sp
+jack\-udp [options] send|recv
+.SH "OPTIONS"
+.TP
+\fB\-b\fR
+Set the ring buffer size in frames (default=4096)\&.
+.TP
+\fB\-c\fR
+Set the client name (default=jack\-udp\-PID)\&.
+.TP
+\fB\-n\fR
+Set the number of channels, and therefore the number of JACK ports (default=2)\&.
+.TP
+\fB\-p\fR
+Set the port number (default=57160)\&.
+.TP
+\fB\-r\fR
+The remote host name, for use in send mode (default="127\&.0\&.0\&.1")\&.
+.SH "DESCRIPTION"
+.sp
+jack\-udp is a UDP audio transport mechansim for JACK\&. The send mode reads signals from a set of JACK input ports and sends UDP packets to the indicated port at the indicated host at a rate determined by the local JACK daemon\&. The recv mode reads incoming packets at the indi\- cated port and writes the incoming data to a set of JACK output ports at a rate that is determined by the local JACK daemon\&.
+.sp
+This transport mechanism is unreliable\&. Both send and recv clients will report buffer overflow and underflow occurences, and recv clients will report dropped and out\-of\-order packets, and shutdown on channel mismatch packets\&. In practice this mechanism can be made highly reli\- able over local networks\&.
+.sp
+jack\-udp implements no connection logic, use jack\-plumbing(1) instead\&.
+.SH "EXAMPLE"
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+192\&.0\&.0\&.1:~$ jack\-udp \-r 192\&.0\&.0\&.2 send
+192\&.0\&.0\&.2:~$ jack\-udp recv
+.fi
+.if n \{\
+.RE
+.\}
+.SH "AUTHOR"
+.sp
+Rohan Drape http://rd\&.slavepianos\&.org/
+.SH "SEE ALSO"
+.sp
+jackd(1)
+.SH "AUTHOR"
+.PP
+\fBRohan Drape\fR <\&rd@slavepianos\&.org\&>
+.RS 4
+Author.
+.RE
diff --git a/audio/jack-tools/slack-desc b/audio/jack-tools/slack-desc
index 460bbe45876ad..57c65d401e0b9 100644
--- a/audio/jack-tools/slack-desc
+++ b/audio/jack-tools/slack-desc
@@ -8,9 +8,9 @@
|-----handy-ruler------------------------------------------------------|
jack-tools: jack-tools (tools for jack)
jack-tools:
-jack-tools: This collection contains a bunch of small tools for
-jack-tools: jack-audio-connection-kit written by Rohan Drape for the JACK low
-jack-tools: latency audio API.
+jack-tools: This collection contains a bunch of small tools for JACK
+jack-tools: (jack-audio-connection-kit), written by Rohan Drape.
+jack-tools:
jack-tools:
jack-tools:
jack-tools: