nik gnomic's Linux stuff

IDJC setup with QjackCtl and Pulseaudio

Continued from part 1 of basic configuration to get QjackCtl running JACK server

From default JACK state, audio connections must be removed before launcing IDJC. If default connections are not removed, user will hear audio bypassing IDJC, and possible delay and echo/feedback.

Disconnecting All in JACK manually before launching IDJC is not optimal for regular use.

This page shows one method to load automated connection changes using aj-snapshot

A previous method may be required if package aj-snapshot cannot be installed - see this page

Install aj-snapshot

For any Debian or Ubuntu based distribution, Add repository for aj-snapshot with command:

add-apt-repository ppa:jari-tasankokaiku/ppa && sudo apt-get update

Install aj-snapshot package

apt-get install aj-snapshot

There are also .deb files available from this link for install to Debian/Ubuntu without adding repository

Create JACK default connection snapshot

Start JACK with default connections

Save the default connection state with this command:

aj-snapshot -j ~/JACKscripts/jack_default

To test snapshot is correct
- Open QJackCtl Connections window and click 'Disconnect All'
- Then run command:

aj-snapshot -jr ~/JACKscripts/jack_default

Check JACK connections restore to same state as when JACk first starts

Create IDJC connection snapshot

With JACK and IDJC running and all connections correct, save the connections state

aj-snapshot -j ~/JACKscripts/jack_idjc

To test snapshot is correct, open QJackCtl Connections window, then run command:

aj-snapshot -jrx ~/JACKscripts/jack_idjc

Check JACK connections are cleared and then restored to IDJC correctly
[the additional 'x' option here clears all existing connections before loading new connections]

This command isn't normally needed for automation scripts. However, if IDJC settings connections are lost or not saved correctly, this command will restore known good state. Suggest this command is set as a panel/desktop launch button to restore connections quick whilst on air

Create IDJC start bash script

Create an executable bash script file in .jackscripts directory

echo '#!/bin/bash' > ~/JACKscripts/ && chmod 700 ~/JACKscripts/

Open in text editor

nano ~/JACKscripts/

Add the commands shown below

Excluding first line '#!/bin/bash', additional comment lines beginning with '#' are optional

# Clear default JACK connections
aj-snapshot -jx
# Load IDJC then [&&] wait until IDJC closes before continuing
idjc &&
# Reset default JACK connections
aj-snapshot -rj ~/JACKscripts/jack_default

Create custom IDJC Desktop/Panel launcher

Find IDJC in ubuntu studio menu

Hold down left mouse button and drag to a panel or desktop to create a copy launcher

Right click and select 'Properties'

Edit the idjc start command to '/home/user/.jackscripts/', replace your username for user
Most File managers will show the correct location path to the folder to copy here

Destop Launcher will look like this (except for the username nik)


Panel Launcher looks like this


Remember that only the panel/desktop launcher includes the connection script. If IDJC is started from main menu it will not include the JACK disconnect/re-connect script

Further customisation

If QjackCtl or IDJC is modified with different connections, aj-snapshot can be used to update or create new snapshots. aj-snapshot will ask before over-writing an existing file

A launch script for other JACK applications should only need the command idjc && changed to name of required application(s)

Earlier Articles

Original Ubuntu Studio setup part 1

Ubuntu Studio setup part 2 With alternative method to manage JACK connections

Personal Manjaro setup


manjaro logo
idjc tux