Copyright: CDCOPY Helpfile  (c) Markus Barth (mbarth2193@aol.com)
Citation: CDCOPY Helpfile  (c) Markus Barth (mbarth2193@aol.com)


Introduction

CDCOPY is a tool to copy CDDA (audio-tracks) from CDROM/CDR to disk. It is not able to read data-tracks. It works with SCSI/ATAPI - CDROM/CDR under Windows-95 or SCSI or other drives under Windows-NT which support this mode of reading. Under Windows-95 the module always uses the ASPI-interface (WNASPI32.DLL) to read the CDDA. Under Windows-NT the ASPI and the generic WIN32 interface are supported. Registered users will be able to burn a CDR with the ripped audio-tracks. The module is not able to burn data or mixed mode CDRs. (Not all CD-Writers are supported at the moment!)

The module supports writing of many different file-formats - WAV, AU, RAW, MPG (MPEG 1 Layer 2),  MP3 (MPEG 1 Layer 3), MP3-WAV, MPA (MPEG 2 Layer 3). The MP3 format is supported through various compressors like L3ENC, Mp3Compressor, TOMPG (Xing) , the L3CODEC (MP3-WAV) of the FHS and the XING MPEG  Encoder. Before writing this format always a WAV-File is first written to disk to reach maximum reading speed with the CDROM. Compressing the files to MP3 format is not very quick.

Full support of the CDPLAYER.INI and the CDDB  - What the hell is CDDB ? CDDB is a net of computers around the world which manage a database with information like artist, title and track title about all available CDs. (look at www.cddb.com to get further information) So you don't have to enter artist and tracks etc. before ripping. Just connect to internet insert a CD and press CDDB. After some seconds all information you need is on the screen. The lyrics server www.lyrics.ch is supported too. After retrieving the CD-information from CDDB or CDPLAYER.INI this server provides you with the lyrics of a certain song.

The module supports sampling of tracks from different CDs in a comfortable way.

Options

Advanced

ATAPI/SCSI-Info

Save as

MP3-Tag Info

CDDB-file

Retrieve lyrics

CD Writing

Conf. batchmode

Special thanks to all the people who supported me through various nights while making this module, especially to A. Katranis (A.Katranis@gmx.net) and Ernst Elbe for excessive testing and permanent incentive, U2 for providing me with excellent music and all the others who reported errors and made useful suggestions.


Options

The program provides several options to manage the ripped files:

Overread def. sectors

Classic mode

Buffered reading

Jitter correction

Write MP3-ID Tag

Write lyrics Tag

MP3 parameter

Use L3Codec

Use L3ENC

Use TOMPG

Use Xing Encoder

Supress 0 samples

Use quick compression

Powermode

Use cddb files

Save tracknumber

Save artist

Save albumname

Save CDPLAYER.INI xmcd-title

Save tracktime

Use http-protocol

Servername

Hostname

Username

Mailserver

Path

Proxyserver

Addtional options you will find in INI-File


Overread def. sectors

Overread defect sectors

If you have damaged CDs this options allows it to copy the tracks. Defect sectors are overread. If there are not too much of them you will not hear that.


Classic mode

Using the classic mode the selection of several tracks results in "one" physical file. If you burn that file there will be no gaps between the tracks. You are not able to select a specific track at your cdplayer. Look after the popular CD-writing module DAO which will allow to set those gaps. Look at Write DAO-CUE-File to generate a suitable file.


Buffered reading

This options allows the module to read more than one sector at a time. This speeds up reading. If you have problems concerning reading try to reduce the number of the (Readbuffer) option in the Advanced menu.


Jitter correction

Checking this option invokes an algorithm during reading the CD which eliminates clicks and pops. Older drives are not able to read the sectors in a subsequent way. You can hear this in the resulting file through clicks and pops. By default elimination is done with 4 buffers. If you hear further distortions increase the Jitterbuffer in the Advanced

menu.


Write MP3-ID Tag

Some MP3-Players support the MP3-ID tag. This tag includes information about artist, music-category, recording year, track-title and a comment. If this option is checked the module writes the tag information to the written MP3 or MP3-WAV file. The requested information which can not be filled automatic must be entered before writing. This can be done in the menu MP3-Tag Info.

