Usage information for Jack

Jack is mostly command line-driven, but there are some options which can only be set by editing the preferences file, typically named $HOME/.jackrc. This file is python code executed at startup so be careful. Invoke Jack with -h for a short description of the command line options.

If you get bored reading documentation, check out the application examples!

Important things to configure in this file:

rename_fmt with this variable you can determine how jack will rename your MP3s after a freedb query. Use "%02i" for track number, "%a" for artist, "%l" for album name and "%t" for track title. Example: "%02i.%a (%l) - %t" which would result in "01.Artist (Album) - Track title.mp3"
rename_fmt_va same as above for "various artists" CDs. For normal CDs I use "%02i.%t.mp3" while I use ""%02i.%a - %t" for VA CDs.
dir_template if rename_dir is set, use this format for naming directories. Again, %a is substituted by the artist, %l is the album's name. I use "%a - %l" but "%a/%l" is also common, every artist then has his own subdir.
my_mailbe sure to set your e-mail address if you are planning to submit freedb entries. Otherwise you won't get feedback.
xtermset_enable I no longer use this since there is now a curses mode. Only set this if you have xtermset installed. When enabled, Jack can - when running in an xterm - adjust the size so all track information is visible. In addition, the xterm is deiconified when all is done.

Everything else is controlled by the command line, try jack --help for a quick summary. You can still change the defaults by editing your .jackrc!

Command line options:

-t, --tracks <tracks> limit ripping and encoding to the specified tracks, use comma to seperate track. Ranges are also possible; 5-9 is equivalent to 5,6,7,8,9; 12- is like specifying track 12,...,last_track. The default is to process the whole CD, I do not know why you would want an incomplete rip, but be my guest.
-b, --bitrate <bitrate> bitrate of the resulting MP3 in kbit/s, default is 160.
-v, --vbr Generate variable bitrate MP3s, only on encoders which support this. Default is no.
-e, --encoders <num_encoders> encode how many MP3s in parallel. If you have a SMP machine or simply want to stress your system, you can have Jack encode several MP3s at once. Default is the number of CPUs I have, which is one.
--otf On-the-fly operation. Only on some encoders/rippers. Do not create WAVs, pipe ripper output through the encoder. Default is no as it's a torture for the CDROM drive (IMHO).
-E, --encoder-name <encoder_name> choose which MP3 encoder to use, valid choices are: blade, lame, l3enc, mp3enc. Note that you may have to install the encoder.
-n, --nice <nice_lvl> nice-level with which the encoders are started. Default is 12 which shouldn't hurt your system much.
-l, --max-load <max_load> only start new encoders if your system's load is below (max_load + num_encoders). If the load is too high, encoding operation is suspended until above criterium is satisfied.
-a, --read-ahead <read_ahead> read how many WAVs in advance. At most read_ahead + num_encoders WAVs are ripped before a track has completely been encoded. Default is 99 which will read the whole CD, provided there is enough disk space.
-r, --reorder optimize track-order for disk space. This can save you some peak disk space during the encoding process; this may make it possible to do a CD which would otherwise fail to be encoded.
-s, --space <free_space> forcably set usable diskspace, in bytes. This option lets you limit the disk space Jack uses, maybe you need it for something else? Be careful: if set too high, ripping and encoding will probably fail. The default is to look how much is free and to use this value.
-o, --overwrite overwrite existing WAVs and MP3s, i.e. do not check if already ripped WAVs or an already encoded MP3s seem to be ok. Use this if you know something went wrong last time. This is off by default.
-O, --only-dae only produce WAVs, implies --keep-wavs. This is off by default.
-k, --keep-wavs do not delete WAVs after encoding them. Maybe you still need them.
-f, --from-tocfile <toc_file> rip from CD image on hd. This option is a somewhat special option. There are two reasons for it's existance:
  • When I copy a CD for my car stereo, most of the time I also want to have it as MP3s. To copy a CD, I use the exellent tool cdrdao. This works best when having the whole CD in a single WAV file, which I call the image. It also needs a so-called toc-file containing the track, pregap, index, CD-TEXT, ... information. If I use this image as the source, I do not have to rip the CD a second time. My cdrom probably likes that.
  • same cdrdao has a great way of doing a bit-wise exact copy of the CD using special Plextor-commands. This is superiour to cdparanoia as "bad" samples can be detected and - hopefully - repaired.
