Frequently Asked Questions

Status
======


Q: What is the copyright status of icedax?

A: icedax is software copyrighted by Heiko Eissfeldt and others, and
   released under the General Public License from the Free Software
   Foundation (see file GPL).

Compilation
===========


Q: What are the requirements to run icedax?

A: All operating systems that are supported by wodim should also be able to
   run icedax. Currently DOS and Windows are not covered.
   Requirements of previous versions of icedax have been cut down for the
   sake of portability. Features like fork(), realtime scheduling, or shared
   memory are all optional now. You need Cmake and its dependencies, an
   ANSI C compiler and a C library to build icedax
   on a supported operating system. To run icedax, a SCSI transport
   implementation for the os, a cdrom or cd burner device to read from, and
   at least say 65K of memory for buffers are needed.


Q: Why does it not compile under Linux, although I am using the newest kernel?

A: There have been changes in the generic driver by Douglas Gilbert, that are
   in its first release not compatible with the scsi library from Joerg
   Schilling. We are working on this problem...
   In the meantime better do not use this variant, use the older one instead.


Q: Why does it not compile using standard make?

A: Like wodim, icedax uses the cmake system, which requires a
   sophisticated make program like GNU make.
   Pure posix make functionality is not enough.

Setting Up (for now Linux only)
===============================


Q: Should I use scsi emulation or the eide driver for my ATAPI cdrom drive?

A: Scsi emulation is preferred, since it enables icedax to use more commands
   and is often the only way to get special information like track titles with
   cd-text. The emulation module is called ide-scsi, the eide module is called
   ide-cd.


Q: How can I use my parallel-port-connected cdrom with icedax?

A: Under Linux there is a driver, that makes this device under SCSI
   emulation available. For more information see the wodim documentation.


Q: How do I check, if the current Linux kernel does support generic SCSI?

A: run 'cat /proc/devices | grep "21 sg"' and see, if a line with 'sg' appears.
   If it does not appear, the current kernel is not able to use the generic_scsi
   interface. If you have generic SCSI support compiled as a module, see next
   question, otherwise you need to recompile the kernel and enable generic SCSI.
   You might try to use the 'cooked_ioctl' interface as a last resort, but then
   you need to supply a cdrom device with -D (like -D/dev/cdrom). In this case
   icedax completely relies on the cdda reading methods from the kernel
   driver, so it might not work (due to unsupported). 


Q: How do I load the generic SCSI module by hand?

A: run 'insmod sg' and check the result (see above).


Q: How do I find the device setting for my drive?

A: Under Linux use the script scan_scsi.Linux. It prints the available devices
   and their respective device option to be used.
   Be aware of the fact that the generic device naming may change whenever the
   devices on the SCSI bus change (present or not present).

General usage (sampling)
========================


Q: How do I record the whole cd, each track in a seperate file?

A: Use the '-B' option. This will automagically create a file for each track.


Q: How do I record the whole cd into one file?

A: Just extend the default recording time from one track to a big enough
   time in seconds to cover the whole cd (like -d99999).


Q: How do I record successive tracks (a track range) into seperate files?

A: Use the '-B' option and -t<first tracknumber>+<last track number>.


Q: How do I record successive tracks (a track range) into one file?

A: Use -t<first tracknumber>+<last track number>.


Q: How do I record different tracks into seperate files with individual file
   names?

A: Use the supplied script 'readmult'. For usage see the comments at the
   beginning of the script.


Q: How can I get the highest speed out of icedax?

A: See the file README. There is a section about performance and what is
   influencing it.


Q: How can I burn audio cds with icedax and wodim on-the-fly?

A: This has not been tested very well, so caveat emptor. It is possible to
   use icedax and wodim with pipes, _but_ there are several issues.
   1.: The cd drive may become too slow to keep wodim's buffer happy, when
       a scratch on the audio cd is encountered, and several retries take place.
   2.: Currently there is no way to carry individual track information from
       icedax to wodim.  Several information bits are available very late
       but are needed in advance from wodim.
   3.: Some operating systems have limitations in multiple SCSI accesses and
       other resources (shared memory). icedax and wodim may block each
       other, or might fight over limited resources.
   For these reasons it is not recommended to burn on-the-fly with icedax.

Frontends
=========


Q: Which frontends for icedax are available?

A: See the file 'Frontends'. There are command line and graphical frontends.

Album and track titles
======================