When using batchmode this information must be entered one time. It is used for all CDs!


Use L3enc

This option activates the the L3enc module when selected and MP3 format should be written. The path to find the module can be entered under Compressorpath in the Advanced menu. By default the module uses a bitrate of 128kb. This can be changed through making an entry in CDCOPY.INI - Bitrate=x. If the option Use quick compression is checked the module works in this special mode.  Look at the INI-File section for further information.


Use Xing Encoder

When saving files in MP3 (MPEG 1 Layer 3),  MPA (MPEG 2 Layer 3) or MPG (MPEG 1 Layer 2) format the Xing MPEG Encoder must be used for the MPA format. MPG can be written through built in routines or the Xing MPEG Encoder. Look at the INI-File section for further information.


Supress 0 samples

If the ripped file contains samples which consist only of binary 0s (total quietness) these samples are not written to disk. You can save some diskspace. When using Buffered reading you can specify how much time of silence should be kept.


Use quick compression

Some MP3-Compressor modules support a slow and a quick mode to encode the files. If this option is checked the quick mode - if supported - is used. This can result in files with a lower quality. People with "good ears" can hear that!


Powermode

The powermode is the fastest method to read the CDDA. During reading some samples the previous read samples are written. This mode of reading "can" result in files with bad quality. You should make an accustic control.


Use cddb files

Instead of retrieving CD-information from CDPLAYER.INI the module tries to open a cddb-file.

The name of the file is a calculated disk-id. This number is different to the id which is used to access the CDPLAYER.INI file. The module tries to open the file in the path which can be entered under cddbpath in the Advanced menu.


Save track number

Use the track number when building the filename for the track to write.


Save artist

Use the name of the artist when building the filename for the track to write. The name of the artist is taken from CDPLAYER.INI or a cddb-file.


Save album name

Use the album name when building the filename for the track to write. The name is taken from CDPLAYER.INI or a cddb-file.


Save CDPLAYER.INI cddb-title

Use the track name when building the filename. The track name is taken either from CDPLAYER.INI or a CDDB-file.


Save track time

Use the track time when building the filename for the track to write. Time is saved in format MM_SS_FF (minute, second, frame).


Use http-protocol

By default the module uses the CDDB-protocol to access the CDDB. If you check this option the module uses the http-protocol. If you do not have full access to the internet try it.


Server name

Here you can enter the name of the server where you want to make your cddb queries. A list of all available servers can be retrieved under www.cddb.com. Two of them are e.g. sunsite.unc.edu and  cddb.moonsoft.com.

This information must be filled to make a query. Do not enter the http:// prefix before using a proxy server. Using CDDBP or direct HTTP no prefix must be entered.


Host name

The host name must be filled too to make a cddb-query. For AOL-users this is e.g. aol.com. Other requested information are Username, and Servername.


User name

The user name must be filled to make a cddb-query. You typically enter here your e-mail address. If don't enter your e-mail address here, the database module will not be able to send you a mail if an entry is not valid.


Mail server

If you want to submit new entries to the cd-database a mail server-name must be entered here. New entries are submitted via e-mail.

If you don't get an e-mail after submitting a new entry there was no error in the file. You can make a new entry in the CDDB-file menu.


Path

To access the cddb using the http-protocol a path must be entered here. Typically this is /~cddb/cddb.cgi but not for all servers. Look at www.cddb.com to get detailed information which server uses which path.


Proxyserver

If you have only access to the internet through a proxyserver you must enter its name here. If you use this feature add the "http://" prefix for the servername. Look at INI-File section to find further information.


Readbuffer

The readbuffer option determines how many sectors are read at a time. By default the value is 25. Most drives support values up to 28. If you have problems during reading reduce the value.


Jitterbuffer

If you hear clicks and pops after ripping a track use the Jitter correction to eleminate them. By default the module uses 4 buffers for the algorithm. If this is not enough - you still here the clicks - set the value up by 1 and try again.


Reading speed

