Man Linux: Main Page and Category List

NAME

       jack.plumbing - JACK Plumbing Daemon

SYNOPSIS

       jack.plumbing

DESCRIPTION

       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.

       There are three rules: connect, also-connect and connect-exclusive.

       The rule:

         (connect "SuperCollider:out_(.*)" "alsa_pcm:playback_\1")

       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.

       The rule:

         (also-connect "alsa_pcm:playback_1"  "jack.udp-[0-9]*:in_1")

       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.

       The rule:

         (connect-exclusive "SuperCollider:out_(.*)" "ardour:sc3_in_\1/in 1")

       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.

       This type of connection daemon has the following advantages  over  both
       environment  variables  and  command  line  arguments:  1.  it does not
       require any client connection support or logic at all, 2. it provides a
       uniform  user  interface  to  all  clients,  and  3.  it has a somewhat
       declarative style.

       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.

       When  a  set  of  port registrations is made it checks the modification
       time of the rule set files,  /etc/jack.plumbing  and  ~/.jack.plumbing,
       re-reads the rule set if it has been updated, then makes the JACK graph
       obey the rules.

       Any lines beginning with a semi-colon are ignored.

BUGS

       The present implementation does not sort the rule set,  rules  must  be
       written  in  sequence,  that is connect-exclusive rules must come after
       connect rules.

FILES

       /etc/jack.plumbing
       ~/.jack.plumbing

SEE ALSO

       jackd(1)

AUTHORS

       Rohan Drape.