Q: Does icedax support titles from cd extra (aka cd plus aka enhanced cd)?

A: In general, yes. In order to get this information, icedax needs to read
   a data sector from the second session of the cd. This requires multisession
   support and the capability to read XA sectors. The titles are printed on the
   screen and written into the inf files, then.


Q: Does icedax support titles from cd-text?

A: Newer versions support the most important features of cd-text like titles
   and creators. Non-supported are currently 16-bit characters, so asian
   titles etc. are currently not available.


Q: Does icedax support CDDB ids?

A: Yes, while it does not make CDDB lookups itself, it supplies an cddb file
   with the table of contents and the cddb id. For cddb lookups see the
   perl script tracknames.pl and tracknames.txt. If the titles are known to
   icedax, it fills the titles itself in the cddb file.


Q: What is the MCN?

A: The media catalog number is an unique id for the audio cd release. It is
   similar to the ISBN for books, but unfortunately it is included only on
   some audio cds.


Q: What is the ISRC?

A: The International Standard Record Code is an unique id for a track. Like the
   MCN (see above) it is an optional item.

MP3 coding
==========


Q: Does icedax support on-the-fly mp3-coding?

A: Yes. As of version 1.9alpha I integrated the LAME encoding engine as a new
   output format.
   To support external encoders, I added two scripts. The trick
   is to avoid big temporary files. There are three versions (cdda2mp3.file,
   cdda2mp3.pipe, and cdda2mp3.fifo), the first using files, the second uses
   pipes, and the last uses a named pipe (also called fifo). The examples
   use the Fraunhofer encoder 'l3enc', which is a commercial product and has
   to be purchased seperately. Other encoders should be usable in a similar way.

Conversions
===========


Q: How do I create a file suitable for cd burning?

A: If you are using wodim, you can produce cdr or wav files.  To select
   cdr files, use -Ocdr, to select wav files use -Owav (the default).
   Audio files that have been recorded with a length not a multiple of the 
   audio sector size 2352 bytes, should be used with wodim's -pad option.


Q: How do I convert a wav file into a cdr file (my other cd burning program
   does not accept wav format)?

A: Use 'dd if=wavfile of=cdrfile conv=swab ibs=44 skip=1 obs=2352' 


Q: How to convert cdr to wav?

A: Use sox, the sound utility. It supports other formats as well.

Specials
========


Q: Does icedax support the pre-emphasis bit?

A: If the table of contents marks a track as pre-emphasized, the corresponding
   inf file will have this information, too. That enables a cd burning program
   to retain the state of the track.


Q: Can icedax undo the pre-emphasis effect in the samples?

A: Yes, if the -T option is given (and cd quality is selected),
   icedax filters the samples with the reverse emphasis on-the-fly. This has
   been checked with a sine sweep from a pre-emphasized test cd.


Q: My cdrom delivers the stereo channels swapped. How can I undo this?

A: Use the -cs option.


Q: Does icedax support indices?

A: Yes, but since there are positioning problems with a lot of drives,
   information might be inaccurate. A start index can be specified with the
   -i option. To get all indices, use the -v7 option.


Q: Can icedax avoid including the pre-gap region at the end of the track?

A: Currently not. This might be added later, but is not easily done.


Q: How can I get all information about the cd without writing files?

A: Use the -J option, which switches analysis to the max, and aborts after
   the report.


Q: Can icedax display/save the graphics on my CD+graphics disc?

A: No, this is not planned. A seperate X11 program could do that probably
   better.


Q: Can icedax read the audio portion from my CD-I/Video-CD/DVD mpeg streams?

A: No, these are special formats, which require much more effort.

User support/feedback
=====================


Q: icedax is great. How can I support you to encourage further development?

A: Look into the file NEEDED. Also constructive criticism and feedback is
   appreciated.


Q: I want to port cdrkit (wodim/genisoimage/icedax) to a new platform (like
   DJGPP,cygwin,os/2). How should I proceed?

A: It would be convenient to have a unix like environment (like cygwin provides)
   A shell, and a make program would be needed to first create smake (in order
   to make the makefile system working). Another critical component is autoconf.
   Once that is running, os dependent interfaces and the SCSI library should be
   adjusted. For the makefile system and the scsi library please contact Joerg
   Schilling.


Q: icedax sucks. Are there other alternatives available?

A: Yes, for Linux you might try 'cdparanoia' from Monty (see README file).
