summaryrefslogtreecommitdiff
path: root/audio/jack-tools/man/jack-plumbing.1
blob: 27ca35d501975786407dcd959e9c486d9a7f286e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
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