tcdr is a menu-driven console front-end for CD recording (the programs - dozens - to which it is a front-end for are listed here).
I bought a CD writer a few weeks ago and was eager to try it with Linux. But - as I primarily use the console -- I got tired of command lines like this pretty soon:
cdrdao copy --source-device 0,0,0 --source-driver generic-mmc --device 0,1,0 \ --driver generic-mmc --buffers 128 --speed 24 --eject -n -v 2 --simulate
Then I made some aliases, but after a day or two I couldn't remember their
names :-)). Then I searched the Net for character based wrappers and found
some good stuff, but nothing was complete enough.
So I wrote this script - initially for myself, - but I thought maybe
it could be useful for others too. I generalized it and added a few
features and at this point I am satisfied with it.
That means it is time to release.
tcdr is developed, based on my own configuration,
which is, I believe somewhat common: one IDE-ATAPI CD-ROM and one IDE-ATAPI CD-RW with SCSI emulation
(Debian).
Note: starting from version 1.2 tcdr supports
configurations with only a burner device present. The only feature missing in this case
is
(for both audio and data mediums).
cdrdao copy
The only command line option is
.
Issuing <1
tcdr 1
Use it with care!
In fact you shouldn't use it at all until you got a fair
routine using tcdr.
Using <tcdr 1>
<Control-C>
is not trapped, so you can interrupt
the run whenever there is a coaster alert
. Test mode writing is also
available.
For development and testing I used the packages available in
Debian 2.2 - Potato, (except for
cdrtools
, lame
and bladeenc
),
but you should use the latest versions with no problems.
YMMV.
While tcdr primarily concentrates on CD-R burning I found that mastering audio CDs involves much more than that.
From version 1.0 tcdr checks the availability of different audio manipulation programs with the same functionality and uses them in a user definable order.
The parameters of the various sound conversion and extraction programs are alway set to produce RAW or WAV files in 44.1 kHz/16bit/stereo and .mp3 or .ogg files in 192kbit/stereo.
See the supported software and its capabilities here.
If you want to change one or more default programs, reorder
the defining variables inside the appropriate
construct in the <if ... elif ... else ... fi>
function at the beginning of the
tcdr executable.
detect_sw()
Example:
say both cdda2wav and cdparanoia
are installed, but you want to use
cdda2wav for CD ripping all the time.
Then you should change this section:
######### Rippers: ############################################## echo -ncd ripper:if type -p cdparanoia ;then CDRIPPER=$(type -p cdparanoia)elif type -p cdda2wav ;then CDRIPPER=$(type -p cdda2wav)else CDRIPPER=none!fi >/dev/null 2>&1 echo$CDRIPPER
to:
######### Rippers: ############################################## echo -ncd ripper:if type -p cdparanoia ;then CDRIPPER=$(type -p cdda2wav)elif type -p cdda2wav ;then CDRIPPER=$(type -p cdparanoia)else CDRIPPER=none!fi >/dev/null 2>&1 echo$CDRIPPER
...save, reload tcdr and voila!
This means mostly the ability of tcdr
to detect rewriteable mediums and to perform different blanking operations on them.
See the Miscellaneous menus for detailed descriptions.
Browse the Menu descriptions about transparently compressed CD (ZISO) support here:
Directory -> ZISO
Directory -> ZISO -> CDR/CDRW
ISO/ZISO -> CD-R/CD-RW
ISO/ZISO -> Overburn CD-R/CD-RW
and the notes about mkzftree.
Browse the Menu descriptions about burning different audio files to CD-R/CD-RWs here:
RAW/CDR (Audio tracks) -> CD-R/CD-R
WAV -> CD-R/CD-RW
MP3 -> CD-R/CD-RW
OGG -> CD-R/CD-RW
M3U -> CD-R/CD-RW
is performed by the function mktoc()
mktoc()
*.raw
*.wav
/mnt/images/sound/
TOC files are also extracted from audio mediums when ripping full RAW or WAV images.
is offered every time by tcdr
when a burning process is about to be started.
The command executed is always the exact copy of the real burning
command except that the option flag
in case of cdrecord and the option flags -dummy
or simulate
in case of cdrdao
are inserted into the original command line.
--simulate
Required packages is the software you will need to run
tcdr successfully. This will
suffice for most of the tasks
tcdr performs, like copying
audio or data CDs and extracting, mastering and recording ISO-9660 images.
For transparently compressed CDs in Linux get mkzftree.
For manipulating sound files and mastering audio CDs you should
consider installing some packages listed in the recommended
category.
The chances are that some of them are installed on your system already.
One of the combinations is to get lsof, SoX, vorbis-tools,
mpg123, bladeenc and cdparanoia to get a fully
functional setup.
- first mp3 player for Linux that i used: plays & decodes as well | |
- my favorite mixer | |
- still one of the best encoders | |
- buffered sound playing and recording (not really tested!) | |
- aumix and ncurses based mixer | |
- still one of the best CD rippers; get it, even if you have cdda2wav already | |
- cdp: ncurses CD player based on WorkBone 0.1 | |
- tcdr supports the old freeamp version which runs in console | |
- gcd: another ncurses based CD player (I like the interface) | |
- workbone and ncurses based CD player; get it from Debian, the URL is b0rken | |
- a very good encoder/decoder | |
- needed for the player functionality (/dev/dsp checks); probably installed | |
- another excellent player/decoder | |
- player for layer I/II/III mpeg audio streams | |
- mcd: yet another ncurses based CD player (name conflict with mcd from mtools!) | |
- needed for ZISO images | |
- a nice all-in-one player/decoder and mixer | |
- a very mature and good quality player/decoder | |
- a free replacement for mpg123 based on madplay | |
- buffered raw audio recording/playing (untested!) | |
- a nice little ncurses mixer | |
- sadp: feature rich CD player with ncurses | |
- this is a must (check the table and it's footer below) | |
- sound player for mpeg and wave files | |
- an optimized mpeg 1/2 layer 2 audio encoder | |
- buffered audio player | |
- the sound of the future? Could be. | |
- play and record WAV files | |
- this package contains wavp and wavr | |
- this one is my favorite CD player for console | |
- plays or records wav files from CLI or GUI |
Links to some of the packages are also available from the tcdr Freshmeat project page.
Supported software and capabilities | Mixer | CD player | CD ripper | Mp3 enc. | Mp3 dec. | Mp3 player | Ogg dec. | Ogg enc. | Ogg player | Raw player | Raw rec. | Raw to Wav conv. | Wav player | Wav rec. | Wav to Raw conv. |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
amp | Y(3) | Y | |||||||||||||
aumix | Y | ||||||||||||||
bladeenc | Y | ||||||||||||||
bplay | Y | ||||||||||||||
brec | Y | Y | |||||||||||||
cam | Y | ||||||||||||||
cdcd | Y | ||||||||||||||
cdda2wav | Y | ||||||||||||||
cdp | Y | ||||||||||||||
cdparanoia | Y | ||||||||||||||
freeamp | Y | ||||||||||||||
gcd | Y | ||||||||||||||
groovycd | Y | ||||||||||||||
lame | Y | Y | Y(5) | ||||||||||||
madplay | Y(3) | Y | |||||||||||||
maplay | Y(2) | Y | |||||||||||||
mcd | Y | ||||||||||||||
mp3blaster | Y(4) | Y(4) | Y | Y | |||||||||||
mpg123 | Y(3) | Y | |||||||||||||
mpg321 | Y(3) | Y | |||||||||||||
nmixer | Y | ||||||||||||||
ogg123 | Y | Y | |||||||||||||
oggdec | Y | Y(1) | |||||||||||||
oggenc | Y | ||||||||||||||
rexima | Y | ||||||||||||||
rawplay | Y | Y | |||||||||||||
rawrec | Y | ||||||||||||||
sadp | Y | ||||||||||||||
sox | Y | Y | Y | Y | Y | Y | |||||||||
splay | Y(2) | Y | Y | ||||||||||||
toolame | Y(6) | ||||||||||||||
tplay | Y | Y | |||||||||||||
wav2cdr | Y | Y | |||||||||||||
wavp | Y | ||||||||||||||
wavplay | Y | ||||||||||||||
wavr | Y | ||||||||||||||
wavrec | Y | ||||||||||||||
workbone | Y | ||||||||||||||
yarec | Y | Y |
(1) | - can play Ogg Vorbis files in conjunction with SoX. |
(2) | - can decode MP3 to RAW and WAV formats in conjunction with SoX. |
(3) | - can decode MP3 to RAW format in conjunction with SoX. |
(4) | - can decode MP3 to WAV from its own user interface and comes with it's own mixer (nmixer) as well. |
(5) | - can play MP3 files in conjunction with SoX. |
(6) | - encodes WAV to layer II files (extension .mp2). RAW encoding works only in conjunction with SoX. |
Of course you should install only what you like/need of the above; tcdr will be quite useful and functional with the required packages installed only.
dpkg -i tcdr_VER.deb
dpkg -r tcdr
.tar.gz
package:tar xzf tcdr-VER.tar.gz cd tcdr_VER ./install.sh
Or just copy the tcdr executable
somewhere in your path (/usr/local/bin/
Note: install.sh
will make backups of older files
(~
suffix).
.tar.gz
package:cd /usr/local/share/doc/tcdr_VER/ ./uninstall.sh
Note that neither dpkg or uninstall.sh will remove
anything from the /mnt/images/
To create a
alien -r ./tcdr_VER-0.deb rpm -i ./tcdr-VER-X.i386.rpm
The second command will install tcdr, and finally:
rpm -e tcdr-VER-X
uninstalls the package.
Running the first time, (must be run as root) tcdr
will check for availability of the required software (this is done by the
detect_sw()
ckpath()
/mnt/images/
PR[0]
) by editing the
tcdr executable or
tcdrrc.
/mnt/images/cdroot/
PR[5]
) by editing the
tcdr executable or tcdrrc.
/mnt/images/sound/
PR[4]
) by editing the
tcdr executable or tcdrrc.
Also, a temporary directory named /mnt/images/Z
Then, tcdr will check for the
presence of modules for the SCSI emulation and load the missing ones.
loop.o
will be loaded too. This is accomplished by the
startscr()
).
Note:
messages may appear at startup if the given module is compiled in the
kernel. In this case just ignore them, or else it is a good opportunity
for kernel compilation. :-0
insmod: moduleXY: no module by that name found
The next step is the configuration detection, that is, to get
the CD-ROMs and CD writers device names, mount points and SCSI addresses.
Detection is based on the /proc
fstab
and the existence of /dev/sr*
This is done by the detect_scsi()
At last tcdr will perform
medium detection to get some information about inserted mediums
found in the CD-ROM drives.
This is done by the di()
here.
cdrdao disk-info
On another note, tcdr calls
di()
ckspace()
Some other checks tcdr
performs: data, audio, mixed mode mediums, iso image size.
If everything is ok, tcdr will
display a splash
screen with the gathered information (function
splash()
<Enter>
to proceed to the main menu.
Make sure you have the latest versions of cdrecord, cdrdao, cdtool, isoinfo and dialog.
If the detection fails - could happen easily - you can always use the supplied
rc
file.
Its place is in /etc/tcdrrc
If you have only a burner device installed in your system and the detection fails you should edit tcdrrc in the following way:
Fill out the burner (CD-RW) section with proper values as shown in the example:
CDRW[0]=/dev/scd1# CD writer device file CDRW[1]=LG CD-RW# vendor and model ID CDRW[2]=/mnt/cdrw# CD writer mount point CDRW[3]=0,1,0# SCSIBUS,TARGET,LUN address
Next, edit the source device (CD-ROM) section to look exactly like this:
CDROM[0]=${CDRW[0]}CDROM[1]=${CDRW[1]}CDROM[2]=${CDRW[2]}CDROM[3]=${CDRW[3]}
For tcdrrc to be properly sourced, you should uncomment a line at the end
of the script (src_tcdrrc
), or you can do the same from the Miscellaneous
menu.
You can also edit the script itself and forget about the config file.
When leaving the main menu with <Cancel>
, if
there is an actual audio playing process running at that time,
tcdr will ask if the process
should be killed (
)
or stopped (<kill -s SIGKILL>
)
(function: <kill -s SIGSTOP>
). Default is to kill.
Only processes owned by the user and running on the current tty should
be affected.
If you want to get to the console without killing the playing process,
send tcdr to the background
with
.
If you find the startup screen annoying comment out the line which
reads
at the end of the script or use
splash
. This will result in
faster startup too, especially if there is no medium in some of the
drives.
1
The recording speed is automatically determined from the mediums type (no need to modify tcdr -- the writing speed won't be any faster).
Marking audio CD tracks as a CDR file format is widespread but, AFAIK there is no difference between raw and cdr files, so I decided to use RAW everywhere to avoid confusion.
When over-burning, always perform a dummy mode simulation of the
burning process first. Most mediums allow to burn an extra 6600
sectors (13516800 bytes).
Overburning requires at least cdrecord version 1.11a01.
In tcdr version 1.8 I changed
the cdda2wav interface (
) from
-I
to generic_scsi
, because
after a system upgrade this is the only way cdda2wav works for
me.
cooked_ioctl
To reverse this change replace all occurrences of
with cooked_ioctl
and the
generic_scsi
flags with
-D ${CDROM[0]}
.
-D ${CDROM[3]}
madplay RAW output is word order swapped. I swap it again (with
). If you don't like this and want
to skip the extra conversion step, remove the sox -x
line
in $SOX
mp32raw_madplay()
, and use
for burning.
This applies to amp too.
cdrecord -swab
If oggenc encodes noisy
Ogg Vorbis files from .raw
files say Yes
to the Swap byte order?
question (also available from
the RAW sub menu).
toolame is a layer II encoder, but tcdr
will produce files with .mp3
extension anyway.
Transparently compressed CD (ZISO) support requires at least mkisofs version
1.11a20 and mkzftree
and will work as expected only on Linux with
kernel configuration.
Personal experience: CONFIG_ZISOFS=y
There could be both normal and compressed sessions on the same medium,
but some drives may fail to mount such disks. In this case mount's
<session=>
To change the Publisher ID/Producer ID values search for
in the tcdr executable.
you@mail.net
Caveat:
Only WAV, MP3 and OGG files are supported when parsing and
processing items in an xmms play list file (M3U).
General advice: when executing
tcdr as
root
, please take extra care.
All suggestions are welcome regarding making
tcdr
bulletproof.
If sox is available this one-liner could be used to play RAW files from the command line a la wavp.
#!/bin/bash cat$@| sox -t raw -s -w -c2 -r 44100 -x - -t ossdsp -w -s /dev/dsp
For in-depth documentation UTSL and the bash(1) man pages.
If you want to report a bug please don't forget to include (at least some of) the following information:
1. - tcdr version |
|
2. - Linux kernel version |
|
3. - distribution and version |
|
4. - number & type of cdrom devices |
|
5. - user |
|
6. - the error itself |
|
7. - any other relevant information |
|
8. - dump(*) |
|
(*)
Dump of the tcdr run may be very useful as well.
This can be accomplished by placing a
command at the beginning of the tcdr
executable (but after the
line), saving and then issuing:
tcdr > tcdr.out 2>&1
The resulting
file should be
mailed to me as well - this should
improve the debugging process dramatically.
If you are security-conscious you may wish to check the file before mailing and/or use gpg(1). My public gnupg key is here.
tcdr will check if /mnt/images/img.iso
/mnt/images/img.iso
/mnt/images/cdroot/
This menu point is implemented in the
dir2i()
tcdr will check if /mnt/images/img.iso
/mnt/images/img.iso
/mnt/images/cdroot/
This menu point is implemented in the
dir2i2cd()
tcdr will check if /mnt/images/img.iso
/mnt/images/Z/
/mnt/images/cdroot/
/mnt/images/img.iso
/mnt/images/cdroot/Z/
This menu point is implemented in the
mkziso()
tcdr will check if
/mnt/images/img.iso
/mnt/images/Z/
/mnt/images/cdroot/
/mnt/images/img.iso
/mnt/images/cdroot/Z/
This menu point is implemented in the
cdrec()
dd will dump the contents of the medium in the source cdrom device
to /mnt/images/img.iso
This menu point is implemented in the
cd2i_dd()
readcd will dump the contents of the medium in the source device
to /mnt/images/img.iso
option will make readcd
extract sub-channel information and full TOC as well.
-clone
This menu point is implemented in the
cd2i_rcd()
cdrecord will record the image found at
/mnt/images/img.iso
This menu point is implemented in the
i2dcd()
cdrecord will record the image found at
/mnt/images/img.iso
option flag on the medium
in the burner device.
-overburn
This means about 12-13 extra MBytes.
Please see the notes about overburning.
This menu point is implemented in the
overburn()
cdrdao will copy the source medium to the target medium with an
intermediate temporary file.
This menu point is implemented in the
dcd2cd()
cdrdao will copy the source medium to the target medium on the fly
.
On the fly
means there will be no temporary .bin
file involved in the process.
This menu point is implemented in the
dcd2cdr()
CD Extra is a multi session CD with audio and data tracks.
Audio tracks are to be burned first to avoid CD players trying to
play data track first. Used medium must be blank or appendable and
will remain appendable after the operation ends.
tcdr will generate a TOC
file from the audio files found in /mnt/images/sound/
/mnt/images/cdroot/
To mount the data track use <mount
/dev/whatever /mount-point -tiso9660 -osession=2>
This menu point is implemented in the
mixcd2cd()
CD Extra is a multi session CD with audio and compressed data tracks. Audio tracks are burned first to avoid CD players trying to play data track first. Used medium must be blank or appendable and will remain appendable after the operation ends.
tcdr will generate a TOC
file from the audio files found in /mnt/images/sound/
/mnt/images/Z/
/mnt/images/cdroot/
/mnt/images/Z/
This menu point is implemented in the
mixcd2cd()
This will display the output of
.
cdrecord -toc
This menu point is implemented in the
msdcdinfo()
Multi session CDs contain data tracks only. The tracks are written one at a
time (one at a session), but all the data is accessible after a normal mount.
The medium must be blank, or appendable. If you are appending a new session
to an appendable mixed mode CD (CD Extra), the mounting command has the form of
<mount /dev/whatever /mount-point -tiso9660 -osession=2>
Medium will remain appendable for later sessions.
tcdr will look first for the image
file /mnt/images/img.iso
/mnt/images/cdroot/
Using an existing ISO file will work only in the case of the first session; all
subsequent sessions must consist of a newly generated ISO files, because they
contain information on the starting sector of the new session.
This menu point is implemented in the
msd2cd()
This will write a new, closing session to a multi session appendable medium.
The iso image should be generated from the contents of
/mnt/images/cdroot/
This menu point is implemented in the
msdclose()
This will display the output of
.
cdrecord -toc
This menu point is implemented in the
msdcdinfo()
This will create a bootable El Torito
CD.
mkisofs will create an ISO-9660 image from the contents of
/mnt/images/cdroot/
/mnt/images/cdroot/boot/boot.img
The last step is for cdrecord to write this image to
a CD. One thing to take care of is to ensure that the bootable
image contains generic CD-ROM drivers so the CD devices get
recognized at the next boot.
This menu point is implemented in the
bootcd()
If you don't have a floppy-image, but do have a bootable floppy, this
menu point is for you.
tcdr will dump the contents
of /dev/fd0
/mnt/images/cdroot/boot/boot.img
The floppy in /dev/fd0
/mnt/images/cdroot/boot/boot.img
This menu point is implemented in the
fd2bootimg()
tcdr will check if the source device
contains a medium with audio tracks on it and then copy the medium in the
source device on the medium in the burner with
.
Intermediate temporary cdrdao copy
bin
file will be created.
This menu point is implemented in the
acd2acd_t()
tcdr will check if the source device
contains a medium with audio tracks and then copy the medium in the
source device on the medium in the burner device on the fly
.
On the fly
means there will be no temporary .bin
file involved in the process.
This menu point is implemented in the
acd2acd()
tcdr will check if the source device
contains a medium with audio tracks and
extract TOC and a RAW image with all the tracks
to /mnt/images/sound/cdda.raw
This menu point is implemented in the
acd2acd_$CDRIPPER()
tcdr will check if the source device
contains a medium with audio tracks and extract the TOC and tracks to
separate WAV files in /mnt/images/sound/
This menu point is implemented in the
acd2wavs_$CDRIPPER()
tcdr will check if the source device
contains a medium with audio tracks and extract the TOC and a RAW image with all
the tracks to /mnt/images/sound/cdda.raw
This menu point is implemented in the
acd2raw_$CDRIPPER()
tcdr will check if the source device
contains a medium with audio tracks and extract the TOC and a WAV image with all
the tracks to /mnt/images/sound/cdda.wav
This menu point is implemented in the
acd2wav_$CDRIPPER()
tcdr will check if the source device
contains a medium with audio tracks and extract all the tracks to separate
WAV files in /mnt/images/sound/
This menu point is implemented in the
acd2mp3_$MP3ENCODER()
tcdr will check if the source device
contains a medium with audio tracks and extract all the tracks to separate
WAV files in /mnt/images/sound/
This menu point is implemented by combining the
infocd()
acd2wavs()
oggencode()
After selecting this menu point tcdr
will look for any RAW files in /mnt/images/sound/
This menu point is implemented in the
raw2cd()
This menu point will convert selected RAW files found in
/mnt/images/sound/
This menu point is implemented in the
raw2wav()
This menu point will convert selected RAW files found in
/mnt/images/sound/
This menu point is implemented in the
mp3enc()
This menu point will use oggenc to encode selected RAW files in
/mnt/images/sound/
swapraw()
This menu point is implemented in the
oggencode()
This menu point will swap the byte order of selected RAW files using
<sox ... -x ...>
This menu point is implemented in the
swapraw()
This will start recording from /dev/dsp
/mnt/images/sound/rec.raw
Hit Ctrl-C to stop recording.
This menu point is implemented in the
startrec()
After selecting this menu point tcdr
will look for any WAV files in /mnt/images/sound/
This menu point is implemented in the
wav2cd()
Choosing this menu point will convert selected WAV files found in
/mnt/images/sound/
This menu point is implemented in the
wav2raw()
Choosing this menu point will convert selected WAV files found in
/mnt/images/sound/
This menu point is implemented in the
mp3enc()
Choosing this menu point will convert selected WAV files found in
/mnt/images/sound/
This menu point is implemented in the
oggencode()
This will start recording from /dev/dsp
/mnt/images/sound/rec.wav
Hit Ctrl-C to stop recording.
This menu point is implemented in the
startrec()
This menu point will decode selected MP3 files found in
/mnt/images/sound/
/mnt/images/sound/*.wav
This menu point is implemented by combining the
mp3dec(), mktoc()
dao()
This menu point will decode selected MP3 files found in
/mnt/images/sound/
This menu point is implemented in the
mp3dec()
This menu point will decode selected MP3 files found in
/mnt/images/sound/
This menu point is implemented in the
mp3dec()
This menu point will decode selected OGG files found in
/mnt/images/sound/
/mnt/images/sound/*.wav
This menu point is implemented by combining the
oggdecode(), mktoc()
dao()
This menu point will decode selected OGG files found in
/mnt/images/sound/
This menu point is implemented in the
oggdecode()
This menu point will decode selected OGG files found in
/mnt/images/sound/
This menu point is implemented in the
oggdecode()
By selecting this menu point
tcdr will first look for
xmms default play list file
and in $HOME/.xmms/xmms.m3u
/mnt/images/sound/*.m3u
/mnt/images/sound/
/mnt/images/sound/
Note that the track order on the medium may not be the same
as the file order was in the play list.
This may be fixed in the future.
This menu point is implemented in the
m3u2acd()
By selecting this menu point
tcdr will first look for
xmms default play list file
and in $HOME/.xmms/xmms.m3u
/mnt/images/sound/*.m3u
/mnt/images/cdroot/
/mnt/images/cdroot/
This menu point is implemented in the
m3u2cd()
By selecting this menu point
tcdr will first look for
xmms default play list file
and in $HOME/.xmms/xmms.m3u
/mnt/images/sound/*.m3u
/mnt/images/sound/
This menu point is implemented in the
m3u2raw()
By selecting this menu point
tcdr will first look for
xmms default play list file
and in $HOME/.xmms/xmms.m3u
/mnt/images/sound/*.m3u
/mnt/images/sound/
This menu point is implemented in the
m3u2wav()
By selecting this menu point
tcdr will create an
xmms play list file based on audio files present in
/mnt/images/sound
/mnt/images/cdroot/
This menu point is implemented in the
m3usub()
tcdr will use an appropriate
(or user defined) player to play the selected audio files found in
/mnt/images/sound/
/dev/dsp
These menu points are implemented in the
startplay()
stopplay()
callsp()
cdrecord performs a full blank.
This menu point is implemented in the
blankfull()
cdrecord performs a fast blank.
This menu point is implemented in the
blankfast()
cdrecord performs track blanking.
This menu point is implemented in the
blanktrack()
cdrecord performs an UN-reserve track blanking.
This menu point is implemented in the
unreservetrack()
cdrecord blanks the tail of the last track.
This menu point is implemented in the
blanktracktail()
cdrecord blanks the closing of the last session.
This menu point is implemented in the
blankunclose()
cdrecord blanks the last session on the CD-RW.
This menu point is implemented in the
blanklastsession()
cdrecord fixates the appendable medium in the burner.
This menu point is implemented in the
fixate()
This menu point provides an interface for removal of most of the files created during a tcdr run:
and there are some other files/directory trees which are supposed to be removed automatically:
This menu point is implemented in the
cleanup()
This will display information on the source medium generated by the following program outputs:
This menu point is implemented in the
diskinfo()
This will display information on the burners medium generated by the following program outputs:
This menu point is implemented in the
diskinfo()
If for some reason tcdr cannot
detect properly the drives/devices/SCSI addresses and other settings, edit
/etc/tcdrrc
This menu point is implemented in the
src_tcdrrc()
Changelog | - Changelog.txt |
GNU_GPL | - GNU is Not Unix General Public License (the Copyright dammit!) |
README | - read it |
install.sh | - install script (in .tar.gz only) |
uninstall.sh | - uninstall script, generated by install.sh |
manual.html | - online version |
tcdr | - the executable |
tcdr.1 | - tcdr man page |
tcdr.png | - logo designed by me and the Gimp |
tcdrrc | - tcdr config file |
I included this sample tcdrrc for convenience:
##### tcdrrc - tcdr config file # Copyright (C) 2002 Szilard Torok <kobold2@yahoo.com> # # Edit this file and copy it to /etc/tcdrrc. # See the manual on how to use it. ####### Parameters to address devices: CDRW[0]="/dev/scd1" # CD writer device file CDRW[1]="LG CD-RW" # vendor and model ID CDRW[2]="/mnt/cdrw" # CD writer mount point CDRW[3]="0,1,0" # SCSIBUS,TARGET,LUN address CDROM[0]="/dev/scd0" # CD-ROM device file CDROM[1]="SONY CD-ROM" # vendor and model ID CDROM[2]="/cdrom" # CD-ROM FS mount point CDROM[3]="0,0,0" # SCSIBUS,TARGET,LUN address ####### Array PR for external program parameters: PR[0]="/mnt/images/" # Main working directory PR[1]="img.iso" # Temporary ISO file name PR[2]="$(date +%Y:%m:%d:%H:%M:%S)" # Volume ID (mkisofs -V) PR[3]="you@mail.net" # Publisher/Preparer ID (mkisofs -p -P) PR[4]="/mnt/images/sound/" # Place for sound images and sound files PR[5]="/mnt/images/cdroot/" # Master CD root directory PR[6]="/dev/fd0" # Floppy device PR[7]="boot.img" # Bootable floppy image PR[8]="boot/" # Directory to hold the boot catalog and the # bootable floppy image PR[9]="boot.catalog" # El Torito specification requires this file PR[10]="cdda.raw" # Audio image file name PR[11]="cdda.wav" # Audio image converted to WAV PR[12]="cdda.mp3" # Audio image converted to MP3 PR[13]="$(hostname)" # System ID (mkisofs -sysid) PR[14]="driver=mmc_cdr driveropts=burnfree" # cdrecord driver and option PR[15]="$HOME/.xmms/xmms.m3u" # default xmms play-list TMPO="/tmp/tcdro.$$" # Temporary file for program output TMP="/tmp/tcdr.$$" # Temporary file for user input TCDRRC="/etc/tcdrrc" # rc file (this file). TCDRPATH="$(echo $0 |sed 's/tcdr$//')" # Path to tcdr executable NOOUTP="$1" # Supress output windows if 1
Homepage: | tcdr.sourceforge.net/ |
Download: | prdownloads.sourceforge.net/tcdr/ |
Mirror: | szilard.tripod.com/tcdr/ |
Archive: | ibiblio.org/pub/Linux/apps/sound/cdrom/ |
Freshmeat: | freshmeat.net/projects/tcdr/ |
Tucows: | linux.tucows.com/mmedia/cd_burners.html |
This document: | tcdr.sourceforge.net/manual.html |
Man page: | tcdr.sourceforge.net/tcdr.1.html |
Changelog: | tcdr.sourceforge.net/Changelog.txt |
Fingerprint:
pub 1024D/BE5D586B 2002-05-31 Torok Szilard (2002-05-31 22:27:59)Key fingerprint = B27A E84B 2CF9 EA82 4D3A B428 8C07 52E9 BE5D 586B sub 1024g/A8BB9857 2002-05-31
GnuPG public key block:
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org mQGiBDz33PgRBACqb+gghP1jBCnlT/Q8tcLoDOCNunvKTY0VC2pq4RkwLeVPxgJc xi5ndpYvFhWjObuDd5+ylJ/hjc8OlQI7t3yCMAu/No9HM48HbyRkoXRe6HxRvrBy PHGi3ECFWNYfyHQZpFi3RHdcr4wG2mZuaZsCel1FwLABfBDBRh/4rQhT1wCgthUP 0WcLmPAWvi2rAH9uHspUJxkEAJ1fzMWK2HUt+qqVsCmbwQLu/0i+qE0yyXZ2Is30 MyiNRrfAODQ0YoDx63gd6t4fPNEr6fnNCYLLGVzoOx6Y2xn+36FvIHiRrga2yuF2 ubwUA5qJttYjJkcEWj5xt7pDZzd3xmr+M6R4JufA0YawHBhUztR7D/lD/alIQBb2 jX4lA/9463ya/Zi9rz7kFVy9Tf5QvhyTZIQmKd2UlO9I0dpmLrYQ6TQAlTLSTqzQ 4NxD36vWwvmYjn18Gb/967ovBgvtWGtz5QJlw1qK3luCORU/8UTWFKEDFVa4Ha/x 8NoS1pZcqmdHgguS393irO5WF/imXCqfuakysUw1bgsYAeugVbQ3VG9yb2sgU3pp bGFyZCAoMjAwMi0wNS0zMSAyMjoyNzo1OSkgPGtvYm9sZDJAeWFob28uY29tPohX BBMRAgAXBQI899z4BQsHCgMEAxUDAgMWAgECF4AACgkQjAdS6b5dWGsIDgCeIiaz Jj0aviJS39f3JSRS5N5/PdQAn1wreRsPC+1niX25PLtxcci990NXuQENBDz33QMQ BACiGkAieAyIRSaN3kt02Zu7UplG7gr3hW6U8zqEM2A8YyEVL/r+bhzxjvEqDOEE rpvp0Othwk/UFCw5F+NzvN9hc/ag5ynxhYQnx47jzd/5IhZTi5oFfeIe8+tEMoIC cpFIIVshWZG0GVC1jrWA/ijcjjy9JsTViVdbYk72Ha9OXwAEDQP/SAFgSKrTUuFH vFoF3Rx+oDuASruiS3JRv4y21eOwdew/XmivySHxNJO0KGRZGh26ctYIVFd+0Noe iheQ3ZAT6NKBa0qtZoni8IWkxManzoftzP+Q/njdeKunltak/70kaRyCEKvLfE3i 4YJh7NrRgwKhIqnHRjHtI8TGAe8VrOiIRgQYEQIABgUCPPfdAwAKCRCMB1Lpvl1Y a/LQAKCTjpCyktPMZoojl89+45MJ6K617gCgoHhbAHhxsHtI7DIF1jSBmXSfsVI= =CQgT -----END PGP PUBLIC KEY BLOCK-----
TCDR Copyright © 2002 Szilard Torok 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 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, write to the Free Software Foun- dation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA If you would like to negotiate alternate licensing terms, you may do so by contacting the author: Szilard Torok <kobold2@yahoo.com>Top