Some drives are able to modify the reading speed. By default a value of 0 is shown here. This means the drive should work with its default-speed. Sometimes you need to reduce the speed for some drives to gain files with a better quality. The higher the reading speed the lossier the quality. This is not true for all drives. So if you have file of bad quality try to reduce the reading speed here. You can enter values like 1, 2, 4, 8, 12, 16 ...

The speed calculation of the main dialogue is done with a rate of 150KB! So it is possible that you reach higher values than your CDROM/CDR is nominal able to because the reading of the CDDA is done with 176 KB.

If you own a 12X, 16X, 24X or 32X drives doesn't mean that you are able to read the audio tracks with such speed. The vendors name there modells with reading speed of data.

It is quite normal that the reading speed of audio tracks is lower than reading data. That differs also from the inner to the outer tracks. Some vendors support only 1X or 3X when reading audio-tracks. So don't blame the module if you only reach lower rates.

Some drive-types reduce their error correction when reading with higher speed!


Compressorpath

Here you can enter a path to your favorite compressor-module. If you don't make an entry the module tries to activate the compressor through the PATH-variable set in CONFIG.SYS or AUTOEXEC.BAT.


cddbpath

This variable contains a path to your cddb-files. It is used for reading (showing the information in the dialogue) and saving (retrieving the cddb information). If you don't make an entry here the files are saved and read from the actual path where you have started CDCOPY.


Savepath

This variable defines where the ripped tracks should be placed. Make sure that you have enough space on this drive because they need much of it. How much space you need for the tracks is shown in the right half of the main dialogue or the listbox where the tracks are listed.


Force use of generic interface

This option only makes sense for users of Windows-NT. If the ASPI-interface is available under Windows-NT too (the generic WIN32 interface is built in) you can force the use of the generic WIN32 interface by checking this option. By default the module tries to initialize the ASPI-interface. So if it is found it is used. Using the generic interface an additional feature is supported if you have more than one drive: you can dynamic change the drives through a combobox in the main dialogue. Using this interface is not so CPU-intensive as when reading using the ASPI-interface.


Rescan

Pressing this button scans the CDROM/CDR for a new CD and refreshes all information. If it doesn't work wait a few seconds and try again. Some drives need a time to recognize the new CD. Rescanning a disk can also be done through pressing ALT-R


Write

Pressing this button starts copying of the selected tracks. Files are written to the directory where you have started CDCOPY from or to the path you have entered under Savepath in the Advanced menu. Pressing ALT-W starts writing too.


Sel./Deselect

Pressing this button selects/deselects all tracks in the listbox. Pressing ALT-S is a shortcut.


CDDB

Pressing this button starts the query for the CD-database according to the protocol-information you have entered in the Options menu. Before a query can be started enter the requested information. If the module is configured for using the local cddb the module starts searching the files. A successful query results in a small file which is located in the cddb-path and the main dialogue is refreshed with the retrieved information. Pressing ALT-D is a shortcut.


MP3-Tag Info

Here you enter the information which is needed to write a MP3 id tag. Track title is taken from the listbox of the main dialogue. These information is written to file after compressing it. The information is located at the end of the file. Most of the MP3-players are able to show this information. Writing this information is possible for MP3 and MP3-WAV format. If you rename a MP3-WAV file to MP3 most of the Mp3-players are able to play it! The "Save as default" button saves the year and the category as default values in CDCOPY.INI. If these information don't change you will not have to reenter them when using the "Write MP3 ID Tag" option. This allows "one click" generating of MP3 ID tags when compressing the WAV files.


Advanced

The Advanced menu includes additional options:

Readbuffer

Jitterbuffer

Reading speed

Compressorpath

cddbpath

Savepath

Lyrics path

Force use of generic interface

Compress after writing

Filename template


ATAPI/SCSI-Info

SCSI-Info

The SCSI-info dialogue shows all availabe SCSI/ATAPI devices. You can use it to find the configuration parameters (Hostadapter, Lun, ID and drive letter) for specific drives. Set the driveletter according to the SCSI/ATAPI information you have chosen. If you leave the dialogue by pressing th OK-Button. the module internally changes to this drive.


Write DAO-CUE-File

The popular CD-writing module DAO works with so called CUE-sheets. It is an description how the software should burn a CDR.

