Skip to content
Simple text-mode interface for handling JACK connections
C++ Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
PKGBUILD
README
esjit.1
esjit.cpp

README

esjit is a simple console-based utility to handle jack-audio-connection-kit
connections.

- written in C++, for Linux-like systems only
- aimed for people who find
	(A) QJackQtl too heavy (heck, you don't even need X to record sound!)
	(B) JACK's own command line tools not usable enough

Features:
- lists the available ports
- displays the connections between the ports (not as nicely as QJackCtl, but
  you can only do so much in the console...)
- easy creation and destruction of connections
- the connection setup can be saved and reloaded (like with jack_snapshot)

Not featured:
- callbacks; you will have to refresh manually to see external changes
- starting/stopping jackd -- just use the command line
- any MIDI stuff

Dependencies:
- JACK (obviously)
- C++ boost


License:
none


Contact:
onnir the-at-sign iki the-dot fi


Compile:
g++ [-O2] -o esjit esjit.cpp -ljack


Usage:
The following commands are recognized. You can enter "h" to review them
from inside the program.

- "Q": quit esjit

- "r": refresh list of connections; done automatically when the connections are
  modified by esjit itself
- "c N M", where N and M are numbers: connect ports numbered N and M (the
  numbering is displayed next to the port names)
- "d N M": disconnect ports numbered N and M
- "D": remove all connections
- "C <file>": store the connection setup to <file>.
- "R <file>": recall the connection setup from file <file>.
  This obviously only fills the connections for those ports that are present
  both in the file and in the current setup.

- "s": shows JACK server info and statistics
- "x": reset maximum delay counter (shown in the statistics)
- "i": print more detailed info on the ports (but not the connections)

For the files, either give full path, or if not, the file is created in or
looked for in the working directory. It is possible to manually edit the
file, too: it is just a textfile, e.g.:

#A comment line.
output_port
	connected_input_port
	another_connected_input_port
another_output_port
#Note that the input ports start with a tab, '\t'.
	connected_input_port

This system has the same flaw as jack_snapshot, namely that if clients do
not use the same port names always but assign them dynamically, then this
system will likely fail to restore their connections. A partial workaround
is to, if possible, tell the client to use a specific port name.

You can’t perform that action at this time.