The specified toc-file contains the name of the image file.
-F, --from-image <image_file> read audio data from image file. Like --from-tocfile, but the image itself is specified instead of the tocfile. Use this if you do not have a toc-file; the TOC is the read from the CD itself.
-S, --swab swap byteorder from image file. As cdrdao momentarily only outputs "raw" .cdr files, you quite likely want to swap the byteorder. Try this option if your WAVs and MP3s contain only noise (no, not the noise I call music, the pseudo-random one). This is on by default as cdrdao currently generates .cdr files that are "wrong".
-c, --check-toc compare toc-file and cd-toc, then exit. Jack caches the TOC of a CD in a file ("jack.toc"). If you want to know if the inserted CD matches the toc-file in the current directory, use this option.
-g, --guess-toc <mp3_files> make up a TOC from the MP3 file given in mp3_files. Format is:
track_01.mp3 ... track_nn.mp3 ;
Note that the trailing ";" is only necessary if you want to append more options to your command line. This option makes me especially proud. You can use it to do a freedb query based on MP3s alone - no need for the CD. Very useful if you have no idea which CD the MP3s are from. The MP3s must be given in the same order as they were on their CD. The generated TOC file is similar, but not identical to the TOC of the CD - do not submit these!
--various when parsing freedb data, jack assumes that if the disc's artist is set to "Various Artists" the track titles have the format "[artist] - [title]". If the disc title is set to something else and you still want above behaviour, use --various.
--no-various use this if freedb data says it't "Various Artists" but you want the normal renaming scheme, e.g. if Jack can't seperate artist and track title.
--remove have jack remove it's temp files. See below for details on these files. Be careful - don't delete them too early!
--upd-progress have jack re-create it's temp files. Use this if you deleted them too early.
-d, --dont-work don't do DAE or encoding. This may be useful if you only want to do a freedb query.
-D, --create-dirs tells Jack to create sub-directories in which Jack puts all the files for the current CD. If no freedb data is available, i.e. when not using -Q, these directorys will be named "jack-xxxxxxxx" where "xxxxxxxx" stands for the CD's freedb-id. Otherwise dir_template (see above) will be used.
--todo print what would be done and exit.

The following options are needed for freedb queries:

-q, --query do freedb query when all is done. This is useful if Jack was prior run without a freedb query. If all tracks are done you don't even have to have a CD inserted as the TOC is cached by Jack. After having finished ripping and encoding, Jack will rename the MP3s and tag them using Ben Gertzfield's module
-Q, --query-now do freedb query when starting. Use this if you are connected to the internet when starting jack. Know that the query may need user-interaction. After having finished ripping and encoding, Jack will rename the MP3s and tag them using Ben Gertzfield's module
-R, --rename-only rename and tag files according to freedb file. On startup, Jack creates a blank freedb entry file (except if --query-now is used, then the file is queried from your freedb server). If you have changed it's contents (e.g. because the CD was unknown to freedb) and want to rename and tag your MP3s accordingly, use this option.
-u, --undo-rename undo file renaming and exit. If you don't like how jack renamed your files, use this option to restore the previous state. Note that ID3 tags are not restored.
-m, --mail-submit submit freedb entry via e-mail. HTTP submission is preferred but while freedb only supports submission by e-mail you have to use this. You will have to enter the category of the CD.
-M, --mail-address <submit_addr> when submitting a database entry via e-mail, use this option to specify the address the entry is mailed to. Default is
--my-email <your_mail> use this to specify which e-mail address submission results are mailed to. Please use your real e-mail address.
--submit submit freedb entry via HTTP. You will have to enter the category of the CD. At the moment, this does not work with freedb. Or with a buggy urllib.
--server <freedb_server> which freedb server to use. Don't forget to set your proxy. Default server is
--force do not ask. Like when deleting incomplete (?!) files.

Jack creates a couple of files when running:
  • jack.toc
  • The CD TOC (Table Of Contents) is cached here. Will be re-created if deleted but be careful to insert the matching CD!
  • jack.freedb
  • when you are not telling jack to do a freedb query, this file is created as a freedb template file which you can fill out yourself. When using --query or --query-now it is filled with the query-result. Existing files are backed up as jack.freedb.bak.
  • jack.progress
  • Status (main) screen output is cached here. When resuming work, previously finished processes' output is still displayed. Jack also uses this file to mark ripping/encoding steps as done, so if you delete this file, everything is done again!
    Do not delete these files too early, this may case frustration!

    Wanna go home or do you wanna know how to install Jack?

    "All trademarks are owned by their owners" or whatever I have to state.
    © Arne Zellentin,
    (changed: 19-Aug-99)