After ripping some tracks this option writes such a CUE-sheet for all selected tracks. It is a seq. file which can be edited with a normal text-editor.


CDDB-file

This dialogue enables you to enter all information which is needed to submit a new entry for the CD-database. Pressing OK saves the entered information in a cddb-file which resides in the path where you started CDCOPY from or the cddbpath which you can enter in the Advanced menu.

Pressing OK generates an e-mail from entered information which will be send to the CD-database. Make sure that you have

entered a valid mailservername and have an active internet-connection before submitting the information.


ATAPI-interface

This option enables a specific mode of reading. If you have problems reading your drive try this option. Some drive-types need it.


Save as

If you don't want to use the default savepath for the selected files, you can change it here. Select a drive, path and filename to specify where the file(s) should be located and how they are named. You don't need to specify an extension for the file(s). This is determined by the filetype you choose. If you have selected more than one file the tracknumber of the file(s) is automatic appended.


Use local cddb

A local version of cddb is also availabe. To retrieve more information about that look at www.cddb.com.

If this option is checked the module tries to find the CD-information in the local CD-database which resides in the path which can be entered in the Advanced menu under Use local cddb.


Local cddb path

This variable contains the path to the local CD-database. This database has a special structure which should not be modified. The module expects the music categories as subdirectories of this path. If an entry is found here it is saved in cddbpath in the normal cddb-format (calculated diskid).


Registration

At the moment there is no restriction on none registered versions. I need the registration fee to finance my internet activities (distributing the program, answering the e-mails etc.) because in Germany this is very expensive.

Registered users will a receive a module which allows the writing of audio tracks to your CD-Writer and the possibility to rip tracks over several drives especially juke-boxes. Please send information which CD-Writer modell you use. My module doesn't support all modells.

Send personal money orders to:

Markus Barth

52511 Geilenkirchen

Holzmarkt 2

(Germany)

Online registration can be done at www.shareit.com. The program # is 100863

English page: http://www.shareit.com/programs/100863.htm

German page: http://www.shareit.com/deutsch/programs/100863.htm

The registration fee is 20 US$ or 30,-- DM

To retrieve my bank account please send an e-mail to:

mbarth2193@aol.com

or

mbarth@gmx.de

If you want to buy the source of the module send an e-mail to the above mentioned addresses.

Profit-making organizations may use this software only with explicit written permission with payment to the author.


Suggestions

If you have any suggestions or errors reports please feel free  to send me an e-mail. The actual version of CDCOPY is always  available at:

http://members.aol.com/mbarth2193 or www.actadivina.com/~cdcopy

Please send feedback about supported drives!

If you report any problems, please send the following information:

Version of CDCOPY you use

Vendor of your CDROM/CDR

Operating system

Which interface you use ASPI or WIN32 for Windows-NT


Troubleshooting

Not all CDROM are able to read the CDDA. There are several methods how the different drives support the reading. It is not standardized. The module uses two different interfaces to access the drive - The MCI to get the CD-information like track-length etc. and the ASPI or WIN32 interface to read the CD. This is done so to be able to use the module with Alpha-machines.

Attention - Please copy your CDCOPY.INI file in the Windows or Winnt directory!

ASPI interface

The message "Reading  error 4" means that with the used method of reading the drive is not able to do so. My module tries to use the right method of reading depending on the drive type it detects. Drives which can't be identified are first read with a method "most" (not all) drives support.

If you use an ATAPI drive try to use the check box in the SCSI-Info menu. Restart the module after setting this option.

Try to read again.

The message "No media present" appears if the drive chosen in the SCSI/ATAPI-Info menu contains no CD. If you have more than one drive and you switch the drives please set the drive letter to the drive you have configured through the SCSI-ID.

WIN32 interface

Not all dives which support reading using the ASPI-interface are able to use this interface. This depends on the CDROM driver implemented by MS. The reading of CDDA is not implemented for all drives which support this. So it can happen that reading over the ASPI interface is supported but not over the WIN32 interface.

The message "incorrect function" means that the driver is "not" able to read the drive. If you use an SCSI-drive you can install the appropriate ASPI drivers for your SCSI-Controller and try again.

