Remove more paranoia code
This commit is contained in:
12
src/cd-paranoia/.gitignore
vendored
12
src/cd-paranoia/.gitignore
vendored
@@ -1,12 +0,0 @@
|
|||||||
/*.exe
|
|
||||||
/*.o
|
|
||||||
/.deps
|
|
||||||
/.libs
|
|
||||||
/Makefile
|
|
||||||
/Makefile.in
|
|
||||||
/cd-paranoia
|
|
||||||
/*.orig
|
|
||||||
/*~
|
|
||||||
/*.rej
|
|
||||||
/usage.h
|
|
||||||
/usage.txt
|
|
||||||
@@ -1,57 +0,0 @@
|
|||||||
# Copyright (C) 2004, 2005, 2006, 2007, 2008,
|
|
||||||
# Rocky Bernstein <rocky@gnu.org>
|
|
||||||
# Copyright (C) 1998 Monty xiphmont@mit.edu
|
|
||||||
#
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation, either version 3 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
transform = s,cd-paranoia,@CDPARANOIA_NAME@,
|
|
||||||
|
|
||||||
if BUILD_CD_PARANOIA
|
|
||||||
|
|
||||||
SUBDIRS = doc
|
|
||||||
|
|
||||||
GETOPT_C = getopt1.c getopt.c
|
|
||||||
|
|
||||||
EXTRA_DIST = usage.txt.in usage-copy.h pod2c.pl \
|
|
||||||
doc/FAQ.txt doc/overlapdef.txt $(GETOPT_C) getopt.h
|
|
||||||
|
|
||||||
noinst_HEADERS = header.h report.h $(GETOPT_H)
|
|
||||||
|
|
||||||
cd_paranoia_SOURCES = cd-paranoia.c \
|
|
||||||
buffering_write.c buffering_write.h \
|
|
||||||
header.c report.c utils.h version.h $(GETOPT_C)
|
|
||||||
|
|
||||||
cd_paranoia_LDADD = $(LIBCDIO_LIBS) $(LIBCDIO_CDDA_LIBS) $(LIBCDIO_PARANOIA_LIBS) $(LTLIBICONV)
|
|
||||||
|
|
||||||
cd_paranoia_DEPENDENCIES = $(LIBCDIO_DEPS) $(LIBCDIO_CDDA_LIBS) $(LIBCDIO_PARANOIA_LIBS)
|
|
||||||
|
|
||||||
bin_PROGRAMS = cd-paranoia
|
|
||||||
|
|
||||||
INCLUDES = -I$(top_srcdir) $(LIBCDIO_CFLAGS)
|
|
||||||
|
|
||||||
cd-paranoia.$(OBJEXT): usage.h
|
|
||||||
|
|
||||||
#: create header file used in help text: the "usage" help.
|
|
||||||
if HAVE_PERL
|
|
||||||
usage.h: usage.txt $(srcdir)/pod2c.pl
|
|
||||||
$(PERL) $(srcdir)/pod2c.pl usage.txt >usage.h
|
|
||||||
else
|
|
||||||
usage.h: usage-copy.h
|
|
||||||
cp usage-copy.h $@
|
|
||||||
endif
|
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
||||||
MOSTLYCLEANFILES = usage.h usage.txt
|
|
||||||
|
|
||||||
@@ -1,112 +0,0 @@
|
|||||||
/*
|
|
||||||
$Id: buffering_write.c,v 1.4 2008/06/19 15:44:28 flameeyes Exp $
|
|
||||||
|
|
||||||
Copyright (C) 2004, 2008 Rocky Bernstein <rocky@gnu.org>
|
|
||||||
Copyright (C) 1998, 1999 Monty <xiphmont@mit.edu>
|
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Eliminate teeny little writes. patch submitted by
|
|
||||||
Rob Ross <rbross@parl.ces.clemson.edu> --Monty 19991008 */
|
|
||||||
|
|
||||||
#include <string.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <errno.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
#define OUTBUFSZ 32*1024
|
|
||||||
|
|
||||||
#include "utils.h"
|
|
||||||
#include "buffering_write.h"
|
|
||||||
|
|
||||||
|
|
||||||
/* GLOBALS FOR BUFFERING CALLS */
|
|
||||||
static int bw_fd = -1;
|
|
||||||
static long bw_pos = 0;
|
|
||||||
static char bw_outbuf[OUTBUFSZ];
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static long int
|
|
||||||
blocking_write(int outf, char *buffer, long num){
|
|
||||||
long int words=0,temp;
|
|
||||||
|
|
||||||
while(words<num){
|
|
||||||
temp=write(outf,buffer+words,num-words);
|
|
||||||
if(temp==-1){
|
|
||||||
if(errno!=EINTR && errno!=EAGAIN)
|
|
||||||
return(-1);
|
|
||||||
temp=0;
|
|
||||||
}
|
|
||||||
words+=temp;
|
|
||||||
}
|
|
||||||
return(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
/** buffering_write() - buffers data to a specified size before writing.
|
|
||||||
*
|
|
||||||
* Restrictions:
|
|
||||||
* - MUST CALL BUFFERING_CLOSE() WHEN FINISHED!!!
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
long int
|
|
||||||
buffering_write(int fd, char *buffer, long num)
|
|
||||||
{
|
|
||||||
if (fd != bw_fd) {
|
|
||||||
/* clean up after buffering for some other file */
|
|
||||||
if (bw_fd >= 0 && bw_pos > 0) {
|
|
||||||
if (blocking_write(bw_fd, bw_outbuf, bw_pos)) {
|
|
||||||
perror("write (in buffering_write, flushing)");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
bw_fd = fd;
|
|
||||||
bw_pos = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (bw_pos + num > OUTBUFSZ) {
|
|
||||||
/* fill our buffer first, then write, then modify buffer and num */
|
|
||||||
memcpy(&bw_outbuf[bw_pos], buffer, OUTBUFSZ - bw_pos);
|
|
||||||
if (blocking_write(fd, bw_outbuf, OUTBUFSZ)) {
|
|
||||||
perror("write (in buffering_write, full buffer)");
|
|
||||||
return(-1);
|
|
||||||
}
|
|
||||||
num -= (OUTBUFSZ - bw_pos);
|
|
||||||
buffer += (OUTBUFSZ - bw_pos);
|
|
||||||
bw_pos = 0;
|
|
||||||
}
|
|
||||||
/* save data */
|
|
||||||
memcpy(&bw_outbuf[bw_pos], buffer, num);
|
|
||||||
bw_pos += num;
|
|
||||||
|
|
||||||
return(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
/** buffering_close() - writes out remaining buffered data before
|
|
||||||
* closing file.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
int
|
|
||||||
buffering_close(int fd)
|
|
||||||
{
|
|
||||||
if (fd == bw_fd && bw_pos > 0) {
|
|
||||||
/* write out remaining data and clean up */
|
|
||||||
if (blocking_write(fd, bw_outbuf, bw_pos)) {
|
|
||||||
perror("write (in buffering_close)");
|
|
||||||
}
|
|
||||||
bw_fd = -1;
|
|
||||||
bw_pos = 0;
|
|
||||||
}
|
|
||||||
return(close(fd));
|
|
||||||
}
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
/*
|
|
||||||
$Id: buffering_write.h,v 1.4 2008/06/19 15:44:30 flameeyes Exp $
|
|
||||||
|
|
||||||
Copyright (C) 2004, 2008 Rocky Bernstein <rocky@gnu.org>
|
|
||||||
Copyright (C) 1998 Monty <xiphmont@mit.edu>
|
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** buffering_write() - buffers data to a specified size before writing.
|
|
||||||
*
|
|
||||||
* Restrictions:
|
|
||||||
* - MUST CALL BUFFERING_CLOSE() WHEN FINISHED!!!
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
extern long buffering_write(int outf, char *buffer, long num);
|
|
||||||
|
|
||||||
/** buffering_close() - writes out remaining buffered data before
|
|
||||||
* closing file.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
extern int buffering_close(int fd);
|
|
||||||
|
|
||||||
|
|
||||||
File diff suppressed because it is too large
Load Diff
2
src/cd-paranoia/doc/.gitignore
vendored
2
src/cd-paranoia/doc/.gitignore
vendored
@@ -1,2 +0,0 @@
|
|||||||
/Makefile
|
|
||||||
/Makefile.in
|
|
||||||
@@ -1,620 +0,0 @@
|
|||||||
|
|
||||||
CDDA Paranoia FAQ
|
|
||||||
|
|
||||||
----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
"Suspicion Breeds Confidence!"
|
|
||||||
--Brazil
|
|
||||||
|
|
||||||
----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
August 20, 1999
|
|
||||||
|
|
||||||
For those new to Paranoia and cdparanoia, this is the
|
|
||||||
best, first place to look for information and answers to
|
|
||||||
your questions.
|
|
||||||
|
|
||||||
More information can be found on the cdparanoia homepage:
|
|
||||||
|
|
||||||
http://www.xiph.org/paranoia/
|
|
||||||
|
|
||||||
----------------------------------------------------------------------------
|
|
||||||
Table of Contents
|
|
||||||
|
|
||||||
1. Questions about the Paranoia and cdparanoia projects
|
|
||||||
1. What is cdparanoia?
|
|
||||||
2. Why use cdparanoia?
|
|
||||||
3. What is Paranoia?
|
|
||||||
4. Is cdparanoia / Paranoia portable?
|
|
||||||
5. What is Paranoia's history?
|
|
||||||
6. Is cdparanoia/Paranoia related to cdda2wav?
|
|
||||||
7. What are the differences between Paranoia II, III and IV?
|
|
||||||
8. Are there cdparanoia mailing lists for users or developers?
|
|
||||||
9. What is Paranoia IV's current development status?
|
|
||||||
10. Will cdparanoia, and cdda2wav or xcdroast merge anytime in the future?
|
|
||||||
|
|
||||||
2. Questions about using Paranoia and cdparanoia
|
|
||||||
1. Requirements to run cdparanoia (as of alpha 3)
|
|
||||||
2. Does Cdparanoia support ATAPI drives? SCSI Emulation? Parallel port
|
|
||||||
drives?
|
|
||||||
3. I can play audio CDs perfectly; why is reading the CD into a file so
|
|
||||||
difficult and prone to errors?
|
|
||||||
4. Does cdparanoia lose quality from the CD recording?
|
|
||||||
5. Can cdparanoia detect pregaps? Can it remove the two second gaps
|
|
||||||
between tracks?
|
|
||||||
6. Why don't you implement CDDB? A GUI? Four million other features I want?
|
|
||||||
7. The progress meter: What is that weird bargraph during ripping?
|
|
||||||
8. How can I tell if my drive would be OK with regular cdda2wav?
|
|
||||||
9. What is the biggest value of SG_BIG_BUFF I can use?
|
|
||||||
10. Why do the binary files from two reads differ when compared?
|
|
||||||
11. Why does CDParanoia rip files off into WAV format (and other sample
|
|
||||||
formats) but not CDDA format?
|
|
||||||
|
|
||||||
-------------------------------------------------------------------------
|
|
||||||
|
|
||||||
Questions about the Paranoia and cdparanoia projects
|
|
||||||
|
|
||||||
What is cdparanoia?
|
|
||||||
|
|
||||||
Cdparanoia is a Compact Disc Digital Audio (CDDA) extraction tool,
|
|
||||||
commonly known on the net as a 'ripper'. The application is built on
|
|
||||||
top of the Paranoia library, which is doing the real work (the
|
|
||||||
Paranoia source is included in the cdparanoia source distribution).
|
|
||||||
Like the original cdda2wav, cdparanoia package reads audio from the
|
|
||||||
CDROM directly as data, with no analog step between, and writes the
|
|
||||||
data to a file or pipe in WAV, AIFC or raw 16 bit linear PCM.
|
|
||||||
|
|
||||||
Cdparanoia is a bit different than most other CDDA extration tools. It
|
|
||||||
contains few-to-no 'extra' features, concentrating only on the ripping
|
|
||||||
process and knowing as much as possible about the hardware performing
|
|
||||||
it. Cdparanoia will read correct, rock-solid audio data from
|
|
||||||
inexpensive drives prone to misalignment, frame jitter and loss of
|
|
||||||
streaming during atomic reads. Cdparanoia will also read and repair
|
|
||||||
data from CDs that have been damaged in some way.
|
|
||||||
|
|
||||||
At the same time, however, cdparanoia turns out to be easy to use and
|
|
||||||
administrate; It has no compile time configuration, happily
|
|
||||||
autodetecting the CDROM, its type, its interface and other aspects of
|
|
||||||
the ripping process at runtime. A single binary can serve the diverse
|
|
||||||
hardware of the do-it-yourself computer laboratory from Hell...
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------
|
|
||||||
|
|
||||||
Why use cdparanoia?
|
|
||||||
|
|
||||||
All CDROM drives are not created equal. You'll need cdparanoia if
|
|
||||||
yours is a little less equal than others-- or maybe you just keep your
|
|
||||||
CD collection in a box of full of gravel. Jewel cases are for wimps;
|
|
||||||
you know what I'm talking about.
|
|
||||||
|
|
||||||
Unfortunately, cdda2wav and readcdda cannot work properly with a large
|
|
||||||
number of CDROM drives in the desktop world today. The most common
|
|
||||||
problem is sporadic or regular clicks and pops in the read sample,
|
|
||||||
regardless of 'nsector' or 'overlap' settings. Cdda2wav also cannot do
|
|
||||||
anything about scratches (and they can cause cdda2wav to break).
|
|
||||||
Cdparanoia is also smarter about probing CDDA support from SCSI and
|
|
||||||
IDE-SCSI drives; many drives that do not work at all with cdda2wav,
|
|
||||||
readcdda, tosha, etc, will work just fine with cdparanoia.
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------
|
|
||||||
|
|
||||||
What is Paranoia?
|
|
||||||
|
|
||||||
Paranoia is a library project that provides a platform independent,
|
|
||||||
unified, robust interface for packet-command based devices. In the
|
|
||||||
case of CDROM drives for example, handling and programming cdrom
|
|
||||||
drives becomes identical whether on Solaris or Linux, or if the Linux
|
|
||||||
drive is SCSI, ATAPI or on the parallel port. In this way, Paranoia is
|
|
||||||
similar to Joerg Schilling's SCG library.
|
|
||||||
|
|
||||||
In addition to device/platform unification, the library provides tools
|
|
||||||
for automatically identifying devices, and intelligent
|
|
||||||
handling/correction of errors at all levels of the interface. On top
|
|
||||||
of a generic low-level packet command layer, Paranoia implements
|
|
||||||
high-level error-correcting interfaces for tasks such as CDDA where
|
|
||||||
broken or vastly non-standard devices are the rule, rather than the
|
|
||||||
exception.
|
|
||||||
|
|
||||||
The Paranoia libraries are incomplete; the first release for use will
|
|
||||||
be Paranoia IV, to be bundled with cdparanoia alpha release 10.
|
|
||||||
Programming documentation for Paranoia IV will appear shortly on the
|
|
||||||
documentation page as Programming with Paranoia IV. Programmers
|
|
||||||
interested in contributing to Paranoia IV should read the heading
|
|
||||||
Paranoia IV development information.
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------
|
|
||||||
|
|
||||||
Is cdparanoia / Paranoia portable?
|
|
||||||
|
|
||||||
Paranoia III is Linux only (although it runs on all the flavors of
|
|
||||||
linux with a 2.0 or later kernel. It is not only for x86).
|
|
||||||
|
|
||||||
Paranoia IV (cdparanoia alpha 10 and later) is a port to other UNIX
|
|
||||||
flavors and uses a substantially revised infrastructure. NetBSD and
|
|
||||||
Solaris will be first; others will be added as time and outside
|
|
||||||
assistance allow.
|
|
||||||
|
|
||||||
Suggestions on the proper way to handle each OS's native configuration
|
|
||||||
idioms are welcome. I want Rhapsody cdparanoia to look just like other
|
|
||||||
Rhapsody apps just as much as I want Linux cdparanoia to look like a
|
|
||||||
Linux app.
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------
|
|
||||||
|
|
||||||
What is Paranoia's history?
|
|
||||||
|
|
||||||
Is cdparanoia/Paranoia related to cdda2wav?
|
|
||||||
|
|
||||||
Paranoia I/II and cdparanoia began life as a set of patches to Heiko
|
|
||||||
Eissfeldt's 'cdda2wav' application. Cdparanoia gained its own life as
|
|
||||||
a rewrite of cdda2wav in January of 1998 as "Paranoia III". Paranoia
|
|
||||||
III proved to have an inadequate structure for extention and use on
|
|
||||||
other platforms, so Paranoia IV began to take form in fall of 1998.
|
|
||||||
|
|
||||||
Modern Paranoia no longer has any relation to cdda2wav aside from
|
|
||||||
general cooperation in sharing details between the two projects. In
|
|
||||||
fact, cdda2wav itself doesn't look much like the cdda2wav of a year or
|
|
||||||
two ago.
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------
|
|
||||||
|
|
||||||
What are the differences between Paranoia II, III and IV?
|
|
||||||
|
|
||||||
Paranoia I and II were a set of patches to Heiko Eissfeldt's cdda2wav
|
|
||||||
0.8. These patches did nothing more than add some error checks to the
|
|
||||||
standard cdda2wav. They were inefficient and only worked with some
|
|
||||||
drives.
|
|
||||||
|
|
||||||
Paranoia III was the first version to be written seperately from
|
|
||||||
cdda2wav in the form of a standalone library. It was not terribly
|
|
||||||
portable, however, and the API proved to be inadequate for extension.
|
|
||||||
|
|
||||||
Paranoia IV is the upcoming new generation of CDDA Paranoia. It is
|
|
||||||
both portable and more capable than Paranoia III.
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------
|
|
||||||
|
|
||||||
Are there cdparanoia mailing lists for users or developers?
|
|
||||||
|
|
||||||
Yes. In addition to the mailing lists below, read-only CVS access to
|
|
||||||
Paranoia III and IV will be availble from xiph.org soon (Paranoia IV
|
|
||||||
is not yet under CVS). See http://www.xiph.org/paranoia/ for upto
|
|
||||||
date information and automated ways of subscribing.
|
|
||||||
|
|
||||||
Mailing list for Paranoia and Cdparanoia users (paranoia@xiph.org):
|
|
||||||
|
|
||||||
To join: send a message containing only the one-word line
|
|
||||||
'subscribe' in the body to paranoia-request@xiph.org. Do not send
|
|
||||||
subscription requests directly to the main list. The list server at
|
|
||||||
xiph.org should respond fairly quickly with a welcome message.
|
|
||||||
|
|
||||||
Mailing list for Paranoia IV developers: paranoia-dev@xiph.org
|
|
||||||
|
|
||||||
The developers list is intended for focused development discussion
|
|
||||||
amongst the core Paranoia development team and outside groups
|
|
||||||
developing their own applications using Paranoia. Of course, anyone is
|
|
||||||
welcome to read.
|
|
||||||
|
|
||||||
To join: send a message containing only the one-word line
|
|
||||||
'subscribe' in the body to paranoia-dev-request@xiph.org. Do not
|
|
||||||
send subscription requests directly to the main list.
|
|
||||||
|
|
||||||
List for general CDROM tools
|
|
||||||
|
|
||||||
There's also a general mailing list for those using/developing CDDA
|
|
||||||
extraction and CD writing tools
|
|
||||||
(cdwrite@other.debian.org). Subscribe by sending mail to
|
|
||||||
other-cdwrite-request@lists.debian.org containing only the word
|
|
||||||
subscribe in the body. Do not send subscription requests directly to
|
|
||||||
the main list.
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------
|
|
||||||
|
|
||||||
What is Paranoia IV's current development status?
|
|
||||||
|
|
||||||
Paranoia IV code will soon be available for internal evaluation,
|
|
||||||
testing and development work to the developers involved in the
|
|
||||||
Paranoia project; read-only CVS access should also be available soon.
|
|
||||||
A public release does not yet set for any firm date.
|
|
||||||
|
|
||||||
Those interested in contributing to the development of Paranoia, or
|
|
||||||
who wich to contribute to porting to other platforms, please contact
|
|
||||||
us. Paranoia IV prerelease code will be available to porters soon; I
|
|
||||||
prefer to be in contact with those porting to other platforms so that
|
|
||||||
Paranoia development has consistent quality across platforms.
|
|
||||||
|
|
||||||
At the moment, volunteers have contacted me for most major platforms,
|
|
||||||
but more help is still welcome on every OS.
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------
|
|
||||||
|
|
||||||
Will cdparanoia, and cdda2wav or xcdroast merge anytime in the future?
|
|
||||||
|
|
||||||
Probably not beyond the point it already has. Versions of XCDRoast
|
|
||||||
(and other GUI frontends; see the links page) that make use of
|
|
||||||
cdparanoia already exist.
|
|
||||||
|
|
||||||
Although the cdrecord/cdda2wav and Paranoia projects cooperate,
|
|
||||||
they're likely to remain seperate as the former is committed to Joerg
|
|
||||||
Schilling's libscg (part of the cdrecord package), just as cdparanoia
|
|
||||||
is committed to using Paranoia IV.
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------
|
|
||||||
|
|
||||||
Questions about using Paranoia and cdparanoia
|
|
||||||
|
|
||||||
Requirements to run cdparanoia (as of alpha 3)
|
|
||||||
|
|
||||||
1. A CDDA capable CDROM drive
|
|
||||||
2. Linux 2.0, 2.1, 2.2 or 2.3
|
|
||||||
1. kernel support for the particular CDROM in use
|
|
||||||
2. kernel support for the generic SCSI interface (if using a
|
|
||||||
SCSI CDROM drive) and proper device (/dev/sg?) files (get
|
|
||||||
them with the MAKEDEV script) in /dev. Most distributions
|
|
||||||
already have the /dev/sg? files.
|
|
||||||
|
|
||||||
The cdparanoia binary will likely work with Linux 1.2 and 1.3, but I
|
|
||||||
do not actively support kernels older than 2.0 I do know for a fact
|
|
||||||
that the source will not build on kernel installs older than 2.0, but
|
|
||||||
the problems are mostly related to the ever-changing locations of
|
|
||||||
proprietary cdrom include files.
|
|
||||||
|
|
||||||
Also, although a 2.0 stock SCSI setup will work, performance will be
|
|
||||||
better if linux/include/scsi/sg.h defines SG_BIG_BUFF to 65536 (it
|
|
||||||
can't be bigger). Recent kernels (2.0.30+?) already set it to 32768;
|
|
||||||
that's OK. Cdparanoia will tell you how big your generic SCSI buffer
|
|
||||||
is. 2.2+ does not use a static DMA pool for SG, so there is nothing
|
|
||||||
to tune.
|
|
||||||
|
|
||||||
Unlike cdda2wav, cdparanoia does not require threading, IPC or
|
|
||||||
(optionally) sound card support. /proc filesystem support is no longer
|
|
||||||
required (but encouraged!), and /dev/sr? or /dev/scd? devices are not
|
|
||||||
required for SCSI, although they do add functionality if present.
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------
|
|
||||||
|
|
||||||
Does Cdparanoia support ATAPI drives? SCSI Emulation? Parallel port
|
|
||||||
drives?
|
|
||||||
|
|
||||||
Alpha 9 supports the full ATAPI, IDE-SCSI and SCSI generic interfaces
|
|
||||||
under Linux.
|
|
||||||
|
|
||||||
Note that the native ATAPI driver is supported, but that IDE-SCSI
|
|
||||||
emulation works better with ATAPI drives. This is an issue of control;
|
|
||||||
the emulation interface gives cdparanoia complete control over the
|
|
||||||
drive whereas the native ATAPI driver insists on hiding the device
|
|
||||||
under an abstraction layer with poor error handling capabilities. Note
|
|
||||||
also that a number of ATAPI drives that do not work at all with the
|
|
||||||
ATAPI driver (error 006: Could not read audio) *will* work with
|
|
||||||
IDE-SCSI emulation.
|
|
||||||
|
|
||||||
Parallel port based CDROM (paride) drives are not yet supported;
|
|
||||||
support for these drives in Linux will appear in alpha release 10
|
|
||||||
(Paranoia IV).
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------
|
|
||||||
|
|
||||||
I can play audio CDs perfectly; why is reading the CD into a file so
|
|
||||||
difficult and prone to errors? It's just the same thing.
|
|
||||||
|
|
||||||
Unfortunately, it isn't that easy.
|
|
||||||
|
|
||||||
The audio CD is not a random access format. It can only be played from
|
|
||||||
some starting point in sequence until it is done, like a vinyl LP.
|
|
||||||
Unlike a data CD, there are no synchronization or positioning headers
|
|
||||||
in the audio data (a CD, audio or data, uses 2352 byte sectors. In a
|
|
||||||
data CD, 304 bytes of each sector is used for header, sync and error
|
|
||||||
correction. An audio CD uses all 2352 bytes for data). The audio CD
|
|
||||||
*does* have a continuous fragmented subchannel, but this is only good
|
|
||||||
for seeking +/-1 second (or 75 sectors or ~176kB) of the desired area,
|
|
||||||
as per the SCSI spec.
|
|
||||||
|
|
||||||
When the CD is being played as audio, it is not only moving at 1x, the
|
|
||||||
drive is keeping the media data rate (the spin speed) exactly locked
|
|
||||||
to playback speed. Pick up a portable CD player while it's playing and
|
|
||||||
rotate it 90 degrees. Chances are it will skip; you disturbed this
|
|
||||||
delicate balance. In addition, a player is never distracted from what
|
|
||||||
it's doing... it has nothing else taking up its time. Now add a
|
|
||||||
non-realtime, (relatively) high-latency, multitasking kernel into the
|
|
||||||
mess; it's like picking up the player and constantly shaking it.
|
|
||||||
|
|
||||||
CDROM drives generally assume that any sort of DAE will be linear and
|
|
||||||
throw a readahead buffer at the task. However, the OS is reading the
|
|
||||||
data as broken up, seperated read requests. The drive is doing
|
|
||||||
readahead buffering and attempting to store additional data as it
|
|
||||||
comes in off media while it waits for the OS to get around to reading
|
|
||||||
previous blocks. Seeing as how, at 36x, data is coming in at
|
|
||||||
6.2MB/second, and each read is only 13 sectors or ~30k (due to DMA
|
|
||||||
restrictions), one has to get off 208 read requests a second, minimum
|
|
||||||
without any interruption, to avoid skipping. A single swap to disc or
|
|
||||||
flush of filesystem cache by the OS will generally result in loss of
|
|
||||||
streaming, assuming the drive is working flawlessly. Oh, and virtually
|
|
||||||
no PC on earth has that kind of I/O throughput; a Sun Enterprise
|
|
||||||
server might, but a PC does not. Most don't come within a factor of
|
|
||||||
five, assuming perfect realtime behavior.
|
|
||||||
|
|
||||||
To keep piling on the difficulties, faster drives are often prone to
|
|
||||||
vibration and alignment problems; some are total fiascos. They lose
|
|
||||||
streaming *constantly* even without being interrupted. Philips
|
|
||||||
determined 15 years ago that the CD could only be spun up to 50-60x
|
|
||||||
until the physical CD (made of polycarbonate) would deform from
|
|
||||||
centripetal force badly enough to become unreadable. Today's players
|
|
||||||
are pushing physics to the limit. Few do so terribly reliably.
|
|
||||||
|
|
||||||
Note that CD 'playback speed' is an excellent example of advertisers
|
|
||||||
making numbers lie for them. A 36x cdrom is generally not spinning at
|
|
||||||
36x a normal drive's speed. As a 1x drive is adjusting velocity
|
|
||||||
depending on the access's distance from the hub, a 36x drive is
|
|
||||||
probably using a constant angular velocity across the whole surface
|
|
||||||
such that it gets 36x max at the edge. Thus it's actually spinning
|
|
||||||
slower, assuming the '36x' isn't a complete lie, as it is on some
|
|
||||||
drives.
|
|
||||||
|
|
||||||
Because audio discs have no headers in the data to assist in picking
|
|
||||||
up where things got lost, most drives will just guess.
|
|
||||||
|
|
||||||
This doesn't even *begin* to get into stupid firmware bugs. Even
|
|
||||||
Plextors have occasionally had DAE bugs (although in every case,
|
|
||||||
Plextor has fixed the bug *and* replaced/repaired drives for free).
|
|
||||||
Cheaper drives are often complete basket cases.
|
|
||||||
|
|
||||||
Rant Update (for those in the know):
|
|
||||||
|
|
||||||
Several folks, through personal mail and on Usenet, have pointed out
|
|
||||||
that audio discs do place absolute positioning information for (at
|
|
||||||
least) nine out of every ten sectors into the Q subchannel, and that
|
|
||||||
my original statement of +/-75 sectors above is wrong. I admit to it
|
|
||||||
being misleading, so I'll try to clarify.
|
|
||||||
|
|
||||||
The positioning data certainly is in subchannel Q; the point is moot
|
|
||||||
however, for a couple of reasons.
|
|
||||||
|
|
||||||
1. The SCSI and ATAPI specs (there are a couple of each, pick one)
|
|
||||||
don't give any way to retrieve the subchannel from a desired
|
|
||||||
sector. The READ SUB-CHANNEL command will hand you Q all right,
|
|
||||||
you just don't have any idea where exactly that Q came from. The
|
|
||||||
command was intended for getting rough positioning information
|
|
||||||
from audio discs that are paused or playing. This is audio;
|
|
||||||
missing by several sectors is a tiny fraction of a second.
|
|
||||||
|
|
||||||
2. Older CDROM drives tended not to expect 'READ SUB-CHANNEL' unless
|
|
||||||
the drive was playing audio; calling it during data reads could
|
|
||||||
crash the drive and lock up the system. I had one of these drives
|
|
||||||
(Apple 803i, actually a repackaged Sony CD-8003).
|
|
||||||
|
|
||||||
3. MMC-2 *does* give a way to retrieve the Q subchannel along with
|
|
||||||
user data in the READ CD command. Although the drive is required
|
|
||||||
to recognize the fetaure, it is allowed to simply return zeroes
|
|
||||||
(effectively leaving the feature unimplemented). Guess how many
|
|
||||||
drives actually implement this feature: not many.
|
|
||||||
|
|
||||||
4. Assuming you *can* get back the subchannel, most CDROM drives
|
|
||||||
seem to understand audio discs primarily at the "little frame"
|
|
||||||
level; thus sector-level structures aren't reliable. One might
|
|
||||||
get a reassembled subQ, but if the read began in the middle of a
|
|
||||||
sector (or dropped a little frame in the middle; many do), the
|
|
||||||
subQ is likely corrupt and useless.
|
|
||||||
|
|
||||||
As reassembling uncorrupted frames is easy without the subchannel, and
|
|
||||||
corrupted reads likely result in a corrupted subchannel too,
|
|
||||||
cdparanoia treats the subchannel as more trouble than it's worth
|
|
||||||
(during verification).
|
|
||||||
|
|
||||||
At least one other package (Exact Audio Copy for Win32) manages to use
|
|
||||||
the subchannel to enhance the Table of Contents information. I don't
|
|
||||||
know if this only works on MMC-2 drives that support returning Q with
|
|
||||||
READ CD, but I think I'm going to revisit using the subchannel for
|
|
||||||
extra TOC information.
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------
|
|
||||||
|
|
||||||
Does cdparanoia lose quality from the CD recording? Does it just
|
|
||||||
re-record the analog signal played from the CDROM drive?
|
|
||||||
|
|
||||||
No to both. Cdparanoia (and all other true CD digital audio extraction
|
|
||||||
tools) reads the values off the CDROM in digital form. The data never
|
|
||||||
comes anywhere near the soundcard, and does not pass through any
|
|
||||||
conversion to analog first.
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------
|
|
||||||
|
|
||||||
Can cdparanoia detect pregaps? Can it remove the two second gaps
|
|
||||||
between tracks
|
|
||||||
|
|
||||||
Not yet. This feature is slated to appear in a release of alpha 10
|
|
||||||
(Paranoia IV).
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------
|
|
||||||
|
|
||||||
Why don't you implement CDDB? A GUI? Four million other features I
|
|
||||||
want?
|
|
||||||
|
|
||||||
Too many features spoil the broth. "Software is not perfect when there
|
|
||||||
is nothing left to add, but rather when there is nothing extraneous
|
|
||||||
left to take away." The goal of cdparanoia is perfect, rock-solid
|
|
||||||
audio from every capable cdrom on every platform. As this goal has not
|
|
||||||
yet been met, I'm uninterested in adding unrelated capability to the
|
|
||||||
core engine.
|
|
||||||
|
|
||||||
Several GUIs that incorporate cdparanoia already exist; I'm in the
|
|
||||||
process of compiling a list (see the links page). Other software that
|
|
||||||
implements new features by wrapping around cdpar anoia (like CDDB
|
|
||||||
lookup) also exist.
|
|
||||||
|
|
||||||
'Cdparanoia' will not play to sound cards (you can always pipe the
|
|
||||||
output to a WAV player), do MD5 signatures, read CD catalog or serial
|
|
||||||
numbers (this *is* a feature I plan to add), search indexes, do rate
|
|
||||||
reduction (use Sox, Ogg or a million others), or generally make use of
|
|
||||||
the maximum speed available from a CDROM drive.
|
|
||||||
|
|
||||||
If your CDROM drive is *not* prone to jitter and you don't have
|
|
||||||
scratched discs to worry about, you might want to look at the original
|
|
||||||
cdda2wav for features cdparanoia does not have. Keep in mind however
|
|
||||||
that even the really good drives do occasionally stumble. I know of at
|
|
||||||
least one cdparanoia user who insists on using full paranoia with his
|
|
||||||
Plextor UltraPlex because it once botched a single sector from a rip;
|
|
||||||
he'd already burned the track to several CD-Rs before noticing...
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------
|
|
||||||
|
|
||||||
The progress meter: What is that weird bargraph during ripping?
|
|
||||||
|
|
||||||
It's a progress/status indicator. There's a completion bargraph, a
|
|
||||||
number indicating the last sector number completely verified of the
|
|
||||||
read currently happening, an overlap indicator, a gratuitous smilie,
|
|
||||||
and a heartbeat indicator to show if the process is still alive, hung,
|
|
||||||
or spinning.
|
|
||||||
|
|
||||||
The bargraph also marks points during the read with characters to
|
|
||||||
indicate where various 'paranoia' features were tripped into action.
|
|
||||||
Different bargraph characters indicate different things occurred
|
|
||||||
during that part of the read. The letters are heirarchical; for
|
|
||||||
example if a trasport error occurs in the same sector as jitter, the
|
|
||||||
bargraph will print 'e' instead of '-'.
|
|
||||||
|
|
||||||
Legend of
|
|
||||||
characters
|
|
||||||
A hyphen indicates that two blocks overlapped properly,
|
|
||||||
- but they were skewed (frame jitter). This case is
|
|
||||||
completely corrected by Paranoia and is not a cause for
|
|
||||||
concern.
|
|
||||||
A plus indicates not only frame jitter, but an
|
|
||||||
unreported, uncorrected loss of streaming in the middle
|
|
||||||
+ of an atomic read operation. That is, the drive lost
|
|
||||||
its place while reading data, and restarted in some
|
|
||||||
random incorrect location without alerting the kernel.
|
|
||||||
This case is also corrected by Paranoia.
|
|
||||||
An 'e' indicates that a transport level SCSI or ATAPI
|
|
||||||
e error was caught and corrected. Paranoia will
|
|
||||||
completely repair such an error without audible
|
|
||||||
defects.
|
|
||||||
An "X" indicates a scratch was caught and corrected.
|
|
||||||
X Cdparanoia wil interpolate over any missing/corrupt
|
|
||||||
samples.
|
|
||||||
An asterisk indicates a scratch and jitter both
|
|
||||||
* occurred in this general area of the read. Cdparanoia
|
|
||||||
wil interpolate over any missing/corrupt samples.
|
|
||||||
A ! indicates that a read error got through the stage
|
|
||||||
one of error correction and was caught by stage two.
|
|
||||||
Many '!' are a cause for concern; it means that the
|
|
||||||
drive is making continuous silent errors that look
|
|
||||||
! identical on each re-read, a condition that can't
|
|
||||||
always be detected. Although the presence of a '!'
|
|
||||||
means the error was corrected, it also means that
|
|
||||||
similar errors are probably passing by unnoticed.
|
|
||||||
Upcoming releases of cdparanoia will address this
|
|
||||||
issue.
|
|
||||||
A V indicates a skip that could not be repaired or a
|
|
||||||
V sector totally obliterated on the medium (hard read
|
|
||||||
error). A 'V' marker generally results in some audible
|
|
||||||
defect in the sample.
|
|
||||||
|
|
||||||
The smilie is actually relevant. It makes different faces depending on
|
|
||||||
the current errors it's correcting.
|
|
||||||
|
|
||||||
Legend of
|
|
||||||
smilies
|
|
||||||
|
|
||||||
:-) Normal operation. No errors to report; if any jitter is
|
|
||||||
present, it's small.
|
|
||||||
:-| Normal operation, but average jitter is quite large.
|
|
||||||
A rift was found in the middle of an atomically read
|
|
||||||
block; in other words, the drive lost streaming in the
|
|
||||||
:-P middle of a read and did not abort, alert the kernel , or
|
|
||||||
restart in the proper location. The drive silently
|
|
||||||
continued reading in so me random location.
|
|
||||||
|
|
||||||
:-/ The read appears to be drifting; cdparanoia is shifting
|
|
||||||
all of its reads to make up for it.
|
|
||||||
Two matching vectors were found to disagree even after
|
|
||||||
first stage verification; this is an indication that the
|
|
||||||
drive is reliably dropping/adding bytes at consistent
|
|
||||||
locations. Because the verification algorithm is partially
|
|
||||||
8-| based on rereading and comparing vectors, if two vectors
|
|
||||||
read incorrectly but identically, cdparanoia may never
|
|
||||||
detect the problem. This smilie indicates that such a
|
|
||||||
situation *was* detected; other instances may be slipping
|
|
||||||
through.
|
|
||||||
Transport or drive error. This is normally not a cause for
|
|
||||||
concern; cdparanoia can repair just about any error that
|
|
||||||
:-0 it actually detects. For more information about these
|
|
||||||
errors, run cdparanoia with the -v option. Any all all
|
|
||||||
errors and a description will dump to stderr.
|
|
||||||
:-( Cdparanoia detected a scratch.
|
|
||||||
Cdparanoia gave up trying to repair a sector; it could not
|
|
||||||
read consistent enough information from the drive to do
|
|
||||||
;-( so. At this point cdparanoia will make the best guess it
|
|
||||||
has available and continue (a V appears in the bargraph at
|
|
||||||
this point). This often results in an audible defect.
|
|
||||||
Cdparanoia displays this smilie both when finished reading
|
|
||||||
:^D a track and also if no error correction mechanism has been
|
|
||||||
tripped so far reading a new track.
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------
|
|
||||||
|
|
||||||
How can I tell if my drive would be OK with regular cdda2wav?
|
|
||||||
|
|
||||||
Easy. Run cdparanoia; if the progress meter never shows any characters
|
|
||||||
but the little arrow going across the screen, the CDROM drive is
|
|
||||||
probably one of the (currently) few drives that can read a pristine
|
|
||||||
stream of data off an audio disc regardless of circumstances. This
|
|
||||||
drive will work quite well with cdda2wav (or cdparanoia using the '-Z'
|
|
||||||
option)
|
|
||||||
|
|
||||||
A drive that results in a bargraph of all hyphens would *likely* work
|
|
||||||
OK with cdda2wav, but it's less certain.
|
|
||||||
|
|
||||||
Any other characters in the bargraph (colons, semicolons, pluses, Xs,
|
|
||||||
etc..) indicate that a fixups had to be performed at that point during
|
|
||||||
the read; that read would have failed or 'popped' using cdda2wav.
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------
|
|
||||||
|
|
||||||
What is the biggest value of SG_BIG_BUFF I can use?
|
|
||||||
|
|
||||||
This is relevant only to 2.0 kernels and early 2.2 kernels.
|
|
||||||
Modern Linux kernels no longer have a single static SG DMS pool.
|
|
||||||
|
|
||||||
For 2.0, 65536 (64 kilobytes). Some motherboards can use 128kB
|
|
||||||
DMA, but attempting to use 128kB DMA on a machine that can't do
|
|
||||||
it will crash the machine. Cdparanoia will not use larger than
|
|
||||||
64kB requests.
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------
|
|
||||||
|
|
||||||
Why do the binary files from two reads differ when compared?
|
|
||||||
|
|
||||||
The problem is the beginning point of the read. Cdparanoia enforces
|
|
||||||
consistency from whatever the drive considers to be the starting point
|
|
||||||
of the data, and the drive is returning a slightly different beginning
|
|
||||||
point each time. The beginning point should not vary by much, and if
|
|
||||||
this shift is accounted for when comparing the files, they should
|
|
||||||
indeed turn out to be the same (aside from errors duly reported during
|
|
||||||
the read; scratch correction or any reported skips will very likely
|
|
||||||
also result in different files).
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------
|
|
||||||
|
|
||||||
Why do CDParanoia, CDDA2WAV et al. rip files off into WAV format (and
|
|
||||||
other sample formats) but not CDDA format?
|
|
||||||
|
|
||||||
WAV and AIFC are simply convenient formats that include enough header
|
|
||||||
information such that multipurpose audio software can uniquely
|
|
||||||
identify the form of the data in the sample. In raw form, mulaw, SND
|
|
||||||
and CDDA look exactly alike to a program like xplay, and are very
|
|
||||||
likely to blow your ears (and stereo) out when played! Header formats
|
|
||||||
are more versatile and safer. By default, cdparanoia and cdda2wav
|
|
||||||
write WAV files.
|
|
||||||
|
|
||||||
That said, cdparanoia (and cdda2wav) will write raw, headerless
|
|
||||||
formats if explicitly told to. Cdparanoia writes headerless, signed 16
|
|
||||||
bit, 44.1kHz stero files in little endian format (LSB first) when
|
|
||||||
given the -r option, and the same in big endian (MSB) format when
|
|
||||||
given -R. All files written by cdparanoia are a multiple of 2352 bytes
|
|
||||||
long (minus the header, if any) as required by cd writer software.
|
|
||||||
|
|
||||||
|
|
||||||
Cdparanoia and the Laser-Playback-Head-of-Omniscience logo are
|
|
||||||
trademarks (tm) of Xiphophorus (xiph.org). This document copyright (C)
|
|
||||||
1994-1999 Xiphophorus. All rights reserved. Comments and questions
|
|
||||||
are welcome.
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# $Id: Makefile.am,v 1.4 2008/04/17 17:39:48 karl Exp $
|
|
||||||
#
|
|
||||||
# Copyright (C) 2005, 2007, 2008 Rocky Bernstein <rocky@gnu.org>
|
|
||||||
#
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation, either version 3 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
SUBDIRS = en ja
|
|
||||||
EXTRA_DIST = FAQ.txt overlapdef.txt
|
|
||||||
|
|
||||||
mostlyclean-generic:
|
|
||||||
-rm -f *~ \#* .*~ .\#*
|
|
||||||
|
|
||||||
maintainer-clean-generic:
|
|
||||||
-@echo "This command is intended for maintainers to use;"
|
|
||||||
-@echo "it deletes files that may require special tools to rebuild."
|
|
||||||
-rm -f Makefile.in
|
|
||||||
3
src/cd-paranoia/doc/en/.gitignore
vendored
3
src/cd-paranoia/doc/en/.gitignore
vendored
@@ -1,3 +0,0 @@
|
|||||||
/Makefile
|
|
||||||
/Makefile.in
|
|
||||||
/cd-paranoia.1
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
# $Id: Makefile.am,v 1.3 2008/04/17 17:39:48 karl Exp $
|
|
||||||
#
|
|
||||||
# Copyright (C) 2005, 2008 Rocky Bernstein <rocky@gnu.org>
|
|
||||||
#
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation, either version 3 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
manfiles = cd-paranoia.1
|
|
||||||
man_MANS = $(manfiles)
|
|
||||||
transform = s,cd-paranoia,@CDPARANOIA_NAME@,
|
|
||||||
|
|
||||||
EXTRA_DIST = $(manfiles) cd-paranoia.1.in
|
|
||||||
|
|
||||||
mostlyclean-generic:
|
|
||||||
-rm -f *~ \#* .*~ .\#*
|
|
||||||
|
|
||||||
maintainer-clean-generic:
|
|
||||||
-@echo "This command is intended for maintainers to use;"
|
|
||||||
-@echo "it deletes files that may require special tools to rebuild."
|
|
||||||
-rm -f Makefile.in $(manfiles)
|
|
||||||
@@ -1,381 +0,0 @@
|
|||||||
.TH @CDPARANOIA_NAME@ 1 "version III release alpha 9.8 libcdio"
|
|
||||||
.SH NAME
|
|
||||||
@CDPARANOIA_NAME@ 9.8 (Paranoia release III via libcdio) \- an audio CD reading utility which includes extra data verification features
|
|
||||||
.SH SYNOPSIS
|
|
||||||
.B @CDPARANOIA_NAME@
|
|
||||||
.RB [ options ]
|
|
||||||
.B span
|
|
||||||
.RB [ outfile ]
|
|
||||||
.SH DESCRIPTION
|
|
||||||
.B @CDPARANOIA_NAME@
|
|
||||||
retrieves audio tracks from CDDA capable CD-ROM drives. The data can
|
|
||||||
be saved to a file or directed to standard output in WAV, AIFF, AIFF-C
|
|
||||||
or raw format. Most ATAPI, SCSI and several proprietary CD-ROM drive
|
|
||||||
makes are supported;
|
|
||||||
.B @CDPARANOIA_NAME@
|
|
||||||
can determine if the target drive is CDDA capable.
|
|
||||||
.P
|
|
||||||
In addition to simple reading,
|
|
||||||
.B @CDPARANOIA_NAME@
|
|
||||||
adds extra-robust data verification, synchronization, error handling
|
|
||||||
and scratch reconstruction capability.
|
|
||||||
.P
|
|
||||||
This version uses the libcdio library for interaction with a CD-ROM
|
|
||||||
drive. The jitter and error correction however are the same as used in
|
|
||||||
Xiph's cdparanoia.
|
|
||||||
.SH OPTIONS
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-v --verbose
|
|
||||||
Be absurdly verbose about the autosensing and reading process. Good
|
|
||||||
for setup and debugging.
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-q --quiet
|
|
||||||
Do not print any progress or error information during the reading process.
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-e --stderr-progress
|
|
||||||
Force output of progress information to stderr (for wrapper scripts).
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-V --version
|
|
||||||
Print the program version and quit.
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-Q --query
|
|
||||||
Perform CD-ROM drive autosense, query and print the CD-ROM table of
|
|
||||||
contents, then quit.
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-s --search-for-drive
|
|
||||||
Forces a complete search for a cdrom drive, even if the /dev/cdrom link exists.
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-h --help
|
|
||||||
Print a brief synopsis of
|
|
||||||
.B @CDPARANOIA_NAME@
|
|
||||||
usage and options.
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.BI "\-l --log-summary " file
|
|
||||||
Save result summary to file.
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-p --output-raw
|
|
||||||
Output headerless data as raw 16 bit PCM data with interleaved samples in host byte order. To force little or big endian byte order, use
|
|
||||||
.B \-r
|
|
||||||
or
|
|
||||||
.B \-R
|
|
||||||
as described below.
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-r --output-raw-little-endian
|
|
||||||
Output headerless data as raw 16 bit PCM data with interleaved samples in LSB first byte order.
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-R --output-raw-big-endian
|
|
||||||
Output headerless data as raw 16 bit PCM data with interleaved samples in MSB first byte order.
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-w --output-wav
|
|
||||||
Output data in Micro$oft RIFF WAV format (note that WAV data is always
|
|
||||||
LSB first byte order).
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-f --output-aiff
|
|
||||||
Output data in Apple AIFF format (note that AIFC data is
|
|
||||||
always in MSB first byte order).
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-a --output-aifc
|
|
||||||
Output data in uncompressed Apple AIFF-C format (note that AIFF-C data is
|
|
||||||
always in MSB first byte order).
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.BI "\-B --batch "
|
|
||||||
|
|
||||||
Cdda2wav-style batch output flag; @CDPARANOIA_NAME@ will split the output
|
|
||||||
into multiple files at track boundaries. Output file names are
|
|
||||||
prepended with 'track#.'
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-c --force-cdrom-little-endian
|
|
||||||
Some CD-ROM drives misreport their endianness (or do not report it at
|
|
||||||
all); it's possible that @CDPARANOIA_NAME@ will guess wrong. Use
|
|
||||||
.B \-c
|
|
||||||
to force @CDPARANOIA_NAME@ to treat the drive as a little endian device.
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-C --force-cdrom-big-endian
|
|
||||||
As above but force @CDPARANOIA_NAME@ to treat the drive as a big endian device.
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.BI "\-n --force-default-sectors " n
|
|
||||||
Force the interface backend to do atomic reads of
|
|
||||||
.B n
|
|
||||||
sectors per read. This number can be misleading; the kernel will often
|
|
||||||
split read requests into multiple atomic reads (the automated Paranoia
|
|
||||||
code is aware of this) or allow reads only wihin a restricted size
|
|
||||||
range.
|
|
||||||
.B This option should generally not be used.
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.BI "\-d --force-cdrom-device " device
|
|
||||||
Force the interface backend to read from
|
|
||||||
.B device
|
|
||||||
rather than the first readable CD-ROM drive it finds containing a
|
|
||||||
CD-DA disc. This can be used to specify devices of any valid
|
|
||||||
interface type (ATAPI, SCSI or proprietary).
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.BI "\-g --force-generic-device " device
|
|
||||||
This option is an alias for
|
|
||||||
.B \-d
|
|
||||||
and is retained for compatibility.
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.BI "\-S --force-read-speed " number
|
|
||||||
Use this option explicitly to set the read rate of the CD drive (where
|
|
||||||
supported). This can reduce underruns on machines with slow disks, or
|
|
||||||
which are low on memory.
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.BI "\-t --toc-offset " number
|
|
||||||
Use this option to force the entire disc LBA addressing to shift by
|
|
||||||
the given amount; the value is added to the beginning offsets in the
|
|
||||||
TOC. This can be used to shift track boundaries for the whole disc
|
|
||||||
manually on sector granularity. The next option does something
|
|
||||||
similar...
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.BI "\-T --toc-bias "
|
|
||||||
Some drives (usually random Toshibas) report the actual track
|
|
||||||
beginning offset values in the TOC, but then treat the beginning of
|
|
||||||
track 1 index 1 as sector 0 for all read operations. This results in
|
|
||||||
every track seeming to start too late (losing a bit of the beginning
|
|
||||||
and catching a bit of the next track).
|
|
||||||
\-T accounts for this behavior. Note that this option will cause
|
|
||||||
@CDPARANOIA_NAME@ to attempt to read sectors before or past the known user
|
|
||||||
data area of the disc, resulting in read errors at disc edges on most
|
|
||||||
drives and possibly even hard lockups on some buggy hardware.
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.BI "\-O --sample-offset " number
|
|
||||||
Some CD-ROM/CD-R drives will add an offset to the position on reading
|
|
||||||
audio data. This is usually around 500-700 audio samples (ca. 1/75
|
|
||||||
second) on reading. So when @CDPARANOIA_NAME@ queries a specific
|
|
||||||
sector, it might not receive exactly that sector, but shifted by some
|
|
||||||
amount.
|
|
||||||
.P
|
|
||||||
Use this option to force the entire disc to shift sample position
|
|
||||||
output by the given amount; This can be used to shift track boundaries
|
|
||||||
for the whole disc manually on sample granularity. Note that if you
|
|
||||||
are ripping something including the ending of the CD (e.g. the entire
|
|
||||||
disk), this option will cause @CDPARANOIA_NAME@ to attempt to read
|
|
||||||
partial sectors before or past the known user data area, probably
|
|
||||||
causing read errors on most drives and possibly even hard lockups on
|
|
||||||
some buggy hardware.
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-Z --disable-paranoia
|
|
||||||
Disable
|
|
||||||
.B all
|
|
||||||
data verification and correction features. When using -Z, @CDPARANOIA_NAME@
|
|
||||||
reads data exactly as would cdda2wav with an overlap setting of zero.
|
|
||||||
This option implies that
|
|
||||||
.B \-Y
|
|
||||||
is active.
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-z --never-skip[=max_retries]
|
|
||||||
Do not accept any skips; retry forever if needed. An optional maximum
|
|
||||||
number of retries can be specified; for comparison, default without -z is
|
|
||||||
currently 20.
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-Y --disable-extra-paranoia
|
|
||||||
Disables intra-read data verification; only overlap checking at read
|
|
||||||
boundaries is performed. It can wedge if errors occur in the attempted overlap area. Not recommended.
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-X --abort-on-skip
|
|
||||||
If the read skips due to imperfect data, a scratch, whatever, abort reading this track. If output is to a file, delete the partially completed file.
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-x --test-flags mask
|
|
||||||
Simulate CD-reading errors. This is used in regression testing, but
|
|
||||||
other uses might be to see how well a CD-ROM performs under
|
|
||||||
(simulated) CD degradation. mask specifies the artificial kinds of
|
|
||||||
errors to introduced; "or"-ing values from the selection below will
|
|
||||||
simulate the kind of specified failure.
|
|
||||||
.P
|
|
||||||
0x10 - Simulate under-run reading
|
|
||||||
.TP
|
|
||||||
|
|
||||||
|
|
||||||
.SH OUTPUT SMILIES
|
|
||||||
.TP
|
|
||||||
.B
|
|
||||||
:-)
|
|
||||||
Normal operation, low/no jitter
|
|
||||||
.TP
|
|
||||||
.B
|
|
||||||
:-|
|
|
||||||
Normal operation, considerable jitter
|
|
||||||
.TP
|
|
||||||
.B
|
|
||||||
:-/
|
|
||||||
Read drift
|
|
||||||
.TP
|
|
||||||
.B
|
|
||||||
:-P
|
|
||||||
Unreported loss of streaming in atomic read operation
|
|
||||||
.TP
|
|
||||||
.B
|
|
||||||
8-|
|
|
||||||
Finding read problems at same point during reread; hard to correct
|
|
||||||
.TP
|
|
||||||
.B
|
|
||||||
:-0
|
|
||||||
SCSI/ATAPI transport error
|
|
||||||
.TP
|
|
||||||
.B
|
|
||||||
:-(
|
|
||||||
Scratch detected
|
|
||||||
.TP
|
|
||||||
.B
|
|
||||||
;-(
|
|
||||||
Gave up trying to perform a correction
|
|
||||||
.TP
|
|
||||||
.B
|
|
||||||
8-X
|
|
||||||
Aborted read due to known, uncorrectable error
|
|
||||||
.TP
|
|
||||||
.B
|
|
||||||
:^D
|
|
||||||
Finished extracting
|
|
||||||
|
|
||||||
.SH PROGRESS BAR SYMBOLS
|
|
||||||
.TP
|
|
||||||
.B
|
|
||||||
<space>
|
|
||||||
No corrections needed
|
|
||||||
.TP
|
|
||||||
.B
|
|
||||||
-
|
|
||||||
Jitter correction required
|
|
||||||
.TP
|
|
||||||
.B
|
|
||||||
+
|
|
||||||
Unreported loss of streaming/other error in read
|
|
||||||
.TP
|
|
||||||
.B
|
|
||||||
!
|
|
||||||
Errors found after stage 1 correction; the drive is making the
|
|
||||||
same error through multiple re-reads, and @CDPARANOIA_NAME@ is having trouble
|
|
||||||
detecting them.
|
|
||||||
.TP
|
|
||||||
.B
|
|
||||||
e
|
|
||||||
SCSI/ATAPI transport error (corrected)
|
|
||||||
.TP
|
|
||||||
.B
|
|
||||||
V
|
|
||||||
Uncorrected error/skip
|
|
||||||
|
|
||||||
.SH SPAN ARGUMENT
|
|
||||||
|
|
||||||
The span argument specifies which track, tracks or subsections of
|
|
||||||
tracks to read. This argument is required.
|
|
||||||
.B NOTE:
|
|
||||||
Unless the span is a simple number, it's generally a good idea to
|
|
||||||
quote the span argument to protect it from the shell.
|
|
||||||
.P
|
|
||||||
The span argument may be a simple track number or an offset/span
|
|
||||||
specification. The syntax of an offset/span takes the rough form:
|
|
||||||
.P
|
|
||||||
1[ww:xx:yy.zz]-2[aa:bb:cc.dd]
|
|
||||||
.P
|
|
||||||
Here, 1 and 2 are track numbers; the numbers in brackets provide a
|
|
||||||
finer grained offset within a particular track. [aa:bb:cc.dd] is in
|
|
||||||
hours/minutes/seconds/sectors format. Zero fields need not be
|
|
||||||
specified: [::20], [:20], [20], [20.], etc, would be interpreted as
|
|
||||||
twenty seconds, [10:] would be ten minutes, [.30] would be thirty
|
|
||||||
sectors (75 sectors per second).
|
|
||||||
.P
|
|
||||||
When only a single offset is supplied, it is interpreted as a starting
|
|
||||||
offset and ripping will continue to the end of the track. If a single
|
|
||||||
offset is preceeded or followed by a hyphen, the implicit missing
|
|
||||||
offset is taken to be the start or end of the disc, respectively. Thus:
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B 1:[20.35]
|
|
||||||
Specifies ripping from track 1, second 20, sector 35 to the end of
|
|
||||||
track 1.
|
|
||||||
.TP
|
|
||||||
.B 1:[20.35]-
|
|
||||||
Specifies ripping from 1[20.35] to the end of the disc
|
|
||||||
.TP
|
|
||||||
.B \-2
|
|
||||||
Specifies ripping from the beginning of the disc up to (and including) track 2
|
|
||||||
.TP
|
|
||||||
.B \-2:[30.35]
|
|
||||||
Specifies ripping from the beginning of the disc up to 2:[30.35]
|
|
||||||
.TP
|
|
||||||
.B 2-4
|
|
||||||
Specifies ripping from the beginning of track 2 to the end of track 4.
|
|
||||||
.P
|
|
||||||
Again, don't forget to protect square brackets and preceeding hyphens from
|
|
||||||
the shell.
|
|
||||||
|
|
||||||
.SH EXAMPLES
|
|
||||||
|
|
||||||
A few examples, protected from the shell:
|
|
||||||
.TP
|
|
||||||
Query only with exhaustive search for a drive and full reporting of autosense:
|
|
||||||
.P
|
|
||||||
@CDPARANOIA_NAME@ -vsQ
|
|
||||||
.TP
|
|
||||||
Extract an entire disc, putting each track in a seperate file:
|
|
||||||
.P
|
|
||||||
@CDPARANOIA_NAME@ -B
|
|
||||||
.TP
|
|
||||||
Extract from track 1, time 0:30.12 to 1:10.00:
|
|
||||||
.P
|
|
||||||
@CDPARANOIA_NAME@ "1[:30.12]-1[1:10]"
|
|
||||||
.TP
|
|
||||||
Extract from the beginning of the disc up to track 3:
|
|
||||||
.P
|
|
||||||
@CDPARANOIA_NAME@ -- "-3"
|
|
||||||
.TP
|
|
||||||
The "--" above is to distinguish "-3" from an option flag.
|
|
||||||
.SH OUTPUT
|
|
||||||
|
|
||||||
The output file argument is optional; if it is not specified,
|
|
||||||
@CDPARANOIA_NAME@ will output samples to one of
|
|
||||||
.BR cdda.wav ", " cdda.aifc ", or " cdda.raw
|
|
||||||
depending on whether
|
|
||||||
.BR \-w ", " \-a ", " \-r " or " \-R " is used (" \-w
|
|
||||||
is the implicit default). The output file argument of
|
|
||||||
.B \-
|
|
||||||
specifies standard output; all data formats may be piped.
|
|
||||||
|
|
||||||
.SH ACKNOWLEDGEMENTS
|
|
||||||
@CDPARANOIA_NAME@ sprang from and once drew heavily from the interface of
|
|
||||||
Heiko Eissfeldt's (heiko@colossus.escape.de) 'cdda2wav'
|
|
||||||
package. @CDPARANOIA_NAME@ would not have happened without it.
|
|
||||||
.P
|
|
||||||
Joerg Schilling has also contributed SCSI expertise through his
|
|
||||||
generic SCSI transport library.
|
|
||||||
.P
|
|
||||||
.SH AUTHOR
|
|
||||||
Monty <monty@xiph.org>
|
|
||||||
.P
|
|
||||||
Cdparanoia's homepage may be found at:
|
|
||||||
http://www.xiph.org/paranoia/
|
|
||||||
.P
|
|
||||||
Revised for use with libcdio by Rocky <rocky@gnu.org>
|
|
||||||
.P
|
|
||||||
The libcdio homepage may be found at:
|
|
||||||
http://www.gnu.org/software/libcdio
|
|
||||||
3
src/cd-paranoia/doc/ja/.gitignore
vendored
3
src/cd-paranoia/doc/ja/.gitignore
vendored
@@ -1,3 +0,0 @@
|
|||||||
/Makefile
|
|
||||||
/Makefile.in
|
|
||||||
/cd-paranoia.1
|
|
||||||
@@ -1,72 +0,0 @@
|
|||||||
# $Id: Makefile.am,v 1.2 2008/04/17 17:39:48 karl Exp $
|
|
||||||
#
|
|
||||||
# Copyright (C) 2005, 2008 Rocky Bernstein <rocky@gnu.org>
|
|
||||||
#
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU General Public License as published by
|
|
||||||
# the Free Software Foundation, either version 3 of the License, or
|
|
||||||
# (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
mansubdir=/jp/man1
|
|
||||||
manfiles = cd-paranoia.1
|
|
||||||
man_MANS = $(manfiles) cd-paranoia.1
|
|
||||||
transform = s,cd-paranoia,@CDPARANOIA_NAME@,
|
|
||||||
|
|
||||||
EXTRA_DIST = $(manfiles) cd-paranoia.1.in
|
|
||||||
|
|
||||||
install-man1: $(man_MANS)
|
|
||||||
@$(NORMAL_INSTALL)
|
|
||||||
test -z "$(man1dir)" || $(mkdir_p) "$(DESTDIR)$(mandir)$(mansubdir)"
|
|
||||||
@list='$(man1_MANS)'; \
|
|
||||||
l2='$(man_MANS)'; for i in $$l2; do \
|
|
||||||
case "$$i" in \
|
|
||||||
*.1*) list="$$list $$i" ;; \
|
|
||||||
esac; \
|
|
||||||
done; \
|
|
||||||
for i in $$list; do \
|
|
||||||
if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
|
|
||||||
else file=$$i; fi; \
|
|
||||||
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
|
|
||||||
case "$$ext" in \
|
|
||||||
1*) ;; \
|
|
||||||
*) ext='1' ;; \
|
|
||||||
esac; \
|
|
||||||
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
|
|
||||||
inst=`echo $$inst | sed -e 's/^.*\///'`; \
|
|
||||||
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
|
|
||||||
echo " $(INSTALL_DATA) $$file $(DESTDIR)$(mandir)$(mansubdir)/$$inst"; \
|
|
||||||
$(INSTALL_DATA) $$file $(DESTDIR)$(mandir)$(mansubdir)/$$inst; \
|
|
||||||
done
|
|
||||||
|
|
||||||
uninstall-man1:
|
|
||||||
@$(NORMAL_UNINSTALL)
|
|
||||||
@list='$(man1_MANS)'; \
|
|
||||||
l2='$(man_MANS)'; for i in $$l2; do \
|
|
||||||
case "$$i" in \
|
|
||||||
*.1*) list="$$list $$i" ;; \
|
|
||||||
esac; \
|
|
||||||
done; \
|
|
||||||
for i in $$list; do \
|
|
||||||
ext=`echo $$i | sed -e 's/^.*\\.//'`; \
|
|
||||||
inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
|
|
||||||
inst=`echo $$inst | sed -e 's/^.*\///'`; \
|
|
||||||
inst=`echo $$inst | sed '$(transform)'`.$$ext; \
|
|
||||||
echo " rm -f $(DESTDIR)$(mandir)$(mansubdir)/$$inst"; \
|
|
||||||
rm -f $(DESTDIR)$(mandir)$(mansubdir)/$$inst; \
|
|
||||||
done
|
|
||||||
|
|
||||||
mostlyclean-generic:
|
|
||||||
-rm -f *~ \#* .*~ .\#*
|
|
||||||
|
|
||||||
maintainer-clean-generic:
|
|
||||||
-@echo "This command is intended for maintainers to use;"
|
|
||||||
-@echo "it deletes files that may require special tools to rebuild."
|
|
||||||
-rm -f Makefile.in $(manfiles)
|
|
||||||
@@ -1,359 +0,0 @@
|
|||||||
.TH @CDPARANOIA_NAME@ 1
|
|
||||||
.\" Translated Sun Aug 22 18:02:41 JST 1999
|
|
||||||
.\" by FUJIWARA Teruyoshi <fujiwara@linux.or.jp>
|
|
||||||
.SH ̾<EFBFBD><EFBFBD>
|
|
||||||
@CDPARANOIA_NAME@ (Paranoia release III libcdio) \- <20><><EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><C7A5><EFBFBD> CD <20>ɤ<C9A4><DFBC><EFBFBD><EFBFBD>桼<EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̤ʥǡ<CAA5><C7A1><EFBFBD><EFBFBD>ȹ絡ǽ<E7B5A1><C7BD><EFBFBD><EFBFBD><EFBFBD>ġ<EFBFBD>
|
|
||||||
.SH <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>III <20><><EFBFBD><EFBFBD><EAA1BC><EFBFBD><EFBFBD>9.6 (17 Aug 1999)
|
|
||||||
.SH <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
.B @CDPARANOIA_NAME@
|
|
||||||
.RB [ options ]
|
|
||||||
.B span
|
|
||||||
.RB [ outfile ]
|
|
||||||
.SH <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
.B @CDPARANOIA_NAME@
|
|
||||||
<EFBFBD><EFBFBD> CD-DA <20><>ǽ<EFBFBD><C7BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CD-ROM <20>ɥ饤<C9A5>֤<EFBFBD><D6A4>饪<EFBFBD><E9A5AA><EFBFBD>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5>å<EFBFBD><C3A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ф<EFBFBD><D0A4><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υǡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> WAV, AIFF, AIFF-C, raw <20><><EFBFBD><EFBFBD><EFBFBD>ǥե<C7A5><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˥<EFBFBD><CBA5><EFBFBD><EFBFBD>֤<EFBFBD><D6A4>뤳<EFBFBD><EBA4B3>
|
|
||||||
<EFBFBD>䡢ɸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>뤳<EFBFBD>Ȥ<EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۤȤ<EFBFBD><EFBFBD>ɤ<EFBFBD> ATAPI, SCSI, <20><EFBFBD><E1A1BC><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD> CD-ROM <20>ɥ饤<C9A5>֤<EFBFBD><D6A4><EFBFBD><EFBFBD>ݡ<EFBFBD><DDA1>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|
||||||
.B @CDPARANOIA_NAME@
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD>оݤΥɥ饤<EFBFBD>֤<EFBFBD> CD-DA <20><>ǽ<EFBFBD><C7BD><EFBFBD><EFBFBD><EFBFBD>äƤ<C3A4><C6A4>뤫<EFBFBD>ɤ<EFBFBD><C9A4><EFBFBD><EFBFBD><EFBFBD>Ƚ<EFBFBD>̤Ǥ<CCA4><C7A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|
||||||
.P
|
|
||||||
ñ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥʤ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
.B @CDPARANOIA_NAME@
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̤˴<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʥǡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȹ絡ǽ<EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>顼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>»<EFBFBD>ǡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>äƤ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
.SH <EFBFBD><EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-v --verbose
|
|
||||||
<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD>Ф<EFBFBD><EFBFBD>ɤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ν<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤĤ<EFBFBD><EFBFBD>ơ<EFBFBD><EFBFBD>Ф<EFBFBD><EFBFBD>Ф<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۤɾ<EFBFBD>Ĺ<EFBFBD><EFBFBD>ɽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǥХå<EFBFBD><EFBFBD>κݤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-q --quiet
|
|
||||||
<EFBFBD>ɤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD><EFBFBD>ʹԾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>䥨<EFBFBD>顼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-e --stderr-progress
|
|
||||||
<EFBFBD>ʹԾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD>åѥ<C3A5><D1A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ץȤΤ<C8A4><CEA4><EFBFBD><EFBFBD><EFBFBD>)ɸ<>२<EFBFBD>顼<EFBFBD><E9A1BC><EFBFBD>Ϥ˽<CFA4><CBBD>Ϥ<EFBFBD><CFA4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-V --version
|
|
||||||
<EFBFBD>ץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΥС<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-Q --query
|
|
||||||
CD-ROM <20>ɥ饤<C9A5>֤μ<D6A4>ư<EFBFBD><C6B0><EFBFBD>Ф<EFBFBD><D0A4>Ԥ<EFBFBD><D4A4><EFBFBD>CD-ROM <20><> TOC <20><><EFBFBD>䤤<EFBFBD><E4A4A4><EFBFBD>碌<EFBFBD><EFA4BB>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-s --search-for-drive
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD> /dev/cdrom <20>Υ<EFBFBD><CEA5><EFBFBD>¸<EFBFBD>ߤ<EFBFBD><DFA4>Ƥ<EFBFBD><C6A4>Ƥ⡢CD-ROM <20>ɥ饤<C9A5>֤δ<D6A4><CEB4><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-h --help
|
|
||||||
.B @CDPARANOIA_NAME@
|
|
||||||
<EFBFBD>λȤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-p --output-raw
|
|
||||||
<EFBFBD>إå<EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD>Υǡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۥ<EFBFBD><EFBFBD>ȤΥХ<EFBFBD><EFBFBD>Ƚ<EFBFBD><EFBFBD>ǡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܤ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ץ벻<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD> raw <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 16 <20>ӥå<D3A5> PCM <20>ǡ<EFBFBD><C7A1><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>ƽ<EFBFBD><C6BD>Ϥ<EFBFBD><CFA4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|
||||||
<EFBFBD>Х<EFBFBD><EFBFBD>Ƚ<EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD>ȥ륨<EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>뤤<EFBFBD>ϥӥå<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꤹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD>ϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҥ<EFBFBD>
|
|
||||||
.B \-r
|
|
||||||
<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
.B \-R
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȤäƤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-r --output-raw-little-endian
|
|
||||||
<EFBFBD>إå<EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD>Υǡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> LSB first <20>ΥХ<CEA5><D0A5>Ƚ<EFBFBD><C8BD>ǡ<EFBFBD><C7A1><EFBFBD><EFBFBD><F3A5BFA5>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܤ<EFBFBD><DCA4><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ץ벻<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD> raw <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 16 <20>ӥå<D3A5> PCM <20>ǡ<EFBFBD><C7A1><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>ƽ<EFBFBD><C6BD>Ϥ<EFBFBD><CFA4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-R --output-raw-big-endian
|
|
||||||
<EFBFBD>إå<EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD>Υǡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> MSB first <20>ΥХ<CEA5><D0A5>Ƚ<EFBFBD><C8BD>ǡ<EFBFBD><C7A1><EFBFBD><EFBFBD><F3A5BFA5>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܤ<EFBFBD><DCA4><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ץ벻<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD> raw <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 16 <20>ӥå<D3A5> PCM <20>ǡ<EFBFBD><C7A1><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>ƽ<EFBFBD><C6BD>Ϥ<EFBFBD><CFA4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-w --output-wav
|
|
||||||
<EFBFBD>ǡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Micro$oft <20><> RIFF WAV <20><><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><C7BD>Ϥ<EFBFBD><CFA4>ޤ<EFBFBD>(WAV <20>ǡ<EFBFBD><C7A1><EFBFBD><EFBFBD>ΥХ<CEA5><D0A5>Ƚ<EFBFBD><C8BD><EFBFBD>
|
|
||||||
ɬ<EFBFBD><EFBFBD> LSB first <20>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><>
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-f --output-aiff
|
|
||||||
<EFBFBD>ǡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Apple <20><> AIFF <20><><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><C7BD>Ϥ<EFBFBD><CFA4>ޤ<EFBFBD>(AIFC <20>ǡ<EFBFBD><C7A1><EFBFBD><EFBFBD>ΥХ<CEA5><D0A5>Ƚ<EFBFBD><C8BD><EFBFBD>ɬ<EFBFBD><C9AC>
|
|
||||||
MSB first <20>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><>
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-a --output-aifc
|
|
||||||
<EFBFBD>ǡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> Apple AIFF-C <20><><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><C7BD>Ϥ<EFBFBD><CFA4>ޤ<EFBFBD>(AIFF-C <20>ǡ<EFBFBD><C7A1><EFBFBD><EFBFBD>ΥХ<CEA5><D0A5><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɬ<EFBFBD><EFBFBD> MSB first <20>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><>
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.BI "\-B --batch "
|
|
||||||
cdda2wav <20><><EFBFBD><EFBFBD><EFBFBD>ΥХå<D0A5><C3A5><EFBFBD><EFBFBD>Ϥ<EFBFBD><CFA4>Ԥ<EFBFBD><D4A4>ޤ<EFBFBD><DEA4><EFBFBD>@CDPARANOIA_NAME@ <20>Ͻ<EFBFBD><CFBD>Ϥ<EFBFBD><CFA4>ȥ<EFBFBD><C8A5>å<EFBFBD><C3A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
ʣ<EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʬ<EFBFBD>䤷<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϥե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̾<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD><EFBFBD>ʬ<EFBFBD>ϡ<EFBFBD>'track(<28>ֹ<EFBFBD>)'
|
|
||||||
<EFBFBD>Ȥʤ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-c --force-cdrom-little-endian
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CD-ROM <20>ϴְ<CFB4><D6B0>ä<EFBFBD><C3A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𤷤ޤ<F0A4B7A4>(<28><><EFBFBD>뤤<EFBFBD>ϥ<EFBFBD><CFA5><EFBFBD><EFBFBD>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD>˴ؤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𤷤ޤ<EFBFBD><EFBFBD><EFBFBD>)<29><><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><CEA4>ᡢ@CDPARANOIA_NAME@ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD>ְ㤨<EFBFBD>뤳<EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɥ饤<EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥ륨<EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΥǥХ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
@CDPARANOIA_NAME@ <20>˰<EFBFBD><CBB0>碌<EFBFBD><EFA4BB><EFBFBD>ˤϡ<CBA4>
|
|
||||||
.B \-c
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-C --force-cdrom-big-endian
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>εդǡ<EFBFBD><EFBFBD>ǥХ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӥå<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΥǥХ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
@CDPARANOIA_NAME@ <20>˰<EFBFBD><CBB0>碌<EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.BI "\-n --force-default-sectors " n
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΥХå<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤ<EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD>Ǿ<EFBFBD>ñ<EFBFBD>̤<EFBFBD><EFBFBD>ɤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
1 <20><><EFBFBD><EFBFBD><EFBFBD>ɤ<C9A4><DFBC>ꤴ<EFBFBD>Ȥ<EFBFBD>
|
|
||||||
.B n
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>줬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͥ<EFBFBD><EFBFBD><EFBFBD>¿<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD>硢<EFBFBD>ɤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD>ñ<EFBFBD>̤<EFBFBD><EFBFBD>ɤ<EFBFBD><EFBFBD><EFBFBD>(@CDPARANOIA_NAME@ <20>ˤ<EFBFBD><CBA4>뼫ư<EBBCAB><C6B0><EFBFBD><EFBFBD><EFBFBD>Ϥ<EFBFBD><CFA4><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>ޤ<EFBFBD>)ʣ<><CAA3><EFBFBD>Ĥ<EFBFBD>ʬ<EFBFBD>䤹<EFBFBD>뤫<EFBFBD><EBA4AB><EFBFBD><EFBFBD><EFBFBD>¤<EFBFBD><C2A4>줿<EFBFBD>礭<EFBFBD><E7A4AD><EFBFBD><EFBFBD><EFBFBD>ϰϤǤ<CFA4><C7A4><EFBFBD>
|
|
||||||
<EFBFBD>ɤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
.B <EFBFBD><EFBFBD><EFBFBD>̤Ϥ<EFBFBD><EFBFBD>Υ<EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>٤<EFBFBD><EFBFBD>ǤϤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.BI "\-d --force-cdrom-device " device
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΥХå<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤˤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><EFBFBD>˸<EFBFBD><EFBFBD>Ĥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
ǽ<EFBFBD><EFBFBD> CD-ROM <20>ɥ饤<C9A5>֤ǤϤʤ<CFA4><CAA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꤷ<EFBFBD><EAA4B7>
|
|
||||||
.B device
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD>褦<EFBFBD>ˤ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѳ<EFBFBD>ǽ<EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD>դ<EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(ATAPI, SCSI, <20><EFBFBD><E1A1BC><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD>)<29><><EFBFBD><EFBFBD><EFBFBD>ĥǥХ<C7A5><D0A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꤹ<EFBFBD>뤳<EFBFBD><EBA4B3>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.BI "\-g --force-generic-device " device
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD>SCSI CD-ROM <20><><EFBFBD><EFBFBD><EFBFBD>ѥǥХ<C7A5><D0A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ū<EFBFBD><C5AA><EFBFBD>̡<EFBFBD><CCA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
.B \-d
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ߹<EFBFBD><EFBFBD>碌<EFBFBD>ƻȤ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ω<EFBFBD>ĤΤϡ<EFBFBD>SCSI <20><>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD>꤬ɸ<EFBFBD><EFBFBD><EFBFBD>Ȱۤʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.BI "\-S --force-read-speed " number
|
|
||||||
CD <20>ɥ饤<C9A5>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤ߹<C9A4><DFB9><EFBFBD>®<EFBFBD>٤<EFBFBD><D9A4><EFBFBD><EFBFBD>ꤹ<EFBFBD><EAA4B9><EFBFBD>ˤϡ<CBA4><CFA1><EFBFBD><EFBFBD>Υ<EFBFBD><CEA5>ץ<EFBFBD><D7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ū<EFBFBD><C5AA>
|
|
||||||
<EFBFBD>ȤäƤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28>ɥ饤<C9A5>֤<EFBFBD><D6A4>б<EFBFBD><D0B1><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><CEA5>ץ<EFBFBD><D7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD><D1A4><EFBFBD><EFBFBD>ȡ<EFBFBD>
|
|
||||||
<EFBFBD>ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>٤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>꤬<EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD>륢<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>餹<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-Z --disable-paranoia
|
|
||||||
<EFBFBD>ǡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><EFBFBD>
|
|
||||||
.b <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
̵<EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>-Z <20><><EFBFBD>ץ<EFBFBD><D7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD><D1A4><EFBFBD><EFBFBD>ȡ<EFBFBD>@CDPARANOIA_NAME@ <20><>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>åפ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>꤬ 0 <20>Ǥ<EFBFBD><C7A4><EFBFBD> cdda2wav <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD>褦<EFBFBD>˥ǡ<CBA5><C7A1><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD>ɤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꤹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
.B \-W ,
|
|
||||||
.B \-X ,
|
|
||||||
.B \-Y
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͭ<EFBFBD><EFBFBD><EFBFBD>ˤʤ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
.B \-Z \-W \-X \-Y
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD>
|
|
||||||
.B <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD>ʤ<EFBFBD><EFBFBD>ʤ顢
|
|
||||||
.B \-W
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
.B \-Z
|
|
||||||
<EFBFBD>ޤǤΥ<EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȹ<EFBFBD><EFBFBD>Υ<EFBFBD><EFBFBD>٥뤬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ū<EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD><EFBFBD>뤫<EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ºݤ<EFBFBD>ͭ<EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD>ˤʤ<EFBFBD><EFBFBD>ΤϺǸ<EFBFBD><EFBFBD>˻<EFBFBD><EFBFBD>ꤷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-Y --disable-extra-paranoia
|
|
||||||
<EFBFBD>ɤ<EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD>ǡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤ˤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD>Ĥޤꡢ
|
|
||||||
<EFBFBD>ǡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤ<EFBFBD><EFBFBD>궭<EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>륪<EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD>ʬ<EFBFBD>Υ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-X --disable-scratch-detection
|
|
||||||
<EFBFBD>ȹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǤϽ<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ鷺<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ф<EFBFBD><EFBFBD>ƴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
.B \-X
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꤷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>硢<EFBFBD><EFBFBD><EFBFBD>Ĥ<EFBFBD><EFBFBD><EFBFBD> CD <20><>Ϳ<EFBFBD><CDBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD> @CDPARANOIA_NAME@ <20><><EFBFBD>ɤ<C9A4><DFBC><EFBFBD>
|
|
||||||
<EFBFBD>μ<EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-W --disable-scratch-repair
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD>Ф<EFBFBD><EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݤĽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>줿<EFBFBD>ǡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ν<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϹԤ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ν<EFBFBD><EFBFBD>Ϥ<EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD><EFBFBD>(
|
|
||||||
.RB \-i
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><><EFBFBD><EFBFBD><EFBFBD>Ƥν<C6A4><CEBD>Υե졼<D5A5><ECA1BC><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˽<EFBFBD><CBBD>Ϥ<EFBFBD><CFA4><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
|
||||||
|
|
||||||
.SH <EFBFBD><EFBFBD><EFBFBD>Ϥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD>
|
|
||||||
.TP
|
|
||||||
.B
|
|
||||||
:-)
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><EFBFBD>Ͼ<EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD>
|
|
||||||
.TP
|
|
||||||
.B
|
|
||||||
:-|
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD>
|
|
||||||
.TP
|
|
||||||
.B
|
|
||||||
:-/
|
|
||||||
<EFBFBD>ɤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǥɥ<EFBFBD><EFBFBD>եȤ<EFBFBD>ȯ<EFBFBD><EFBFBD>
|
|
||||||
.TP
|
|
||||||
.B
|
|
||||||
:-P
|
|
||||||
<EFBFBD>Ǿ<EFBFBD>ñ<EFBFBD>̤<EFBFBD><EFBFBD>ɤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𤵤<EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>ʤ<EFBFBD>»<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD>ߥˤ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
.TP
|
|
||||||
.B
|
|
||||||
8-|
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥä<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD>꤬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
.TP
|
|
||||||
.B
|
|
||||||
:-0
|
|
||||||
SCSI/ATAPI <20>Υǡ<CEA5><C7A1><EFBFBD>ž<EFBFBD><C5BE><EFBFBD><EFBFBD><EFBFBD>顼
|
|
||||||
.TP
|
|
||||||
.B
|
|
||||||
:-(
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ф<EFBFBD><EFBFBD>줿
|
|
||||||
.TP
|
|
||||||
.B
|
|
||||||
;-(
|
|
||||||
<EFBFBD>ǡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
.TP
|
|
||||||
.B
|
|
||||||
:^D
|
|
||||||
<EFBFBD>ɤ<EFBFBD><EFBFBD>꽪λ
|
|
||||||
|
|
||||||
.SH <EFBFBD>ʹ<EFBFBD>ɽ<EFBFBD><EFBFBD><EFBFBD>ΰ<EFBFBD>̣
|
|
||||||
.TP
|
|
||||||
.B
|
|
||||||
<<3C><><EFBFBD>ڡ<EFBFBD><DAA1><EFBFBD>>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
.TP
|
|
||||||
.B
|
|
||||||
-
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɬ<EFBFBD><EFBFBD>
|
|
||||||
.TP
|
|
||||||
.B
|
|
||||||
+
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD>𤵤<EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>ʤ<EFBFBD>»<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD>ߥˤ<EFBFBD><EFBFBD>롣<EFBFBD><EFBFBD><EFBFBD>뤤<EFBFBD><EFBFBD><EFBFBD>̤Υ<EFBFBD><EFBFBD>顼<EFBFBD><EFBFBD><EFBFBD>ɤ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
.TP
|
|
||||||
.B
|
|
||||||
!
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD><EFBFBD><EFBFBD> 1 <20><><EFBFBD><EFBFBD><EFBFBD>θ<EFBFBD><CEB8>˥<EFBFBD><CBA5>顼<EFBFBD><E9A1BC><EFBFBD><EFBFBD><EFBFBD>Ĥ<EFBFBD><C4A4>ä<EFBFBD><C3A4><EFBFBD><EFBFBD>ɤ<C9A4><DFBC><EFBFBD><EFBFBD><EFBFBD>ʣ<EFBFBD><CAA3><EFBFBD><EFBFBD><F3B7ABA4>֤<EFBFBD><D6A4>Ƥ<EFBFBD>
|
|
||||||
Ʊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>顼<EFBFBD><EFBFBD>ȯ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@CDPARANOIA_NAME@ <20>Ϥ<EFBFBD><CFA4>Υ<EFBFBD><CEA5>顼<EFBFBD>ޤ<F2A4A6A4><DEA4><EFBFBD><EFBFBD>ФǤ<D0A4><C7A4>ʤ<EFBFBD><CAA4><EFBFBD>
|
|
||||||
.TP
|
|
||||||
.B
|
|
||||||
e
|
|
||||||
SCSI/ATAPI <20>Υǡ<CEA5><C7A1><EFBFBD>ž<EFBFBD><C5BE><EFBFBD><EFBFBD><EFBFBD>顼(<28><><EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD>)
|
|
||||||
.TP
|
|
||||||
.B
|
|
||||||
V
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>顼/<2F>ǡ<EFBFBD><C7A1><EFBFBD><EFBFBD>Υ<EFBFBD><CEA5><EFBFBD><EFBFBD>å<EFBFBD>
|
|
||||||
|
|
||||||
.SH <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 'span'
|
|
||||||
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> span <EFBFBD>ϡ<EFBFBD><EFBFBD>ɤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD>å<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD>ϥȥ<EFBFBD><EFBFBD>å<EFBFBD><EFBFBD>ΰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꤷ<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD>ΰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɬ<EFBFBD><EFBFBD>ɬ<EFBFBD>פǤ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
.B <EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
|
||||||
span <20><>ñ<EFBFBD>ʤ<EFBFBD><CAA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥʤ<C7A4><CAA4><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뤬<EFBFBD><EBA4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> span <20><>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4>ޤ<EFBFBD><DEA4>ʤ<EFBFBD>
|
|
||||||
<EFBFBD>褦<EFBFBD>˥<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̤Ǥ<EFBFBD><EFBFBD>礦<EFBFBD><EFBFBD>
|
|
||||||
.P
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> span <20>ϡ<EFBFBD>ñ<EFBFBD>ʤ<EFBFBD><CAA4>ȥ<EFBFBD><C8A5>å<EFBFBD><C3A5>ֹ椫<D6B9><E6A4AB><EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><D5A5>åȤȥ<C8A4><C8A5>ѥ<EFBFBD><D1A5><EFBFBD><EFBFBD>ȹ礻<C8B9>λ<EFBFBD><CEBB><EFBFBD>
|
|
||||||
<EFBFBD>Ȥʤ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD>åȤȥ<EFBFBD><EFBFBD>ѥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȹ礻<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꤹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD>ϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʲ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD>褦<EFBFBD>ˤʤ<EFBFBD><EFBFBD>ޤ<EFBFBD>:
|
|
||||||
.P
|
|
||||||
1[ww:xx:yy.zz]-2[aa:bb:cc.dd]
|
|
||||||
.P
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1 <20><> 2 <20>ϥȥ<CFA5><C8A5>å<EFBFBD><C3A5>ֹ<EFBFBD><D6B9>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD>ѳ<EFBFBD><D1B3>̤<EFBFBD><CCA4><EFBFBD><EFBFBD>ο<EFBFBD><CEBF>ͤϡ<CDA4><CFA1><EFBFBD><EFBFBD>ꤵ<EFBFBD>줿<EFBFBD>ȥ<EFBFBD><C8A5>å<EFBFBD>
|
|
||||||
<EFBFBD>ˤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>롢<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>٤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD>åȻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD>[aa:bb:cc.dd] <20><>
|
|
||||||
<EFBFBD>ֻ<EFBFBD><EFBFBD><EFBFBD>/ʬ/<2F><>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>פη<D7A4><CEB7><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD>ͤ<EFBFBD> 0 <20>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤϻ<C9A4><CFBB>ꤷ<EFBFBD>ʤ<EFBFBD><CAA4><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD>Ĥޤ<EFBFBD> [::20], [:20], [20], [20.] <20><><EFBFBD><EFBFBD> 20 <20>äȲ<C3A4><C8B2>ᤵ<EFBFBD>졢
|
|
||||||
[10:] <20><> 10 <20>äȲ<C3A4><C8B2>ᤵ<EFBFBD>졢[.30] <20><> 30 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȳ<EFBFBD><C8B2>ᤵ<EFBFBD><E1A4B5><EFBFBD>ޤ<EFBFBD>(75 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
1 <20>äǤ<C3A4>)<29><>
|
|
||||||
.P
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD>åȤ<EFBFBD> 1 <20>Ĥ<EFBFBD><C4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꤷ<EFBFBD>ʤ<EFBFBD><CAA4><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϳ<EFBFBD><CFB3>ϰ<EFBFBD><CFB0>֤Υ<D6A4><CEA5>ե<EFBFBD><D5A5>åȤ<C3A5>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD>ۤ<EFBFBD><EFBFBD>Ф<EFBFBD><EFBFBD>Ϥ<EFBFBD><EFBFBD>Υȥ<EFBFBD><EFBFBD>å<EFBFBD><EFBFBD>ν<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤǹԤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD>åȤ<EFBFBD> 1 <20>Ĥ<EFBFBD><C4A4><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD>ꡢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˥ϥ<EFBFBD><EFBFBD>ե<EFBFBD>(-)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤϡ<CBA4><CFA1><EFBFBD>ά<EFBFBD><CEAC><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4>륪<EFBFBD>ե<EFBFBD><D5A5>åȤ<C3A5>
|
|
||||||
<EFBFBD>ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD><EFBFBD><EFBFBD>뤤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>Ʋ<EFBFBD><EFBFBD>ᤵ<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʲ<EFBFBD><EFBFBD>˼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD>:
|
|
||||||
|
|
||||||
.TP
|
|
||||||
.B 1:[20.35]
|
|
||||||
<EFBFBD>ȥ<EFBFBD><EFBFBD>å<EFBFBD> 1 <EFBFBD><EFBFBD> 20 <EFBFBD>á<EFBFBD>35 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΰ<EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD>顢<EFBFBD>ȥ<EFBFBD><EFBFBD>å<EFBFBD> 1 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤǤ<EFBFBD><EFBFBD>ۤ<EFBFBD>
|
|
||||||
<EFBFBD>Ф<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
.TP
|
|
||||||
.B 1:[20.35]-
|
|
||||||
1[20.35] <EFBFBD>ΰ<EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤǤ<EFBFBD><EFBFBD>ۤ<EFBFBD><EFBFBD>Ф<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
.TP
|
|
||||||
.B \-2
|
|
||||||
<EFBFBD>ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD>å<EFBFBD> 2 <EFBFBD>ޤ<EFBFBD>(<28>ȥ<EFBFBD><C8A5>å<EFBFBD> 2 <EFBFBD><EFBFBD><EFBFBD>ޤߤޤ<EFBFBD>)<29><><EFBFBD>ۤ<EFBFBD><DBA4>Ф<EFBFBD><D0A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
|
||||||
.TP
|
|
||||||
.B \-2:[30.35]
|
|
||||||
<EFBFBD>ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2:[30.35] <EFBFBD>ΰ<EFBFBD><EFBFBD>֤ޤǵۤ<EFBFBD><EFBFBD>Ф<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
.TP
|
|
||||||
.B 2-4
|
|
||||||
<EFBFBD>ȥ<EFBFBD><EFBFBD>å<EFBFBD> 2 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD>å<EFBFBD> 4 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤǤ<EFBFBD><EFBFBD>ۤ<EFBFBD><EFBFBD>Ф<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
.P
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD>ˤʤ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѳ<EFBFBD><EFBFBD>̤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD>ˤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϥ<EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD><EFBFBD>ɬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD>ơ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ÿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD>褦<EFBFBD>ˤ<EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
.SH <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD>:
|
|
||||||
.TP
|
|
||||||
<EFBFBD>ɥ饤<EFBFBD>֤<EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ű<EFBFBD><EFBFBD>Ū<EFBFBD>˹Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD>Фη<EFBFBD><EFBFBD>̤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𤷤ޤ<EFBFBD>:
|
|
||||||
.P
|
|
||||||
@CDPARANOIA_NAME@ -vsQ
|
|
||||||
.TP
|
|
||||||
<EFBFBD>ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD>ۤ<EFBFBD><EFBFBD>Ф<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>줾<EFBFBD><EFBFBD><EFBFBD>Υȥ<EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̡<EFBFBD><EFBFBD>Υե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><EFBFBD>ޤ<EFBFBD>:
|
|
||||||
.P
|
|
||||||
@CDPARANOIA_NAME@ -B "1-"
|
|
||||||
.TP
|
|
||||||
<EFBFBD>ȥ<EFBFBD><EFBFBD>å<EFBFBD> 1 <20>λ<EFBFBD><CEBB><EFBFBD> 0:30.12 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1:10.00 <20>ޤǤ<DEA4><C7A4>ۤ<EFBFBD><DBA4>Ф<EFBFBD><D0A4>ޤ<EFBFBD>:
|
|
||||||
.P
|
|
||||||
@CDPARANOIA_NAME@ "1[:30.12]-1[1:10]"
|
|
||||||
.TP
|
|
||||||
<EFBFBD>ȥ<EFBFBD><EFBFBD>å<EFBFBD> 1 <20>λ<EFBFBD><CEBB><EFBFBD> 0:30.12 <20><><EFBFBD><EFBFBD> 1 ʬ<>֤Υǡ<CEA5><C7A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۤ<EFBFBD><DBA4>Ф<EFBFBD><D0A4>ޤ<EFBFBD>:
|
|
||||||
.P
|
|
||||||
@CDPARANOIA_NAME@ "1[:30.12]-[1:00]"
|
|
||||||
|
|
||||||
.SH <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD>ϥե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꤹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͼ<EFBFBD>ά<EFBFBD><EFBFBD>ǽ<EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꤵ<EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>
|
|
||||||
@CDPARANOIA_NAME@ <20>ϥ<EFBFBD><CFA5><EFBFBD><EFBFBD>ץ벻<D7A5><EBB2BB><EFBFBD><EFBFBD>
|
|
||||||
.BR cdda.wav ", " cdda.aifc ", " cdda.raw
|
|
||||||
<EFBFBD>Τ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>줫<EFBFBD>˽<EFBFBD><EFBFBD>Ϥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤΥե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˽<EFBFBD><EFBFBD>Ϥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD>ϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
.BR \-w ", " \-a ", " \-r "," \-R
|
|
||||||
<EFBFBD>Τ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><EFBFBD>äƷ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD>ޤ<EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꤷ<EFBFBD>ʤ<EFBFBD><CAA4><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
.BR \-w
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD>ǥե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͤǤ<EFBFBD>)<29><><EFBFBD><EFBFBD><EFBFBD>ϥե<CFA5><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꤹ<EFBFBD><EAA4B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
.B \-
|
|
||||||
<EFBFBD>ʤ<EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥ<EFBFBD>ɸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥ<EFBFBD><EFBFBD>Ф<EFBFBD><EFBFBD>ƹԤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤΥǡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD>ѥ<EFBFBD><EFBFBD>פ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
<EFBFBD>뤳<EFBFBD>Ȥ<EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
|
|
||||||
.SH <EFBFBD>ռ<EFBFBD>
|
|
||||||
@CDPARANOIA_NAME@ <20>δ<EFBFBD><CEB4>Ȥʤä<CAA4><C3A4>Τ<EFBFBD> Heiko Eissfeldt <20><><EFBFBD><EFBFBD>
|
|
||||||
(heiko@colossus.escape.de)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 'cdda2wav' <20>ѥå<D1A5><C3A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4>ꡢ
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> @CDPARANOIA_NAME@ <20>Υ<EFBFBD><CEA5>ե<F3A5BFA5><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʬ<EFBFBD><CAAC> cdda2wav <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>äƤ<C3A4><C6A4><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD>ΤǤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>cdda2wav <20><><EFBFBD>ʤ<EFBFBD><CAA4><EFBFBD><EFBFBD>С<EFBFBD>@CDPARANOIA_NAME@ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뤳<EFBFBD>ȤϤʤ<CFA4><CAA4>ä<EFBFBD><C3A4><EFBFBD>
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD>礦<EFBFBD><EFBFBD>
|
|
||||||
.P
|
|
||||||
Joerg Schilling <20><><EFBFBD><EFBFBD><F3A4ACBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SCSI <20>ǡ<EFBFBD><C7A1><EFBFBD>ž<EFBFBD><C5BE><EFBFBD>饤<EFBFBD>֥<EFBFBD><D6A5>꤫<EFBFBD>顢SCSI
|
|
||||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD><EFBFBD><EFBFBD>¿<EFBFBD><EFBFBD><EFBFBD>ؤФ<EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
.P
|
|
||||||
.SH <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
Monty <monty@xiph.org>
|
|
||||||
.P
|
|
||||||
cdparanoia <20>Υۡ<CEA5><DBA1><EFBFBD><EFBFBD>ڡ<EFBFBD><DAA1><EFBFBD><EFBFBD>ϰʲ<CFB0><CAB2>ξ<EFBFBD><CEBE><EFBFBD><EFBFBD>ˤ<EFBFBD><CBA4><EFBFBD><EFBFBD>ޤ<EFBFBD>:
|
|
||||||
.P
|
|
||||||
.ce
|
|
||||||
http://www.xiph.org/paranoia/
|
|
||||||
.P
|
|
||||||
libcdio <20>Υۡ<CEA5><DBA1><EFBFBD><EFBFBD>ڡ<EFBFBD><DAA1><EFBFBD><EFBFBD>ϰʲ<CFB0><CAB2>ξ<EFBFBD><CEBE><EFBFBD><EFBFBD>ˤ<EFBFBD><CBA4><EFBFBD><EFBFBD>ޤ<EFBFBD>:
|
|
||||||
.P
|
|
||||||
.ce
|
|
||||||
http://www.gnu.org/libcdio/
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
0 70 100
|
|
||||||
A |----------|-----|
|
|
||||||
B |-----|---------|
|
|
||||||
0 40 100
|
|
||||||
|
|
||||||
offset=-30
|
|
||||||
begin=30
|
|
||||||
end=100
|
|
||||||
|
|
||||||
0 70 100
|
|
||||||
A |----------|-----|
|
|
||||||
B |-----|---------|
|
|
||||||
50 90 150
|
|
||||||
|
|
||||||
offset=20
|
|
||||||
begin=30
|
|
||||||
end=100
|
|
||||||
|
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,126 +0,0 @@
|
|||||||
/* Declarations for getopt.
|
|
||||||
Copyright (C) 1989,90,91,92,93,94,96,97 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
NOTE: The canonical source of this file is maintained with the GNU C Library.
|
|
||||||
Bugs can be reported to bug-glibc@gnu.org.
|
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by the
|
|
||||||
Free Software Foundation; either version 2, or (at your option) any
|
|
||||||
later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
|
||||||
USA. */
|
|
||||||
|
|
||||||
#ifndef _GETOPT_H
|
|
||||||
#define _GETOPT_H 1
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* For communication from `getopt' to the caller.
|
|
||||||
When `getopt' finds an option that takes an argument,
|
|
||||||
the argument value is returned here.
|
|
||||||
Also, when `ordering' is RETURN_IN_ORDER,
|
|
||||||
each non-option ARGV-element is returned here. */
|
|
||||||
|
|
||||||
extern char *optarg;
|
|
||||||
|
|
||||||
/* Index in ARGV of the next element to be scanned.
|
|
||||||
This is used for communication to and from the caller
|
|
||||||
and for communication between successive calls to `getopt'.
|
|
||||||
|
|
||||||
On entry to `getopt', zero means this is the first call; initialize.
|
|
||||||
|
|
||||||
When `getopt' returns -1, this is the index of the first of the
|
|
||||||
non-option elements that the caller should itself scan.
|
|
||||||
|
|
||||||
Otherwise, `optind' communicates from one call to the next
|
|
||||||
how much of ARGV has been scanned so far. */
|
|
||||||
|
|
||||||
extern int optind;
|
|
||||||
|
|
||||||
/* Callers store zero here to inhibit the error message `getopt' prints
|
|
||||||
for unrecognized options. */
|
|
||||||
|
|
||||||
extern int opterr;
|
|
||||||
|
|
||||||
/* Set to an option character which was unrecognized. */
|
|
||||||
|
|
||||||
extern int optopt;
|
|
||||||
|
|
||||||
/* Describe the long-named options requested by the application.
|
|
||||||
The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
|
|
||||||
of `struct option' terminated by an element containing a name which is
|
|
||||||
zero.
|
|
||||||
|
|
||||||
The field `has_arg' is:
|
|
||||||
no_argument (or 0) if the option does not take an argument,
|
|
||||||
required_argument (or 1) if the option requires an argument,
|
|
||||||
optional_argument (or 2) if the option takes an optional argument.
|
|
||||||
|
|
||||||
If the field `flag' is not NULL, it points to a variable that is set
|
|
||||||
to the value given in the field `val' when the option is found, but
|
|
||||||
left unchanged if the option is not found.
|
|
||||||
|
|
||||||
To have a long-named option do something other than set an `int' to
|
|
||||||
a compiled-in constant, such as set a value from `optarg', set the
|
|
||||||
option's `flag' field to zero and its `val' field to a nonzero
|
|
||||||
value (the equivalent single-letter option character, if there is
|
|
||||||
one). For long options that have a zero `flag' field, `getopt'
|
|
||||||
returns the contents of the `val' field. */
|
|
||||||
|
|
||||||
struct option
|
|
||||||
{
|
|
||||||
#if defined (__STDC__) && __STDC__
|
|
||||||
const char *name;
|
|
||||||
#else
|
|
||||||
char *name;
|
|
||||||
#endif
|
|
||||||
/* has_arg can't be an enum because some compilers complain about
|
|
||||||
type mismatches in all the code that assumes it is an int. */
|
|
||||||
int has_arg;
|
|
||||||
int *flag;
|
|
||||||
int val;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* Names for the values of the `has_arg' field of `struct option'. */
|
|
||||||
|
|
||||||
#define no_argument 0
|
|
||||||
#define required_argument 1
|
|
||||||
#define optional_argument 2
|
|
||||||
|
|
||||||
#if defined (__STDC__) && __STDC__
|
|
||||||
extern int getopt (int argc, char *const *argv, const char *optstring);
|
|
||||||
extern int getopt_long (int argc, char *const *argv, const char *shortopts,
|
|
||||||
const struct option *longopts, int *longind);
|
|
||||||
extern int getopt_long_only (int argc, char *const *argv,
|
|
||||||
const char *shortopts,
|
|
||||||
const struct option *longopts, int *longind);
|
|
||||||
|
|
||||||
/* Internal only. Users should not call this directly. */
|
|
||||||
extern int _getopt_internal (int argc, char *const *argv,
|
|
||||||
const char *shortopts,
|
|
||||||
const struct option *longopts, int *longind,
|
|
||||||
int long_only);
|
|
||||||
#else /* not __STDC__ */
|
|
||||||
extern int getopt ();
|
|
||||||
extern int getopt_long ();
|
|
||||||
extern int getopt_long_only ();
|
|
||||||
|
|
||||||
extern int _getopt_internal ();
|
|
||||||
#endif /* __STDC__ */
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* getopt.h */
|
|
||||||
@@ -1,190 +0,0 @@
|
|||||||
/* getopt_long and getopt_long_only entry points for GNU getopt.
|
|
||||||
Copyright (C) 1987,88,89,90,91,92,93,94,96,97,98
|
|
||||||
Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
NOTE: The canonical source of this file is maintained with the GNU C Library.
|
|
||||||
Bugs can be reported to bug-glibc@gnu.org.
|
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify it
|
|
||||||
under the terms of the GNU General Public License as published by the
|
|
||||||
Free Software Foundation; either version 2, or (at your option) any
|
|
||||||
later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program; if not, write to the Free Software
|
|
||||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
|
||||||
USA. */
|
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
|
||||||
#include <config.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "getopt.h"
|
|
||||||
|
|
||||||
#if !defined __STDC__ || !__STDC__
|
|
||||||
/* This is a separate conditional since some stdc systems
|
|
||||||
reject `defined (const)'. */
|
|
||||||
#ifndef const
|
|
||||||
#define const
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
/* Comment out all this code if we are using the GNU C Library, and are not
|
|
||||||
actually compiling the library itself. This code is part of the GNU C
|
|
||||||
Library, but also included in many other GNU distributions. Compiling
|
|
||||||
and linking in this code is a waste when using the GNU C library
|
|
||||||
(especially if it is a shared library). Rather than having every GNU
|
|
||||||
program understand `configure --with-gnu-libc' and omit the object files,
|
|
||||||
it is simpler to just do this in the source for each such file. */
|
|
||||||
|
|
||||||
#define GETOPT_INTERFACE_VERSION 2
|
|
||||||
#if !defined _LIBC && defined __GLIBC__ && __GLIBC__ >= 2
|
|
||||||
#include <gnu-versions.h>
|
|
||||||
#if _GNU_GETOPT_INTERFACE_VERSION == GETOPT_INTERFACE_VERSION
|
|
||||||
#define ELIDE_CODE
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef ELIDE_CODE
|
|
||||||
|
|
||||||
|
|
||||||
/* This needs to come after some library #include
|
|
||||||
to get __GNU_LIBRARY__ defined. */
|
|
||||||
#ifdef __GNU_LIBRARY__
|
|
||||||
#include <stdlib.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef NULL
|
|
||||||
#define NULL 0
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int
|
|
||||||
getopt_long (argc, argv, options, long_options, opt_index)
|
|
||||||
int argc;
|
|
||||||
char *const *argv;
|
|
||||||
const char *options;
|
|
||||||
const struct option *long_options;
|
|
||||||
int *opt_index;
|
|
||||||
{
|
|
||||||
return _getopt_internal (argc, argv, options, long_options, opt_index, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Like getopt_long, but '-' as well as '--' can indicate a long option.
|
|
||||||
If an option that starts with '-' (not '--') doesn't match a long option,
|
|
||||||
but does match a short option, it is parsed as a short option
|
|
||||||
instead. */
|
|
||||||
|
|
||||||
int
|
|
||||||
getopt_long_only (argc, argv, options, long_options, opt_index)
|
|
||||||
int argc;
|
|
||||||
char *const *argv;
|
|
||||||
const char *options;
|
|
||||||
const struct option *long_options;
|
|
||||||
int *opt_index;
|
|
||||||
{
|
|
||||||
return _getopt_internal (argc, argv, options, long_options, opt_index, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* Not ELIDE_CODE. */
|
|
||||||
|
|
||||||
#ifdef TEST
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
int
|
|
||||||
main (argc, argv)
|
|
||||||
int argc;
|
|
||||||
char **argv;
|
|
||||||
{
|
|
||||||
int c;
|
|
||||||
int digit_optind = 0;
|
|
||||||
|
|
||||||
while (1)
|
|
||||||
{
|
|
||||||
int this_option_optind = optind ? optind : 1;
|
|
||||||
int option_index = 0;
|
|
||||||
static struct option long_options[] =
|
|
||||||
{
|
|
||||||
{"add", 1, 0, 0},
|
|
||||||
{"append", 0, 0, 0},
|
|
||||||
{"delete", 1, 0, 0},
|
|
||||||
{"verbose", 0, 0, 0},
|
|
||||||
{"create", 0, 0, 0},
|
|
||||||
{"file", 1, 0, 0},
|
|
||||||
{0, 0, 0, 0}
|
|
||||||
};
|
|
||||||
|
|
||||||
c = getopt_long (argc, argv, "abc:d:0123456789",
|
|
||||||
long_options, &option_index);
|
|
||||||
if (c == -1)
|
|
||||||
break;
|
|
||||||
|
|
||||||
switch (c)
|
|
||||||
{
|
|
||||||
case 0:
|
|
||||||
printf ("option %s", long_options[option_index].name);
|
|
||||||
if (optarg)
|
|
||||||
printf (" with arg %s", optarg);
|
|
||||||
printf ("\n");
|
|
||||||
break;
|
|
||||||
|
|
||||||
case '0':
|
|
||||||
case '1':
|
|
||||||
case '2':
|
|
||||||
case '3':
|
|
||||||
case '4':
|
|
||||||
case '5':
|
|
||||||
case '6':
|
|
||||||
case '7':
|
|
||||||
case '8':
|
|
||||||
case '9':
|
|
||||||
if (digit_optind != 0 && digit_optind != this_option_optind)
|
|
||||||
printf ("digits occur in two different argv-elements.\n");
|
|
||||||
digit_optind = this_option_optind;
|
|
||||||
printf ("option %c\n", c);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'a':
|
|
||||||
printf ("option a\n");
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'b':
|
|
||||||
printf ("option b\n");
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'c':
|
|
||||||
printf ("option c with value `%s'\n", optarg);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'd':
|
|
||||||
printf ("option d with value `%s'\n", optarg);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case '?':
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
printf ("?? getopt returned character code 0%o ??\n", c);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (optind < argc)
|
|
||||||
{
|
|
||||||
printf ("non-option ARGV-elements: ");
|
|
||||||
while (optind < argc)
|
|
||||||
printf ("%s ", argv[optind++]);
|
|
||||||
printf ("\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
exit (0);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* TEST */
|
|
||||||
@@ -1,132 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright (C) 2004 Rocky Bernstein <rocky@gnu.org
|
|
||||||
Copyright (C) 1998 Monty xiphmont@mit.edu
|
|
||||||
and Heiko Eissfeldt heiko@escape.colossus.de
|
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** \file header.h
|
|
||||||
* \brief WAV, AIFF and AIFC header-writing routines.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "header.h"
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
static void PutNum(long num,int f,int endianness,int bytes){
|
|
||||||
int i;
|
|
||||||
unsigned char c;
|
|
||||||
|
|
||||||
if(!endianness)
|
|
||||||
i=0;
|
|
||||||
else
|
|
||||||
i=bytes-1;
|
|
||||||
while(bytes--){
|
|
||||||
c=(num>>(i<<3))&0xff;
|
|
||||||
if(write(f,&c,1)==-1){
|
|
||||||
perror("Could not write to output.");
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
if(endianness)
|
|
||||||
i--;
|
|
||||||
else
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Writes WAV headers */
|
|
||||||
void
|
|
||||||
WriteWav(int f, long int bytes)
|
|
||||||
{
|
|
||||||
/* quick and dirty */
|
|
||||||
|
|
||||||
write(f,"RIFF",4); /* 0-3 */
|
|
||||||
PutNum(bytes+44-8,f,0,4); /* 4-7 */
|
|
||||||
write(f,"WAVEfmt ",8); /* 8-15 */
|
|
||||||
PutNum(16,f,0,4); /* 16-19 */
|
|
||||||
PutNum(1,f,0,2); /* 20-21 */
|
|
||||||
PutNum(2,f,0,2); /* 22-23 */
|
|
||||||
PutNum(44100,f,0,4); /* 24-27 */
|
|
||||||
PutNum(44100*2*2,f,0,4); /* 28-31 */
|
|
||||||
PutNum(4,f,0,2); /* 32-33 */
|
|
||||||
PutNum(16,f,0,2); /* 34-35 */
|
|
||||||
write(f,"data",4); /* 36-39 */
|
|
||||||
PutNum(bytes,f,0,4); /* 40-43 */
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Writes AIFF headers */
|
|
||||||
void
|
|
||||||
WriteAiff(int f, long int bytes)
|
|
||||||
{
|
|
||||||
long size=bytes+54;
|
|
||||||
long frames=bytes/4;
|
|
||||||
|
|
||||||
/* Again, quick and dirty */
|
|
||||||
|
|
||||||
write(f,"FORM",4); /* 4 */
|
|
||||||
PutNum(size-8,f,1,4); /* 8 */
|
|
||||||
write(f,"AIFF",4); /* 12 */
|
|
||||||
|
|
||||||
write(f,"COMM",4); /* 16 */
|
|
||||||
PutNum(18,f,1,4); /* 20 */
|
|
||||||
PutNum(2,f,1,2); /* 22 */
|
|
||||||
PutNum(frames,f,1,4); /* 26 */
|
|
||||||
PutNum(16,f,1,2); /* 28 */
|
|
||||||
write(f,"@\016\254D\0\0\0\0\0\0",10); /* 38 (44.100 as a float) */
|
|
||||||
|
|
||||||
write(f,"SSND",4); /* 42 */
|
|
||||||
PutNum(bytes+8,f,1,4); /* 46 */
|
|
||||||
PutNum(0,f,1,4); /* 50 */
|
|
||||||
PutNum(0,f,1,4); /* 54 */
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Writes AIFC headers */
|
|
||||||
void
|
|
||||||
WriteAifc(int f, long bytes)
|
|
||||||
{
|
|
||||||
long size=bytes+86;
|
|
||||||
long frames=bytes/4;
|
|
||||||
|
|
||||||
/* Again, quick and dirty */
|
|
||||||
|
|
||||||
write(f,"FORM",4); /* 4 */
|
|
||||||
PutNum(size-8,f,1,4); /* 8 */
|
|
||||||
write(f,"AIFC",4); /* 12 */
|
|
||||||
write(f,"FVER",4); /* 16 */
|
|
||||||
PutNum(4,f,1,4); /* 20 */
|
|
||||||
PutNum(2726318400UL,f,1,4); /* 24 */
|
|
||||||
|
|
||||||
write(f,"COMM",4); /* 28 */
|
|
||||||
PutNum(38,f,1,4); /* 32 */
|
|
||||||
PutNum(2,f,1,2); /* 34 */
|
|
||||||
PutNum(frames,f,1,4); /* 38 */
|
|
||||||
PutNum(16,f,1,2); /* 40 */
|
|
||||||
write(f,"@\016\254D\0\0\0\0\0\0",10); /* 50 (44.100 as a float) */
|
|
||||||
|
|
||||||
write(f,"NONE",4); /* 54 */
|
|
||||||
PutNum(14,f,1,1); /* 55 */
|
|
||||||
write(f,"not compressed",14); /* 69 */
|
|
||||||
PutNum(0,f,1,1); /* 70 */
|
|
||||||
|
|
||||||
write(f,"SSND",4); /* 74 */
|
|
||||||
PutNum(bytes+8,f,1,4); /* 78 */
|
|
||||||
PutNum(0,f,1,4); /* 82 */
|
|
||||||
PutNum(0,f,1,4); /* 86 */
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
/*
|
|
||||||
$Id: header.h,v 1.2 2008/04/11 15:44:00 karl Exp $
|
|
||||||
|
|
||||||
Copyright (C) 2008 Rocky Bernstein <rocky@gnu.org>
|
|
||||||
Copyright (C) 1998 Monty <xiphmont@mit.edu>
|
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** \file header.h
|
|
||||||
* \brief header for WAV, AIFF and AIFC header-writing routines.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** Writes WAV headers */
|
|
||||||
extern void WriteWav(int f,long int i_bytes);
|
|
||||||
|
|
||||||
/** Writes AIFC headers */
|
|
||||||
extern void WriteAifc(int f,long int i_bytes);
|
|
||||||
|
|
||||||
/** Writes AIFF headers */
|
|
||||||
extern void WriteAiff(int f,long int_bytes);
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
#!/usr/bin/perl
|
|
||||||
# $Id: pod2c.pl,v 1.4 2008/06/19 15:44:31 flameeyes Exp $
|
|
||||||
# Utility to turn pieces of pod text to help text.
|
|
||||||
use File::Basename;
|
|
||||||
|
|
||||||
die "Expecting exactly one argument, a filename" if @ARGV != 1;
|
|
||||||
$filename = shift;
|
|
||||||
|
|
||||||
($name, $path, $suffix)=fileparse($filename,"\.txt");
|
|
||||||
close(STDIN);
|
|
||||||
open(STDIN, "<$filename")
|
|
||||||
|| die "Can't open $filename for reading:\n$!";
|
|
||||||
|
|
||||||
#$outfile="../${filename}.h";
|
|
||||||
#open(STDOUT, ">$outfile")
|
|
||||||
# || die "Can't open $outfile for writing:\n$!";
|
|
||||||
|
|
||||||
print "/*
|
|
||||||
Copyright (C) 1999, 2005, 2007, 2008 Rocky Bernstein
|
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
static const char ${name}_help[] =\n";
|
|
||||||
while(<STDIN>) {
|
|
||||||
s/["]/\\"/g;
|
|
||||||
# Change POD'ed items to quoted items, e.g. See L<y> and L<z> becomes
|
|
||||||
# See "y" and "z" (with \'s around the quotes)
|
|
||||||
s/[C,L,I,B,F]<(.+?)>/\\"$1\\"/g;
|
|
||||||
chomp;
|
|
||||||
if ( $^O eq "cygwin" ) {
|
|
||||||
s/\
|
|
||||||
//
|
|
||||||
}
|
|
||||||
print "\"$_\\n\"\n";
|
|
||||||
}
|
|
||||||
@@ -1,65 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright (C) 2004, 2008, 2010, 2011 Rocky Bernstein <rocky@gnu.org>
|
|
||||||
Copyright (C) 1998 Monty xiphmont@mit.edu
|
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/******************************************************************
|
|
||||||
*
|
|
||||||
* reporting/logging routines
|
|
||||||
*
|
|
||||||
******************************************************************/
|
|
||||||
|
|
||||||
|
|
||||||
/* config.h has to come first else _FILE_OFFSET_BITS are redefined in
|
|
||||||
say opensolaris. */
|
|
||||||
#ifdef HAVE_CONFIG_H
|
|
||||||
# include "config.h"
|
|
||||||
# define __CDIO_CONFIG_H__ 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <cdio/cdda.h>
|
|
||||||
#include "report.h"
|
|
||||||
|
|
||||||
int quiet=0;
|
|
||||||
int verbose=CDDA_MESSAGE_FORGETIT;
|
|
||||||
|
|
||||||
void
|
|
||||||
report(const char *s)
|
|
||||||
{
|
|
||||||
if (!quiet) {
|
|
||||||
fprintf(stderr, "%s", s);
|
|
||||||
fputc('\n',stderr);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
report2(const char *s, char *s2)
|
|
||||||
{
|
|
||||||
if (!quiet) {
|
|
||||||
fprintf(stderr,s,s2);
|
|
||||||
fputc('\n',stderr);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
report3(const char *s, char *s2, char *s3)
|
|
||||||
{
|
|
||||||
if (!quiet) {
|
|
||||||
fprintf(stderr,s,s2,s3);
|
|
||||||
fputc('\n',stderr);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright (C) 2008 Rocky Bernstein <rocky@gnu.org>
|
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
extern void report(const char *s);
|
|
||||||
extern void report2(const char *s, char *s2);
|
|
||||||
extern void report3(const char *s, char *s2, char *s3);
|
|
||||||
@@ -1,143 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright (C) 1999, 2005, 2008, 2009 Rocky Bernstein
|
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
const char usage_help[] =
|
|
||||||
"USAGE:\n"
|
|
||||||
" cd-paranoia [options] <span> [outfile]\n"
|
|
||||||
"\n"
|
|
||||||
"OPTIONS:\n"
|
|
||||||
" -v --verbose : extra verbose operation\n"
|
|
||||||
" -q --quiet : quiet operation\n"
|
|
||||||
" -e --stderr-progress : force output of progress information to\n"
|
|
||||||
" -l --log-summary <file> : save result summary to file\n"
|
|
||||||
" stderr (for wrapper scripts)\n"
|
|
||||||
" -V --version : print version info and quit\n"
|
|
||||||
" -Q --query : autosense drive, query disc and quit\n"
|
|
||||||
" -B --batch : 'batch' mode (saves each track to a\n"
|
|
||||||
" seperate file.\n"
|
|
||||||
" -s --search-for-drive : do an exhaustive search for drive\n"
|
|
||||||
" -h --help : print help\n"
|
|
||||||
"\n"
|
|
||||||
" -p --output-raw : output raw 16 bit PCM in host byte \n"
|
|
||||||
" order\n"
|
|
||||||
" -r --output-raw-little-endian : output raw 16 bit little-endian PCM\n"
|
|
||||||
" -R --output-raw-big-endian : output raw 16 bit big-endian PCM\n"
|
|
||||||
" -w --output-wav : output as WAV file (default)\n"
|
|
||||||
" -f --output-aiff : output as AIFF file\n"
|
|
||||||
" -a --output-aifc : output as AIFF-C file\n"
|
|
||||||
"\n"
|
|
||||||
" -c --force-cdrom-little-endian : force treating drive as little endian\n"
|
|
||||||
" -C --force-cdrom-big-endian : force treating drive as big endian\n"
|
|
||||||
" -n --force-default-sectors <n> : force default number of sectors in read\n"
|
|
||||||
" to n sectors\n"
|
|
||||||
" -o --force-search-overlap <n> : force minimum overlap search during\n"
|
|
||||||
" verification to n sectors\n"
|
|
||||||
" -d --force-cdrom-device <dev> : use specified device; disallow \n"
|
|
||||||
" autosense\n"
|
|
||||||
" -g --force-generic-device <dev> : really an alias for -d. Kept for \n"
|
|
||||||
" compatibility.\n"
|
|
||||||
" -S --force-read-speed <n> : read from device at specified speed\n"
|
|
||||||
" -t --toc-offset <n> : Add <n> sectors to the values reported\n"
|
|
||||||
" when addressing tracks. May be negative\n"
|
|
||||||
" -T --toc-bias : Assume that the beginning offset of \n"
|
|
||||||
" track 1 as reported in the TOC will be\n"
|
|
||||||
" addressed as LBA 0. Necessary for some\n"
|
|
||||||
" Toshiba drives to get track boundaries\n"
|
|
||||||
" correct\n"
|
|
||||||
" -m --mmc-timeout <n> : Set SCSI-MMC timeout to <n> seconds.\n"
|
|
||||||
" -O --sample-offset <n> : Add <n> samples to the offset when\n"
|
|
||||||
" reading data. May be negative.\n"
|
|
||||||
" -z --never-skip[=n] : never accept any less than perfect\n"
|
|
||||||
" data reconstruction (don't allow 'V's)\n"
|
|
||||||
" but if [n] is given, skip after [n]\n"
|
|
||||||
" retries without progress.\n"
|
|
||||||
" -Z --disable-paranoia : disable all paranoia checking\n"
|
|
||||||
" -Y --disable-extra-paranoia : only do cdda2wav-style overlap checking\n"
|
|
||||||
" -X --abort-on-skip : abort on imperfect reads/skips\n"
|
|
||||||
" -x --test-flags=mask : simulate CD-reading errors of ilk-mask n\n"
|
|
||||||
" mask & 0x10 - simulate underrun errors\n"
|
|
||||||
"\n"
|
|
||||||
"OUTPUT SMILIES:\n"
|
|
||||||
" :-) Normal operation, low/no jitter\n"
|
|
||||||
" :-| Normal operation, considerable jitter\n"
|
|
||||||
" :-/ Read drift\n"
|
|
||||||
" :-P Unreported loss of streaming in atomic read operation\n"
|
|
||||||
" 8-| Finding read problems at same point during reread; hard to correct\n"
|
|
||||||
" :-0 SCSI/ATAPI transport error\n"
|
|
||||||
" :-( Scratch detected\n"
|
|
||||||
" ;-( Gave up trying to perform a correction\n"
|
|
||||||
" 8-X Aborted (as per -X) due to a scratch/skip\n"
|
|
||||||
" :^D Finished extracting\n"
|
|
||||||
"\n"
|
|
||||||
"PROGRESS BAR SYMBOLS:\n"
|
|
||||||
"<space> No corrections needed\n"
|
|
||||||
" - Jitter correction required\n"
|
|
||||||
" + Unreported loss of streaming/other error in read\n"
|
|
||||||
" ! Errors are getting through stage 1 but corrected in stage2\n"
|
|
||||||
" e SCSI/ATAPI transport error (corrected)\n"
|
|
||||||
" V Uncorrected error/skip\n"
|
|
||||||
"\n"
|
|
||||||
"SPAN ARGUMENT:\n"
|
|
||||||
"The span argument may be a simple track number or a offset/span\n"
|
|
||||||
"specification. The syntax of an offset/span takes the rough form:\n"
|
|
||||||
" \n"
|
|
||||||
" 1[ww:xx:yy.zz]-2[aa:bb:cc.dd] \n"
|
|
||||||
"\n"
|
|
||||||
"Here, 1 and 2 are track numbers; the numbers in brackets provide a\n"
|
|
||||||
"finer grained offset within a particular track. [aa:bb:cc.dd] is in\n"
|
|
||||||
"hours/minutes/seconds/sectors format. Zero fields need not be\n"
|
|
||||||
"specified: [::20], [:20], [20], [20.], etc, would be interpreted as\n"
|
|
||||||
"twenty seconds, [10:] would be ten minutes, [.30] would be thirty\n"
|
|
||||||
"sectors (75 sectors per second).\n"
|
|
||||||
"\n"
|
|
||||||
"When only a single offset is supplied, it is interpreted as a starting\n"
|
|
||||||
"offset and ripping will continue to the end of he track. If a single\n"
|
|
||||||
"offset is preceeded or followed by a hyphen, the implicit missing\n"
|
|
||||||
"offset is taken to be the start or end of the disc, respectively. Thus:\n"
|
|
||||||
"\n"
|
|
||||||
" 1:[20.35] Specifies ripping from track 1, second 20, sector 35 to \n"
|
|
||||||
" the end of track 1.\n"
|
|
||||||
"\n"
|
|
||||||
" 1:[20.35]- Specifies ripping from 1[20.35] to the end of the disc\n"
|
|
||||||
"\n"
|
|
||||||
" -2 Specifies ripping from the beginning of the disc up to\n"
|
|
||||||
" (and including) track 2\n"
|
|
||||||
"\n"
|
|
||||||
" -2:[30.35] Specifies ripping from the beginning of the disc up to\n"
|
|
||||||
" 2:[30.35]\n"
|
|
||||||
"\n"
|
|
||||||
" 2-4 Specifies ripping from the beginning of track two to the\n"
|
|
||||||
" end of track 4.\n"
|
|
||||||
"\n"
|
|
||||||
"Don't forget to protect square brackets and preceeding hyphens from\n"
|
|
||||||
"the shell...\n"
|
|
||||||
"\n"
|
|
||||||
"A few examples, protected from the shell:\n"
|
|
||||||
" A) query only with exhaustive search for a drive and full reporting\n"
|
|
||||||
" of autosense:\n"
|
|
||||||
" cd-paranoia -vsQ\n"
|
|
||||||
"\n"
|
|
||||||
" B) extract up to and including track 3, putting each track in a seperate\n"
|
|
||||||
" file:\n"
|
|
||||||
" cd-paranoia -B -- \"-3\"\n"
|
|
||||||
"\n"
|
|
||||||
" C) extract from track 1, time 0:30.12 to 1:10.00:\n"
|
|
||||||
" cd-paranoia \"[:30.12]-1[1:10]\"\n"
|
|
||||||
"\n"
|
|
||||||
"Submit bug reports to bug-libcdio@gnu.org\n"
|
|
||||||
"\n"
|
|
||||||
;
|
|
||||||
@@ -1,124 +0,0 @@
|
|||||||
USAGE:
|
|
||||||
@CDPARANOIA_NAME@ [options] <span> [outfile]
|
|
||||||
|
|
||||||
OPTIONS:
|
|
||||||
-v --verbose : extra verbose operation
|
|
||||||
-q --quiet : quiet operation
|
|
||||||
-e --stderr-progress : force output of progress information to
|
|
||||||
stderr (for wrapper scripts)
|
|
||||||
-l --log-summary <file> : save result summary to file
|
|
||||||
-V --version : print version info and quit
|
|
||||||
-Q --query : autosense drive, query disc and quit
|
|
||||||
-B --batch : 'batch' mode (saves each track to a
|
|
||||||
seperate file.
|
|
||||||
-s --search-for-drive : do an exhaustive search for drive
|
|
||||||
-h --help : print help
|
|
||||||
|
|
||||||
-p --output-raw : output raw 16 bit PCM in host byte
|
|
||||||
order
|
|
||||||
-r --output-raw-little-endian : output raw 16 bit little-endian PCM
|
|
||||||
-R --output-raw-big-endian : output raw 16 bit big-endian PCM
|
|
||||||
-w --output-wav : output as WAV file (default)
|
|
||||||
-f --output-aiff : output as AIFF file
|
|
||||||
-a --output-aifc : output as AIFF-C file
|
|
||||||
|
|
||||||
-c --force-cdrom-little-endian : force treating drive as little endian
|
|
||||||
-C --force-cdrom-big-endian : force treating drive as big endian
|
|
||||||
-n --force-default-sectors <n> : force default number of sectors in read
|
|
||||||
to n sectors
|
|
||||||
-o --force-search-overlap <n> : force minimum overlap search during
|
|
||||||
verification to n sectors
|
|
||||||
-d --force-cdrom-device <dev> : use specified device; disallow
|
|
||||||
autosense
|
|
||||||
-g --force-generic-device <dev> : really an alias for -d. Kept for
|
|
||||||
compatibility.
|
|
||||||
-S --force-read-speed <n> : read from device at specified speed
|
|
||||||
-t --toc-offset <n> : Add <n> sectors to the values reported
|
|
||||||
when addressing tracks. May be negative
|
|
||||||
-T --toc-bias : Assume that the beginning offset of
|
|
||||||
track 1 as reported in the TOC will be
|
|
||||||
addressed as LBA 0. Necessary for some
|
|
||||||
Toshiba drives to get track boundaries
|
|
||||||
correct
|
|
||||||
-m --mmc-timeout <n> : Set SCSI-MMC timeout to <n> seconds.
|
|
||||||
-O --sample-offset <n> : Add <n> samples to the offset when
|
|
||||||
reading data. May be negative.
|
|
||||||
-z --never-skip[=n] : never accept any less than perfect
|
|
||||||
data reconstruction (don't allow 'V's)
|
|
||||||
but if [n] is given, skip after [n]
|
|
||||||
retries without progress.
|
|
||||||
-Z --disable-paranoia : disable all paranoia checking
|
|
||||||
-Y --disable-extra-paranoia : only do cdda2wav-style overlap checking
|
|
||||||
-X --abort-on-skip : abort on imperfect reads/skips
|
|
||||||
-x --test-flags=mask : simulate CD-reading errors of ilk-mask n
|
|
||||||
mask & 0x10 - simulate underrun errors
|
|
||||||
|
|
||||||
OUTPUT SMILIES:
|
|
||||||
:-) Normal operation, low/no jitter
|
|
||||||
:-| Normal operation, considerable jitter
|
|
||||||
:-/ Read drift
|
|
||||||
:-P Unreported loss of streaming in atomic read operation
|
|
||||||
8-| Finding read problems at same point during reread; hard to correct
|
|
||||||
:-0 SCSI/ATAPI transport error
|
|
||||||
:-( Scratch detected
|
|
||||||
;-( Gave up trying to perform a correction
|
|
||||||
8-X Aborted (as per -X) due to a scratch/skip
|
|
||||||
:^D Finished extracting
|
|
||||||
|
|
||||||
PROGRESS BAR SYMBOLS:
|
|
||||||
<space> No corrections needed
|
|
||||||
- Jitter correction required
|
|
||||||
+ Unreported loss of streaming/other error in read
|
|
||||||
! Errors are getting through stage 1 but corrected in stage2
|
|
||||||
e SCSI/ATAPI transport error (corrected)
|
|
||||||
V Uncorrected error/skip
|
|
||||||
|
|
||||||
SPAN ARGUMENT:
|
|
||||||
The span argument may be a simple track number or a offset/span
|
|
||||||
specification. The syntax of an offset/span takes the rough form:
|
|
||||||
|
|
||||||
1[ww:xx:yy.zz]-2[aa:bb:cc.dd]
|
|
||||||
|
|
||||||
Here, 1 and 2 are track numbers; the numbers in brackets provide a
|
|
||||||
finer grained offset within a particular track. [aa:bb:cc.dd] is in
|
|
||||||
hours/minutes/seconds/sectors format. Zero fields need not be
|
|
||||||
specified: [::20], [:20], [20], [20.], etc, would be interpreted as
|
|
||||||
twenty seconds, [10:] would be ten minutes, [.30] would be thirty
|
|
||||||
sectors (75 sectors per second).
|
|
||||||
|
|
||||||
When only a single offset is supplied, it is interpreted as a starting
|
|
||||||
offset and ripping will continue to the end of he track. If a single
|
|
||||||
offset is preceeded or followed by a hyphen, the implicit missing
|
|
||||||
offset is taken to be the start or end of the disc, respectively. Thus:
|
|
||||||
|
|
||||||
1:[20.35] Specifies ripping from track 1, second 20, sector 35 to
|
|
||||||
the end of track 1.
|
|
||||||
|
|
||||||
1:[20.35]- Specifies ripping from 1[20.35] to the end of the disc
|
|
||||||
|
|
||||||
-2 Specifies ripping from the beginning of the disc up to
|
|
||||||
(and including) track 2
|
|
||||||
|
|
||||||
-2:[30.35] Specifies ripping from the beginning of the disc up to
|
|
||||||
2:[30.35]
|
|
||||||
|
|
||||||
2-4 Specifies ripping from the beginning of track two to the
|
|
||||||
end of track 4.
|
|
||||||
|
|
||||||
Don't forget to protect square brackets and preceeding hyphens from
|
|
||||||
the shell...
|
|
||||||
|
|
||||||
A few examples, protected from the shell:
|
|
||||||
A) query only with exhaustive search for a drive and full reporting
|
|
||||||
of autosense:
|
|
||||||
@CDPARANOIA_NAME@ -vsQ
|
|
||||||
|
|
||||||
B) extract up to and including track 3, putting each track in a separate
|
|
||||||
file:
|
|
||||||
@CDPARANOIA_NAME@ -B -- "-3"
|
|
||||||
|
|
||||||
C) extract from track 1, time 0:30.12 to 1:10.00:
|
|
||||||
@CDPARANOIA_NAME@ "[:30.12]-1[1:10]"
|
|
||||||
|
|
||||||
Submit bug reports to bug-libcdio@gnu.org
|
|
||||||
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
/*
|
|
||||||
$Id: utils.h,v 1.5 2008/04/11 15:44:00 karl Exp $
|
|
||||||
|
|
||||||
Copyright (C) 2004, 2005, 2008 Rocky Bernstein <rocky@gnu.org>
|
|
||||||
Copyright (C) 1998 Monty <xiphmont@mit.edu>
|
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
#define copystring(s) (s) ? s : NULL;
|
|
||||||
|
|
||||||
static inline char *
|
|
||||||
catstring(char *buff, const char *s)
|
|
||||||
{
|
|
||||||
if(s){
|
|
||||||
if(buff)
|
|
||||||
buff=realloc(buff,strlen(buff)+strlen(s)+1);
|
|
||||||
else
|
|
||||||
buff=calloc(strlen(s)+1,1);
|
|
||||||
strcat(buff,s);
|
|
||||||
}
|
|
||||||
return(buff);
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
/*
|
|
||||||
$Id: version.h,v 1.6 2008/04/11 15:44:00 karl Exp $
|
|
||||||
|
|
||||||
Copyright (C) 2004, 2005, 2008 Rocky Bernstein <rocky@gnu.org>
|
|
||||||
Copyright (C) 2001 Monty <xiphmont@mit.edu>
|
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
/******************************************************************
|
|
||||||
* cdda_paranoia generation III release 9.8 libcdio
|
|
||||||
******************************************************************/
|
|
||||||
#include <cdio/version.h>
|
|
||||||
|
|
||||||
#define PARANOIA_VERSION \
|
|
||||||
"cdparanoia III release 9.8 libcdio " CDIO_VERSION "\n" \
|
|
||||||
"(C) 2001 Monty <monty@xiph.org> and Xiphophorus\n" \
|
|
||||||
"(C) 2004, 2005, 2008 Rocky Bernstein <rocky@gnu.org>\n\n" \
|
|
||||||
"Report bugs to bug-libcdio@gnu.org\n"
|
|
||||||
Reference in New Issue
Block a user