'\" t .\" Title: jack-plumbing .\" Author: Rohan Drape .\" Generator: DocBook XSL Stylesheets v1.76.1 .\" 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