2
Copyright (C) 1999, 2005 Rocky Bernstein
4
This program is free software; you can redistribute it and/or modify
5
it under the terms of the GNU General Public License as published by
6
the Free Software Foundation; either version 2 of the License, or
7
(at your option) any later version.
9
This program is distributed in the hope that it will be useful,
10
but WITHOUT ANY WARRANTY; without even the implied warranty of
11
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
GNU General Public License for more details.
14
You should have received a copy of the GNU General Public License
15
along with this program; if not, write to the Free Software
16
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18
const char usage_help[] =
20
" cd-paranoia [options] <span> [outfile]\n"
23
" -v --verbose : extra verbose operation\n"
24
" -q --quiet : quiet operation\n"
25
" -e --stderr-progress : force output of progress information to\n"
26
" stderr (for wrapper scripts)\n"
27
" -V --version : print version info and quit\n"
28
" -Q --query : autosense drive, query disc and quit\n"
29
" -B --batch : 'batch' mode (saves each track to a\n"
31
" -s --search-for-drive : do an exhaustive search for drive\n"
32
" -h --help : print help\n"
34
" -p --output-raw : output raw 16 bit PCM in host byte \n"
36
" -r --output-raw-little-endian : output raw 16 bit little-endian PCM\n"
37
" -R --output-raw-big-endian : output raw 16 bit big-endian PCM\n"
38
" -w --output-wav : output as WAV file (default)\n"
39
" -f --output-aiff : output as AIFF file\n"
40
" -a --output-aifc : output as AIFF-C file\n"
42
" -c --force-cdrom-little-endian : force treating drive as little endian\n"
43
" -C --force-cdrom-big-endian : force treating drive as big endian\n"
44
" -n --force-default-sectors <n> : force default number of sectors in read\n"
46
" -o --force-search-overlap <n> : force minimum overlap search during\n"
47
" verification to n sectors\n"
48
" -d --force-cdrom-device <dev> : use specified device; disallow \n"
50
" -g --force-generic-device <dev> : really an alias for -d. Kept for \n"
52
" -S --force-read-speed <n> : read from device at specified speed\n"
53
" -t --toc-offset <n> : Add <n> sectors to the values reported\n"
54
" when addressing tracks. May be negative\n"
55
" -T --toc-bias : Assume that the beginning offset of \n"
56
" track 1 as reported in the TOC will be\n"
57
" addressed as LBA 0. Necessary for some\n"
58
" Toshiba drives to get track boundaries\n"
60
" -m --mmc-timeout <n> : Set SCSI-MMC timeout to <n> seconds.\n"
61
" -O --sample-offset <n> : Add <n> samples to the offset when\n"
62
" reading data. May be negative.\n"
63
" -z --never-skip[=n] : never accept any less than perfect\n"
64
" data reconstruction (don't allow 'V's)\n"
65
" but if [n] is given, skip after [n]\n"
66
" retries without progress.\n"
67
" -Z --disable-paranoia : disable all paranoia checking\n"
68
" -Y --disable-extra-paranoia : only do cdda2wav-style overlap checking\n"
69
" -X --abort-on-skip : abort on imperfect reads/skips\n"
70
" -x --test-flags=mask : simulate CD-reading errors of ilk-mask n\n"
71
" mask & 0x10 - simulate underrun errors\n"
74
" :-) Normal operation, low/no jitter\n"
75
" :-| Normal operation, considerable jitter\n"
77
" :-P Unreported loss of streaming in atomic read operation\n"
78
" 8-| Finding read problems at same point during reread; hard to correct\n"
79
" :-0 SCSI/ATAPI transport error\n"
80
" :-( Scratch detected\n"
81
" ;-( Gave up trying to perform a correction\n"
82
" 8-X Aborted (as per -X) due to a scratch/skip\n"
83
" :^D Finished extracting\n"
85
"PROGRESS BAR SYMBOLS:\n"
86
"<space> No corrections needed\n"
87
" - Jitter correction required\n"
88
" + Unreported loss of streaming/other error in read\n"
89
" ! Errors are getting through stage 1 but corrected in stage2\n"
90
" e SCSI/ATAPI transport error (corrected)\n"
91
" V Uncorrected error/skip\n"
94
"The span argument may be a simple track number or a offset/span\n"
95
"specification. The syntax of an offset/span takes the rough form:\n"
97
" 1[ww:xx:yy.zz]-2[aa:bb:cc.dd] \n"
99
"Here, 1 and 2 are track numbers; the numbers in brackets provide a\n"
100
"finer grained offset within a particular track. [aa:bb:cc.dd] is in\n"
101
"hours/minutes/seconds/sectors format. Zero fields need not be\n"
102
"specified: [::20], [:20], [20], [20.], etc, would be interpreted as\n"
103
"twenty seconds, [10:] would be ten minutes, [.30] would be thirty\n"
104
"sectors (75 sectors per second).\n"
106
"When only a single offset is supplied, it is interpreted as a starting\n"
107
"offset and ripping will continue to the end of he track. If a single\n"
108
"offset is preceeded or followed by a hyphen, the implicit missing\n"
109
"offset is taken to be the start or end of the disc, respectively. Thus:\n"
111
" 1:[20.35] Specifies ripping from track 1, second 20, sector 35 to \n"
112
" the end of track 1.\n"
114
" 1:[20.35]- Specifies ripping from 1[20.35] to the end of the disc\n"
116
" -2 Specifies ripping from the beginning of the disc up to\n"
117
" (and including) track 2\n"
119
" -2:[30.35] Specifies ripping from the beginning of the disc up to\n"
122
" 2-4 Specifies ripping from the beginning of track two to the\n"
125
"Don't forget to protect square brackets and preceeding hyphens from\n"
128
"A few examples, protected from the shell:\n"
129
" A) query only with exhaustive search for a drive and full reporting\n"
131
" cd-paranoia -vsQ\n"
133
" B) extract up to and including track 3, putting each track in a seperate\n"
135
" cd-paranoia -B -- \"-3\"\n"
137
" C) extract from track 1, time 0:30.12 to 1:10.00:\n"
138
" cd-paranoia \"[:30.12]-1[1:10]\"\n"
140
"Submit bug reports to bug-libcdio@gnu.org\n"