Because I'm not able to buy all available CDROM/CDR it is useful if you tell me your problems by e-mail. It is possible to make a short diagnostic which method of reading is supported by your drive. This knowledge allows myself to extend the module to support more drives.


Alternate Toshiba mode

Another mode to read Toshiba drives. Use this after reading fails.


CD Writing

This option is only available for registered users. It is possible to burn the ripped tracks using this module.

It allows only to write audio tracks. Drag the WAVs or MP3s to record from the Explorer over the listbox.

Set the tracks in the order which you prefer on the CDR. Navigate with the "up" and "down" button.

The WAVs/MP3 will be recorded in the order which they have in the listbox. Selected MP3 files will be decompressed before writing. Two decompressors are supported: L3DEC and the L3CODEC - which one will be chosen depends on the compression option. L3CODEC is used if the L3CODEC compressor is enabled - for all other compressors the L3DEC is chosen.


INI-File

The CDCOPY options are saved in  CDCOPY.INI. This file must be located in the Windows or Winnt directory. Only files which are located there will be recognized. At the moment there is no registry support.

Some options are configurable through mask input, because they are new or rarely used:

Priority=6

Modify the priority MP3Compressor should use

http_port=8080

Different port to communicate over HTTP with CDDB-server (default = 80)

proxy_port=8080

Different port to communicate over HTTP with CDDB-server through a proxy server (default = 80)

Shutdown=1

Shutdown the computer after ripping and compressing

LookFurther=1

When using the local CDDB the module automatic starts an internet query if the entry was not found if this switch is set.

CutLastTrack=1

Some drives have problems to read the last track. This option "cut" a piece from the last track so that the drive is able to read it.

ForceSwap=1

This option forces a channel swap when using the generic WIN32 interface.


Writing speed

Speed which the CD-Writer should use.


Test mode

This mode doesn't perform physical writing. You should use it to simulate the writing process.


Swap bytes

Some drives need to write the tracks in wrong byteorder e.g. Yamaha, Philips and Ricoh.


Close disk after writing

Using this option the CDR is fixed after writing. After that operation you are not able to add a track.

As long as the CDR is not fixed you are able to add tracks, but you can't hear the recorded tracks on a

CDPLAYER.

After fixing a disk you are able to run the CDR on a normal CDPLAYER. You are not able to add a track!


Eject after writing

Eject the medium after writing. If recording doesn't start after a testmode writing please eject the medium.

Some drivetypes needs it.


Write playlist

A playlist file for WINAMP is created from the selected files. WINAMP is a favorite MP3-Player. Look at www.layer3.org to find it.


Alternate Matsushita mode

Another mode to read Matsushita (Panasonic) drives. Use this after reading fails.


Filename template

Enter a filename template like - (%2) %1 - the tokens are replaced with the specified content. Available tokens you can see in the Advanced menu.


Pregapsize

Set the pregapsize for the tracks to record. Default is 150 sectors (2 sec.).  The pregapsize is the pause between to tracks. Not all recorders support this option!


Conf. batchmode

Configure batchmode

The batchmode allows you to rip CDs over several drives especially juke-boxes. Enter the drive to start from and the associated drive-letter. Determine the mode of changing the drive - incresasing the LUN or the SCSI-ID. Enter the number of drives you want to rip from. Enable the batchmode.

If you don't fill in the tracklist the CD is ripped. The other way is to enter a tracklist for each drive (e.g. 1,3,5,7,8) - The tracks must be comma separated

If you press the Save-Button the selected tracks will be read from the drives in insubsequent order.

Another method to rip several (needed if more than 5) drives:

Make an ASCII file named "CDCOPY.DES" in the following format:

x:y:z;drive:;m;a,b,c,d,e

x:y:z: - The SCSI address of the drive to rip (Host adapter:LUN:TargetID)

drive: - The associated driveletter

m - extra mode to use when reading (0 = normal, 1 = atapi, 2 = Alt. Toshiba, 3 = Alt. Matsushita)

a,b,c, .. - The tracklist for this drive. If not tracklist is entered the whole CD is ripped

Check the switch "Retrieve info from ext. file"


Compress after writing

First copy all selected tracks to disk, then start compressing.


Invert selection

The selection of tracks will be inverted.


