**This is an old revision of the document!**

AJ-Snapshot

Aj-snapshot is the simplest-possible session logger for JACK.

Strengths [Weaknesses]

Simple

Aj-snapshot is one command. It takes a snapshot of your session, and that's all it does. No new window to open, no complex configuration file required.

Human-readable

The output of aj-snapshot is a human-readable XML file, so even if you don't have aj-snapshot on a computer, you can open and read the specs of a session.

Weaknesses [Strengths]

Simple

Because it is so simple, it is a mostly manual tool. It does not restore your session beyond the actual sound routing (JACK and ALSA connections). This may be too simplistic for a user who wants applications launched, patch banks and settings loaded, and so on.

What is Session Management?

It's not uncommon for a musician to use several different applications when creating just one piece of music, and a completely different set of music applications for the next piece. The problem of remembering what applications got used for what, which sound banks were loaded for which piece, what sound output was plugged into what input, and what an effect unit was set at, becomes overwhelming very quickly.

The problem is not new; synth artists and studio engineers have been keeping notebooks detailing how different songs are “configured” since at least th 70s, but since the studio has moved into the computer, it only makes since to make it a problem for the computer rather than for the artist.

The solution is session management, and there are several approaches. As usual with Slackermedia, you should find the solution that works best for you; aj-snapshot is only one option of many.

Install

Install aj-snapshot from http://slackbuilds.org or manually from http://aj-snapshot.sourceforge.net.

Using aj-snapshot

Aj-snapshot is not a tool you use early in your work, since it's basically useless until you have something to take a snapshot of. Once you have configured a rig that you like, then take a moment to take a snapshot of your routing setup:

$ aj-snapshot rig.aj

where rig.aj is the filename that will be created for the snapshot. This file can be stored any where, and it's up to you how to organise your files; Slackermedia recommends storing your snapshots with your music project files.

If a file with the same name exists in the destination directory, aj-snapshot offers to overwrite it. Force aj-snapshot to overwrite existing files with the -f (–force) option.

A snapshot contains all active ALSA and JACK connections. (You can exclude one or the other, but by default both are stored.)

Restoring a Session

When you need to resume work on a project, you should start JACK, any graphical JACK frontend that you use (such as Patchage or QJackCtl), your DAW, and any applications you are using external of your DAW (stand-alone synths and effects), and then run aj-snapshot:

$ aj-snapshot --restore rig.aj

All of your connections are restored, and you can continue working.

When you restore connections with aj-snapshot, the default behaviour is to leave all existing connections untouched and to add the connections from the snapshot file on top of those. If you want to restore the exact state of the system, you must tell aj-snapshot to remove all existing connections before doing the restore:

$ aj-snapshot --remove --restore rig.aj

You can use –remove (-x) to remove all existing connections without any further action.

$ aj-snapshot -x

Things Not Logged by Aj-Snapshot

See Also
QJackCtl
Non
JACK
Cadence