NEW features of cdrecord-1.8.1 (shortened): We are now only a few releases away from the final libscg that includes SCSI low level command transport. /*--------------------------------------------------------------------------*/ Late changes: cdrecord: - set exit code to 0 if only fixating fails in -dummy mode - suppress the unit not ready, long write in progress error for all drives - not only for Mitsumi drives - diskid.c now gives better understandable messages for CD-RW in case the disk id is illegal. mkisofs: - Unicode translation table for Apple available with -jcharset mac-roman mkhybrid: - README.rootinfo new - The -icon-position will now attempt to preserve folder window positions, scroll bars, views etc. for Apple/Unix file formats that support this information (currently CAP, EtherShare, Netatalk) - Added -root-info option - which works with the -icon-position option to preserve the root folder window characteristics. See README.rootinfo for more about this option. - Added 'mac-roman' to the -jcharset option. Converts Macintosh Roman file name characters to the correct Joliet characters. /*--------------------------------------------------------------------------*/ All: - Fixed a bug in most SCSI transport code: Missing curly brackets prevented scsi_close() from working corectly. - Allow cdrecord to work correctly on Linix if only Parallel Port interfaces are present. - fconv.c now works for HP-UX 11.x - avoffset.c now handles both SIGSEV and SIGBUS This should allow seamless compilation even if unexpected signals are thrown. - Fix for config.sub to handle newer HP-PA machines - Makefiles now have extended install rules that distinguish bewteen executables and other files - Mac OS X integration now complete again with respect to compilation. NOTE: Apple removed the SCSI generic driver so there is curently no cdrecordding suppport! It seems that Apple is not willing to support me. Next week, I will give them another try.... - fixed fconv.c to better emulate fcvt() by ecvt(). Cygwin32 has a broken fcvt() routine, so we are forced to emulate fcvt() by ecvt(). - #include string.h in scsi-linux-pg.c to get a correct prototype for 64 bit CPU's - cast for signed/unsigned comparison in *bytes.c and saveargs.c - addes RULES link for two HP-PA models: B132L (778) and J5000 (785). Cdrecord: - Added send_opc routine to driver interface. This was needed because of a Firmware bug in the Ricoh 7040 and 7060 drives. The MMC standad requires that a drive will automatically perform OPC but the Ricoh drives don't do this. - Check for sectorsize be doing a SCSI read capacity if the drive does not support block descriptors. - new option -waiti lets cdrecord wait until data is available on standard input before opening the SCSI driver. This allows cdrecord to be used for mkisofs ... | cdrecord ... when writing new sessions to a multi session disk. Before it was impossible because it does not work for two programs to open the SCSI driver simultaneously. - The error message "drive not ready long write in progress" is now handeled. Cdrecord may now be used to write in DAO mode to drives from Sony, Mitsumi and Goldstar. - Support for Sanyo CD-WO CRD-R24S - New Disk manufactuerers: "TAROKO INTERNATIONAL CO.,LTD.", "UNIDISC TECHNOLOGY CO.,LTD", "Hong Kong Digital Technology Co., Ltd.", "VIVA MAGNETICS LIMITED" "VICTOR COMPANY OF JAPAN, LIMITED", "VIVASTAR AG" - New option driveropts= supports to specify driver specific options to cdrecord. To get a list of valid options, call: cdrecord dev=b,t,l driveropts=help -checkdrive - New MMC driver specific option 'burnproof' and 'noburnproof' supports to use the new Buffer Underrun Proof (BURN-Proof) technology developed by Sanyo. If you like to use BURN-Proof recording, call cdrecord driveropts=burnproof ..... and test how it works: You will be able to record e.g. data that is read via NFS without any problems. I am interested to hear if someone is able to notice clicks or other bad things when recording audio CD's in BURN-Proof mode. NOTE: if the busy LED is blinking and the write LED is off, the drive is doing pit-accurate re-syncing of the write position. - /etc/default/cdrecord may now specify the cdrecord option driveropts. This allows to specify to use BURN-Proof mode by default. - New file cdrecord.dfl as master for /etc/default/cdrecord Tthe special string "" is the notation for "no driver opts". is supporting the BURN-Proof feature and reject the burnprof option if the drive does not support the feature. - Changelog updated - New manufacturers "VICTOR COMPANY OF JAPAN, LIMITED", "VIVASTAR AG" - set exit code to 0 if only fixating fails in -dummy mode - suppress the unit not ready, long write in progress error for all drives - not only for Mitsumi drives - diskid.c now gives better understandable messages for CD-RW in case the disk id is illegal. Cdda2wav: - new entries in TODO list :-) - fix magic in cdda2mp3 script - cleanup documentation (man page) - made -T deemphasizing automatic, when preemphasis is found make sure info files reflect the state of the audio file - fix index scanning (now begins at index 1 position) - allow failure of realtime scheduling, if run as non-root - fix percentage display for the 100% case - added sanity checks for nsectors and buffers settings now '-P1 -n1 -l1' will be adjusted as needed (with warning) - made multiple given file names work with mixed-cd also - moved shared memory allocation from interface.c to cdda2wav.c that allowed to take adjusted buffer and nsector settings into account - removed 'SONY CD-ROM CDU625 1.0' from is-not-mmc-exception table - added 'HITACHI CDR-7930' to the is-cdda-capable table - added a heuristic for formerly not recognized Toshiba ATAPI drives like XM-5402TA - added O_NONBLOCK when opening a cdrom drive for ioctl usage under Linux - fixed the ugly bug with the combination of -P1 and deemphasizing or channel swapping - added a loop when writing samples out. This fixes writing to a named pipe. - changed speed setting for MMC drives. Write speed is always set to 0xFFFF. The command might fail, since it is not mandatory. This hopefully avoids error messages in the stdout channel. Speed setting does not work fully satisfactorily yet. - moved free_sem() to the right place in order to compile semshm.c even with USE_SEMAPHORES - corrected variable names for swapped roles of parent/child - made cd-extra detection more robust. Implemented a rough file system lookup for the title description file - fixed the cdindex file generation wrt forbidden HTML characters - fixed TOC display for cd extra discs. now it is consistent with the output formatted for gui - now detects cactus data shield copy protection and disables ISRC and index scans for an extended drive live - disabled generation of .cddb and .cdindex files for xcdroast - added a line to display the inquiry result for easier debugging - added additional output for detection of MMC-drives - increased SCSI timeout to 300 seconds - added verbose output for ioctl()'ed methods (with -V) - fixed index scanning with ioctl under Linux - disabled the CDROMSTART ioctl in play_at method (made index scanning under FreeBSD very slow. - All files checked in again into SCCS - Better #ifdef's in ioctl.c - Corrected output for CD-Text - sound file interface adapted for mp3 encoding (wav.c, sunc. raw.c, aiff.c aifc.c) - global renaming of fill_buffer -> he_fill_buffer (name clash between cdda2wav and lame) - more sanity checks, check for (named) pipes and disable features that do not work then. - bugfix from Christoph Wohlgemuth: last wav file could get wrong size with -B - warn about currently broken and disabled MD5 checksumming - Changelog updated - fixed a bug in suid handling Planned features for cdda2wav in cdrtools 1.9alpha: - mp3 support: integration of an mp3 encoder (lame) for directly generated mp3 files. id3 tagging when titles are available from the cd - Cut silence at the front _and_ at the end of tracks, if required. - alternate method for index scanning for MMC drives - fixed several bugs with activated -w Option - fixed a display bug for -B and the last track - generation of info files is done only when full tracks are recorded. Readcd: - Now using autoconfiguration for drand48() - Late corrections in error rety mode are now handles correctly - statistics now printing correct values for Cygwin (see fconv.c hack for Cygwin bug above) Mkisofs: - Now mkisofs is finally in SCCS. After a hard time, all 7 years of development are put into revision control. Now future development is easier..... - Mkisofs now closes the SCSI driver after reading the previous session. This allows you to run mkisofs -C ... -M ... | cdrecord .... - Fix from James Pearson for Joliet disks that will have wrong directory structures when listed via win32. - First attempt to integrate the mkhyprid code from James Pearson. To make sure that no new bugs are introduced, a separate binary will be created. This also allows to make mkisofs non-beta while keeping mkhybrid in beta for a while. Note: mkisofs is now in final state (1.12.1) while mkhybrid will stay at 1.12.1a09. The next release of mkisofs will be bumped to 2.0 and mkisosfs/mkhybrid will be fully integrated. - -B option allows to use the special filename "..." to tell mkisofs to replicate the content of the last partition map to the end of the partition maps. This should allow mkisofs to be used to create Linux SILO boot disks for Sun Sparc systems. - Better recognition code for Apple Rhapsody - New options -hfs-type & -hfs-creator for mkhybrid code - Included a patch from "Artem Hodyush" that should fix all bugs that are related to Deep Directory Relocation with Rock Ridge and multi-session - All sources correctly indented and conforming to schily programming rules. - -B option allows to use the special filename "..." to tell mkisofs to replicate the content of the last partition map to the end of the partition maps. This should allow mkisofs to be used to create Linux SILO boot disks for Sun Sparc systems. You would need an updated SILO version and call: mkisofs -generic-boot SILO-BOOT_FILE -B "..." [other args] Note that "..." is meant literarily. - New option -jcharset, thanks to Georgy Salnikov allows to specify local character set that should be translated into Unicode. This allows to use character sets different from ISO-8859-1 (e.g. russian KOI-8 or DOS character sets) The default is: iso-8859-1 (UNIX) resp. code page 437 (DOS) As you see: code from Sibiria can help to freeze the code ;-) - struct iso_xa_dir_record according to Yellow book XA disks is now properly handled. If the disk is 100% standard compliant (e.g. Kodak Photo CD's), you will get no more BAD RRVERSION messages for those disks. However, there seem to be a lot of CD's out that have junk after ISO-directory records (some null bytes followed by correct 14 byte XA info). At the moment, mkisofs is not able to deal with these disks. You will need to specify the -no-rr option to disable all extended directory atributes. At the moment, it looks like the problematic disks have all been created by Adaptec products. - Joliet sorting is now done according to Unicode rules Thanks to James Pearson. - New Option -pad pads 32kB to the end of the ISO9660 image. This was needed as many operating systems have a read ahead bug and not all people will use cdrecord to write the images. - Now using a common SCCS history file for mkisofs.8 and mkhybrid.8 with help from James Pearson. - -l -full-iso9660-filenames option online help corrected - New option -hidden & -hidden-list to implement ISO9660 files with existence (hidden) attribute for DOS based systems. - Automatic numbering in filenames that is done to make filenames differ in 8.3 or 30 char iso9660 filenames is now done before the dot. This retains the original filename extension and makes it easier for non RR/Joliet users to do senseful things with the files. testabcd.c & testabcde.c would have been tralslated to TESTABCD.C;1 & TESTABCD.000;1 before and TESTABCD.C;1 & TESTA000.C;1 after the change. Note that I cannot use the Microsoft naming scheme TESTABCD.C;1 & TESTAB~0.C;1 Because '~' is an illegal character on ISO-9660 ! - extended checks for consistence of old session when doing multi-session. - New option -check-oldnames to force ISO-9660 name consistence check for all files of old session. It omitted, only filenames with a namelength > 31 are checked. - Increase the internal limit of the ISO-9660 filenamelength to 37 to allow file version numbers of 32767 not to overflow internal buffers. - ISO9660 filename translation code completely rewritten. - The filename extension is now retained if possible. This is even valid for long filenames. - The MAX Filename Length is now 31 (30 + '.' for files and 31 for dirs). - Even for long and shortened filenames, the last character is granted to be a dot. - New option -iso-level allows to set up the ISO9660 conformance level. - New Option -no-iso-translate to suppress translation of '#' and '~'. Request accorting to a hint from Georgy Salnikov Note that these characters are illegal for ISO9660. If you use this option, you will create an illegal CD but Microsoft insists in using these illegal characters. - The option -l / -full-iso9660-filenames is now reduced to the documented behaviour. The undocumented behaviour is moved to the new option -relaxed-filenames - New option -relaxed-filenames allows ISO9660 filenames to include digits, uppercase characters and all other 7 bit ASCII characters (no lowercase). - New option -allow-lowercase allows ISO9660 filenames to contain lowercase letters in addition to the current set of valid characters. - New option -allow-multidot allows ISO9660 filenames to contain more than one dot (leading dots are handled separately). - New option -use-fileversion allows mkisofs to use file version numbers from the filesystem. This option is the default on VMS. The handling of file versions is now correct. - Filenames ending in ".tar.gz" are now converted to ".tgz" Filenames ending in ".ps.gz" are now converted to ".psz" if the option -allow-multidot has not been specified. - Obsolete option -a -all-files has been removed. - New option -sort from James Pearson sorts file locations according to weighting. Read README.sort for more information. - New option -ucs-level to set Unicode conformance level for Joliet. The default has changed to level 3 again as we are now doing Unicode name translation. Note that this option currently only sets the escape sequence in the SVD. The Unicode tanslation is not affected. - isoinfo now currectly prints path tables (names are not null terminated) - Parsing of TRANS.TBL is now done adaptive instead of using hard coded numbers. - Make TRANS.TBL wider to allow 37 char iso names, avoid hard coded values - New option -max-iso9660-filenames allows ISO-9660 filenames to be 37 chars long. Use with extreme case as this may cause buffer overflows in the reading OS. As it mainly makes sense to use this option for HP-UX and IBM-AIX target systems, it should be used together with the -U option. This option forces to ommit ISO-9660 version numbers. - Print a warning when mkisofs creates a filesystem that violates ISO-9660 - isoinfo now correctly detects the Joliet supplemental volume descriptor. - Unicode translation table for Apple available with -jcharset mac-roman - Changelog updated TODO: - better Rock Rodge recognition for multi-session - read Joliet filenames with multi-session if no TRANS.TBL or RR is present. I am looking for a volouteer for this task. - implement Yellow book compliant XA extended dir attributes - add libecc/edc for CDI and similar. - add UDF support Mkhybrid: - Now compiles on Mac OS X without warnings. - -hfs-creator option: type corrected - HFS files now get the HFS_FNDR_ISINVISIBLE flag if the ISO file is a hidden file. - README.rootinfo new - The -icon-position will now attempt to preserve folder window positions, scroll bars, views etc. for Apple/Unix file formats that support this information (currently CAP, EtherShare, Netatalk) - Added -root-info option - which works with the -icon-position option to preserve the root folder window characteristics. See README.rootinfo for more about this option. - Added 'mac-roman' to the -jcharset option. Converts Macintosh Roman file name characters to the correct Joliet characters. CYGWIN NT-4.0 NOTES: To compile on Cygwin32, get Cygwin32-beta20 and install it. then create a symlink from /bin to the .../bin directory where bash is located. Now run 'make' ... For more information read README.win32 The files are located on: ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/alpha ... NOTE: These tar archives are 100% ansi compatible. Solaris 2.x tar and GNU tar may get some minor trouble. WARNING: Do not use 'mc' to extract the tar file! All mc versions before 4.0.14 cannot extract symbolic links correctly. WARNING: Do not use 'winzip' to extract the tar file! Winzip cannot extract symbolic links correctly. Joerg