Save CDDB info

The current CD-information is saved for a later CDDB query. So you can select some CDs before querying them from CDDB. The selected CDs can be retrieved by choosing CDDB batch

So insert a disk - select Save CDDB info insert next CD select Save CDDB info ..

Connect to the internet press CDDB batch to retrieve all prepared disks.


CDDB batch

The CDs prepared for querying are retrieved through this option. Look at Save CDDB info

for further information concerning preparing some disks to retrive them in a batch.


Shortcut list

ALT - B	Start CDDB query for saved entries

ALT - D	Start CDDB query for actual disk

ALT - I	Save CD-information for query

ALT - R	Rescan disk

ALT - S	Select / Deselect whole CD

ALT - W	Start writing


Lyrics path

Path where the lyrics files should be placed.


Retrieve lyrics

The internet server www.lyrics.ch is able to provide you with the lyrics of a song. After retrieving the CD-information from CDDB or CDPLAYER.INI you can try to get the lyrics of the songs. If the query fails look with www.lyrics.ch how they have written the artist, albumname and title. If your information is written in different way use CDDB-file to correct it.

After that try again. The lyrics are queried for all selected tracks in the listbox. After retrieving the lyrics you can add them to the MP3, WAV-MP3 and MPA files by using the Write lyrics tag option.


Write lyrics Tag

Write the lyrics retrieved through the lyrics server Retrieve lyrics to the file. This is possible for MP3, MP3-WAV and MPA file formats.


Alert at end

Start playing the CD when job is done.


Use L3Codec

Due to problems with the MP3Comrepssor under Windows-NT I've implemented direct MP3 encoding through the L3Codec. This is the same as if you use the MP3-WAV format without the WAV file header.


Del. CDDB batch files

Delete existing batchfiles.


Normalize

If you have ripped tracks from different CDs which were recorded on different levels of loundness you can use this function to set them to a generel level.


CDDB2CSV

Select some CDDB files from the directory and convert it to CSV format. The resulting file is named CDCOPY.CSV and resides in the same path where the CDDB file are located. The file is "not" deleted when new information is written. After generating this format you can import the information in other DBs.

The record is structured as follows:

diskid, total time in sec., artist, CD-titel, titel of track 1, titel of track 2, ....


Track excerption

Double clicking on a track in the listbox of the main dialogue allows you to write a piece of a track. Just mark start and stop and press write. If several pieces are ripped they get a subsequent number in their filename - "Track_xx_yy" - where xx is the tracknumber and yy the subseq. number.

Press "Save" to save an excerption for batch ripping of excerptions. Only one selection is saved!

You are able to rip e.g. the first 10 seconds of every track with one write process.


Setup CDDB access

To retrieve CD-information from CDDB fill in the requested information for

Servername

Hostname

Username

Set Use cddb files

Insert a CD, connect to the internet and press CDDB

To use the HTTP protocol for accessing CDDB add the addtional information:

Use http-protocol

Path


Use TOMPG

TOMPG is another MPEG encoder of Xing technology (delivered with the MPlifier Encoder). It is a command line utility. To use it set the Compressorpath to the appropriate directory. The Bitrate (default is 128 KB) and the JStereo parameter can be modified through the MP3 parameter

dialogue.


MP3 Bitrate

Choose the bitrate which should be used for MP3 encoding. (Default 128 kbit/s)


MP3 channel mode

MP3 encoding supports several modes. The stereo channels can be merged together to get a higher compression (Joint stereo). Using stereo the channels are encoded separate.


MP3 parameter

This dialogue allows you to manipulate several MP3 encoding parameters. Chang them only if you know what you do.

MP3 Bitrate

MP3 channel mode


Write to CDPLAYER.INI

Write the CDDB info to CDPLAYER.INI.


Replace space by underscore

Replace space(s) by underscore(s)

Replace the spaces in CD-title, artist and track name by underscores.


MP3 decompression

Decompress MP3-files back to WAV format. Two decompressors are supported - L3CODEC and L3DEC. The decompressor to be used depends on the options for the compression. If the L3CODEC is used for compression - L3CODEC is used for decompression. For all other compressors the L3DEC is used.