Skip to main content

Auto-connect new JACK ports.

Project description

Auto-connect JACK ports as they appear and match the patterns given on the command line.

Description

A small command line utility that reacts to JACK port registrations by clients and connects them when they match one of the port pattern pairs given on the command line at startup.

The port name patterns are specified as pairs of positional arguments and are interpreted as Python regular expressions, where the first pattern of a pair is matched against output (readable) ports and the second pattern of a pair is matched against input (writable) ports. Matching is done against the normal port names as well as any aliases they have (run “jack-matchmaker -la” to list all available ports with their aliases).

As many pattern pairs as needed can be given.

Usage

Automatically connect the first two ports of Fluidsynth to the audio outs:

jack-matchmaker "fluidsynth:l_01" "system:playback_1" \
                "fluidsynth:r_01" "system:playback_2"

Both the output port and the input port patterns can be regular expressions. If a match is found on an output port, the matching port will be connected to all input ports, which match the corresponding input port pattern:

jack-matchmaker "fluidsynth:l_\d+" "system:playback_[13]" \
                "fluidsynth:r_\d+" "system:playback_[24]"

You can also use named regular expression groups in the output port pattern and fill the strings they match to into placeholders in the input port pattern:

jack-matchmaker "system:midi_capture_(?P<num>\d+)" \
                "mydaw:midi_in_track_{num}"

Run jack-matchmaker -h (or --help) to show help on the available command line options.

Requirements

  • A version of Python 3 with a ctypes module (i.e. PyPy 3 works too) .

  • JACK version 1 or 2.

  • Linux, OS X (untested) or Windows (untested).

Acknowledgements

jack-matchmaker is written in Python and incorporates the jacklib module taken from falkTX’s Cadence application.

It was inspired by jack-autoconnect, which also auto-connects JACK ports, but doesn’t support port aliases. jack-autoconnect also written in C++, and therefore probably faster and less memory hungry.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

jack-matchmaker-0.2.1.zip (25.4 kB view hashes)

Uploaded Source

jack-matchmaker-0.2.1.tar.gz (20.6 kB view hashes)

Uploaded Source

Built Distribution

jack_matchmaker-0.2.1-py3-none-any.whl (17.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page