CDRSKIN(1) General Commands Manual CDRSKIN(1) (NAME) cdrskin - libburn CD DVD BD . (SYNOPSIS) cdrskin [options|track_source_addresses] (DESCRIPTION) cdrskin cdrecord CD . DVD BD . (superuser) . : CD-RW DVD-RW. DVD-RW DVD+RW DVD-RAM BD. CD-TEXT CD Track at Once (TAO) Session at Once . (Multi session) CD ( TAO) DVD-R[W] ( Incremental) DVD+R[/DL] BD-R. Disk-at-once DVD-RW DVD-R DVD-R DL. ISO-9660 DVD+RW DVD-RW DVD-RAM BD-RE (block device). CD-TEXT . (Bus scan) burnfree (padding) fifo. << (EXAMPLES)>> . : CD DVD BD DVD BD : - (track) . . cdrskin . MMC (session) . <<->> . cuefile= . . (appendable) cdrskin ( -multi ). (TOC) -toc cdrskin . CD-ROM . : (data) (audio). (throughput) CD-ROM CD . DVD BD . -audio <<.wav>> <<.au>> . . . ISO-9660 . mkisofs genisoimage xorriso . . . cdrskin -C . . (end-of-archive) . afio star . GNU tar ..SS : : -tao multi- session . -sao ( -dao) multi-session . CD-TEXT cuefile= . -dao -tao -sao . . CD : CD-R ( ). . -multi (appendable) . -tao ( stdin) . -sao . CD-RW (blank) . blank=fast . . . . DVD BD : DVD-RW DVD-R[DL] DVD+R[DL] BD-R (Sequential) . CD . DVD-RW . DVD-RW <> . (blank) (appendable) . DVD-RW DVD-R . DVD-RW blank=deformat_sequential . . DVD-R[W] : DAO . -multi . . tsize= tao_to_sao_tsize= . . DAO DVD-R 21h Incremental Streaming ( DVD-R DL). DAO -sao . . growisofs DVD- ROM/-Video DAO DVD-R[W] . Incremental Streaming DAO . Incremental Streaming -tao CD TAO -multi . DVD-R DL DVD-RW . CD-R[W] -audio . . DVD+R[/DL] BD-R DVD-R . DVD+R[/DL] BD-R -dummy . -sao -tao . BD-R Defect Management . : -multi DVD DVD-ROM . ( / single session). DVD BD : DVD+RW DVD-RW DVD- RAM BD-RE cdrskin . -audio . . -multi . -multi ISO-9660 --grow_overwriteable_iso . . ISO-9660 -toc . -sao -tao . -tao . DVD+RW DVD-RAM . . BD-RE . : blank=as_needed blank=format_defectmgt . DVD-RW <> . DVD <> . DVD+RW . blank=format_overwrite . . dvd+rw-format cdrecord wodim cdrskin DVD-RW . ..SS : CD DVD BD libburn . cdrskin --devices cdrskin --device_links . (w) . libburn (rw) . chmod a+rw /dev/sr0 chmod a+rw /dev/hdc chmod u+s,a+x /usr/bin/cdrskin . . rw ( "floppy"). Linux FreeBSD Solaris cdrskin/README . CD dev= cdrskin . . dev= cdrskin SCSI cdrecord : Bus,Target,Lun. "ATA" IDE SCSI : ATA:Bus,Target,Lun. cdrecord -scanbus . : libburn (major) (minor) SCSI ( /dev/sg0). : --allow_emulated_drives . (block devices) DVD-RAM . . (character devices) (pipes) DVD-R . "stdio:" . : dev=stdio:/tmp/my_pseudo_drive "stdio:/dev/fd/" . (file descriptor) . dev="stdio:/dev/fd/1" stderr stdout . ! . -dummy . --tell_media_space . -dummy (touch) . : cdrskin setuid --allow_emulated_drives stdio:/dev/null . . FILES . (OPTIONS) --help cdrecord. -help cdrecord. - cdrecord cdrskin ( -format blank= -load). . (frontend) . -version cdrskin libburn cdrskin ( ) . cdrecord Joerg Schilling : -atip /. CD-RW "Is erasable" . DVD "book type:" . BD "Mounted Media:" . -audio (audio) . PCM . little-endian ( ) -swab . -data ".wav" . MS-WAVE . . MS-WAVE . ".au" SUN Audio . -audio CD DVD BD. --audio_not_raw MS-WAVE SUN Audio . . . . . WAVE SUN Audio . ".wav" ".au" . blank=type CD-RW DVD-RW DVD-RW DVD+RW DVD- RAM BD. cdrskin . blank= : as_needed . . blank=fast . . DVD-RW . DVD-RW blank=format_overwriteable . BD-R . (: blank=as_needed cdrecord .) . . all CD-RW DVD-RW . ( --prodvd_cli_compatible --grow_overwriteable_iso ) fast CD-RW DVD- RW . ( --prodvd_cli_compatible --grow_overwriteable_iso ) deformat_sequential blank=all DVD-RW (overwriteable). . . -force CD-RW DVD-RW . (: blank=deformat_* cdrecord .) deformat_sequential_quickest blank=deformat_sequential DVD- RW . (-tao) . format_if_needed cdrskin . DVD-RW DVD-RAM BD-RE BD-R . . . . format_overwrite DVD-RW <>. . (: blank=format_* cdrecord .) format_overwrite_quickest format_overwrite (trailblazer session). <<>> (intermediate) . <<>> . format_overwrite_full DVD-RW format_overwrite . . . . -force . DVD+RW . <<>> (de- icing) ..TP format_defectmgt DVD-RAM BD (defect management). format_defectmgt_* . . format_defectmgt_cert_off (certification) . blank= . . "Format status:" --list_formats . format_defectmgt_cert_on . format_defectmgt_cert_off . . format_defectmgt_max DVD-RAM BD . format_defectmgt_min DVD-RAM BD . format_defectmgt_none format_defectmgt_min . format_defectmgt_none DVD-RAM BD-RE (payload) . . BD-R . format_defectmgt_payload_ DVD-RAM BD. "format_defectmgt_payload_" "s" "k" "m" . . format_by_index_ DVD-RW DVD+RW DVD-RAM BD. "format_by_index_" . --list_formats . "Format idx" format_by_index_ . . --list_formats blank=format_by_index_ . help (blanking). -checkdrive . . -copy . cuefile=path (session description) cue sheet CDRWIN. FILE . CD-TEXT cue sheet -text cdrskin . cdrskin TRACK AUDIO MODE1/2048 . FILE BINARY MOTOROLA WAVE . CDRWIN ARRANGER COMPOSER MESSAGE . CATALOG ISRC cue sheet mcn= "UPC / EAN" "ISRC" input_sheet_v07t= . CD-TEXT Q . cd_start_tno= . -dao -sao. CD Session at Once DVD-R[W] Disc-at-once. -data . -audio -xa1 . -mode2 -xa -xa2 -data CD . -xa1 CD-ROM XA mode 2 form 1 . -data . cdrskin CD-ROM XA -data . dev=target . --devices --device_links X,Y,Z -scanbus ATA:X,Y,Z dev=ATA -scanbus libburn ( "0" ) . . dev= "dev=0" . . "help" . --old_pseudo_scsi_adr Bus,Target,Lun . driveropts=opt "driveropts=noburnfree" ( buffer underrun). "driveropts=burnfree" . -dummy . . (blanking) . -dummy CD-R[W] DVD-R[W] stdio . -eject . -force cdrskin libburn . : -force . libburn . . -dummy libburn . cdrskin . "overburn" ( ) CD SAO . ( ). cdrecord = . libburn = . Linux . CD . -format blank=format_overwrite_full -force DVD+RW. fs=size fifo . : "k" "K" = 1024 "m" "M" = 1024k "g" "G" = 1024m "s" "S" = 2048 fifo 0 ( "4m" ). fifo . fifo . fifo fifo_start_at=size . gracetime=seconds (grace time) . ( 0 ) -immed : modesty_on_drive=1:min_percent=75:max_percent=95 cdrecord "Immed" . -immed cdrskin . use_immed_bit=off . index=list . CD SAO . . 0 . . . Min:Sec:Frame : Sector = ((Min*60)+Sec)*75+Frame : "0,7512,20408" 01:40:12 04:32:08 ..TP -inq . -isosize . ISO-9660 (single session) . . -isosize . -isosize . (padding) -isosize padsize=300k . . fifo . fs= . isrc=text ISRC text . CCOOOYYSSSSS . CC . OOO . A Z 0 9 . YY (00 99). SSSSS (00000 99999). CD-TEXT Q . -load . 0 . : -eject -load . -lock -load -eject . "eject" cdrskin -eject . cdrecord growisofs wodim cdrskin . mcn=text (CD Media Catalog Number) text . CD-TEXT Q . minbuf=percentage : modesty_on_drive=1:min_percent=:max_percent=95 . -minfo . (TOC) . msifile=path -msinfo path . -msinfo -msinfo . : msifile=path wodim cdrecord. -msinfo (multi-session) -C mkisofs genisoimage xorriso -as mkisofs. . --tell_media_space stderr . -C . . -multi . --grow_overwriteable_iso . -multi CD DVD-R[W] DVD+R BD-R . - -RW . -tao . -multi DAO DVD-R[W] DVD-R DL . --prodvd_cli_compatible -multi . ISO-9660 . mkisofs genisoimage -msinfo cdrskin . -toc "lba" . lba . DVD BD -multi . (payload) . ISO-9660 . -multi --grow_overwriteable_iso . : -multi DVD DVD-ROM . -nocopy . -scms . -nopad . . . -nopreemp pre-emphasis . -pad . ( CD-ROM .) padsize=size . padsize=0 . . fs= . -preemp pre-emphasis . -sao CD Session At Once DVD-R[W] Disc-at-once (DAO). CD . DVD-R[W] . -multi DVD-R[W] -sao . -sao DVD DVD+R[/DL] BD . -sao . stdin tsize= tao_to_sao_tsize= . -sao . -scanbus . /dev/s* /dev/hd* dev= /dev/s* dev=ATA /dev/hd*. ( --drives .) / (rw) cdrskin . . : Bus,Target,Lun Number) 'Vendor' 'Mode' 'Revision' -scms . -nocopy ( -scms) . . -copy . -copy -nocopy -nocopy -scms . speed=number . CD 1x . DVD 1x . BD 1x . . . : 0 = -1 = () "any" = -1. -swab cdrecord . (little-endian ). PC . MS-WAVE ".wav" . -tao CD Track At Once (TAO) DVD-R[W] Incremental Streaming DVD+R[/DL] -sao. . -tao . . DVD-R[W] -multi . -tao DVD-RW DVD-R DL ..TP -text CD-TEXT cuefile= . -text CDTEXTFILE cue sheet CD-TEXT . CATALOG ISRC mcn= isrc= . textfile=path CD-TEXT path Lead- in . Session At Once (SAO) . path . 'cdtext.dat' -vv -toc CD -vvv -toc . (big-endian) . 0 . 0 Sony . CRC . libburn doc/cdtext.txt . CRC . CRC 0 . CRC . -force . input_sheet_v07t= . -toc (TOC) . -atip "track:" "lba:" . CD SAO TAO . (-v -v) 'cdtext.dat' CD-TEXT lead-in CD . . CD-TEXT . ASCII . textfile= . . afio : tracknumber=2 lba=$(cdrskin dev=/dev/cdrom -toc 2>&1 | \ grep '^track:[ ]*[ 0-9][0-9]' | \ tail +"$tracknumber" | head -1 | \ awk '{ print $4}' ) dd if=/dev/cdrom bs=2048 skip="$lba" | \ afio -t - | less tsize=size . -tao "-" ( ) (named pipe) . fs= . . . cdrskin . -v . 0 . . . . -V SCSI stderr . libburn . SCSI-3 SPC SBC MMC . -waiti stdin EOF stdin . . cdrskin cdrskin . : mkisofs ... -C 0,12800 -M /dev/sr0 | \ cdrskin dev=/dev/sr0 ... -waiti - stdin . Enter cdrskin . stdin cdrskin . cdrskin : --adjust_speed_to_drive speed= . 0 -1 > 0 . --allow_emulated_drives dev=stdio: . <> . --allow_setuid chmod u+s . chmod u+s cdrecord . --any_track source_addresses "-" ( ) "=" . . --list_ignored_options . assert_write_lba=block_number|byte_address . mkisofs -C . assert_write_lba=0 (appendable) . : [a-zA-Z] "s" "k" "m" . . ( ...=1000 ...=1000s ...=1m ...=4096b ) cd_start_tno=number CD . CD . . . CD SAO . cuefile= input_sheet_v07t= . cdtext_to_textfile=path CD-TEXT lead-in CD . CD-TEXT textfile= . CD-TEXT CD CD-TEXT . CD- TEXT . cdtext_to_v07t=path CD-TEXT lead-in CD 0.7T (Sony Input Sheet Version 0.7T) . CD-TEXT input_sheet_v07t= . "-" . CD-TEXT CD CD-TEXT . CD- TEXT . --demand_a_drive . --devices CD . rw cdrskin . (root/superuser) "SORRY" . : Number dev='Devicefile' rw-Permissions : 'Vendor' 'Model' Number Devicefile dev= number ( ). --device_links --devices . / . udev . --device_links "/dev/dvd" "/dev/cd" . : "dvdrw" "cdrw" "dvd" "cdrom" "cd"..TP direct_write_amount=size (session) . . (eject) / (I/O) . . : DVD-RAM BD-RE RVD+RW DVD-RW . . write_start_address= . . fifo (fs=) . size . 0 EOF ( ) . (padding). -1 . write_start_address direct_write_amount (align) . DVD- RAM BD-RE DVD+RW 2k DVD-RW 32k . dvd_obs=default|32k|64k DVD BD . () ( --obs_pad ). 64 KB (latency) . stream_recording= . extract_audio_to=directory_path CD WAVE . . . CD NN.wav NN 01 99 . extract_basename=name extract_audio_to= . --extract_dap (Digital Audio Play) (mute) (interpolate) . extract_tracks=number[,number[,...]] extract_audio_to= . extract_tracks= . extract_tracks= . 1 99 . fallback_program=command cdrskin cdrecord . fallback_program= cdrskin cdrskin . cdrecord wodim . (fallback program) cdrskin --?* *_*=* . . (startup files) . cdrskin setuid --allow_setuid . . ( cdrskin floppy cdrecord setuid root). (alias) cdrskin : unicord fallback_program=cdrecord codim fallback_program=wodim --four_channel . fifo_start_at=size fifo . . fs= fifo_start_at= . (buffer underrun) fifo_start_at= . driveropts=noburnfree . --grow_overwriteable_iso (multi-session) ISO-9660 . growisofs -M : cdrskin -msinfo mkisofs -C -M | cdrskin -waiti [-multi] - --grow_overwriteable_iso . ISO-9660 cdrskin . -isosize ISO-9660 . blank=fast|all ISO-9660 . . ISO-9660 (appendable) -msinfo -toc . -toc mkisofs . write_start_address= . assert_write_lba= mkisofs . --grow_overwriteable_iso blank=fast|all ISO-9660 . -multi . growisofs -Z : mkisofs | cdrskin --grow_overwriteable_iso blank=fast [-multi] - DVD blank=fast dvd+rw-format -blank=full . growisofs -dvd-compat cdrskin -multi . input_sheet_v07t=path CD-TEXT Sony Input Sheet 0.7T . input_sheet_v07t= . CD-TEXT . . : Input Sheet Version = 0.7T . . : purpose specifier [whitespace] = [whitespace] content text [whitespace] ASCII 32 () ASCII 9 () . (purpose specifier) . CD-TEXT . : Purpose specifier | Content example ------------------------------------------------------------- Text Code = 8859 Language Code = English Album Title = Joyful Nights Artist Name = United Cat Orchestra Songwriter = Various Songwriters Composer = Various Composers Arranger = Tom Cat Album Message = For all our fans Catalog Number = 1234567890 Genre Code = Classical Genre Information = Feline classic music Closed Information = This is not to be shown by CD players UPC / EAN = 1234567890123 Text Data Copy Protection = OFF First Track Number = 1 Last Track Number = 3 : Purpose specifier | Content example ------------------------------------------------------------- Track 01 Title = Song of Joy Track 01 Artist = Felix and The Purrs Track 01 Songwriter = Friedrich Schiller Track 01 Composer = Ludwig van Beethoven Track 01 Arranger = Tom Cat Track 01 Message = Fritz and Louie once were punks ISRC 01 = XYCRR1101234 0 (decimal) . . 0.7T Text Code Language Code Genre Code Text Data Copy Protection doc/cdtext.txt libburn . Q <> <> mcn= isrc= (override) . CD-TEXT . CATALOG ISRC cuefile= . -text cuefile= cue sheet CD-TEXT input_sheet_v07t= . CD-TEXT . textfile= . CD SAO . -audio . cd_start_tno= ..TP --list_formats (format descriptors) . "Format idx" ":" (payload) MiB . MMC FORMAT UNIT . . --list_ignored_options cdrecord. "-" (track sources) . "=" . . --list_speeds . . ROM . . . "Write speed L" "Write speed H" . "Write speed l" "Write speed h" CD . "Write speed 0" "Write speed-1" speed=0 speed=-1 "Write speed L" "Write speed H" . --long_toc -toc "first: X last: Y" "track:lout ...". --no_load . . --no_rc . << (FILES)>> . --pacifier_with_newline (newline) (pacifier line) . (blanking) -v . --perform_opc << >> (Optimum Power Calibration OPC) . . . . --perform_opc_growisofs DVD-R DVD-RW OPC . growisofs . . . --prodvd_cli_compatible DVD cdrskin cdrecord-ProDVD : -multi . blank=fast blank=all DVD-RW (deformat). blank=fast (minimal blanking) DVD-RW . DAO Incremental Streaming. --single_track (track source) . stdio_sync=on|off|number "stdio:" . . "on" "16m" . "off" . stream_recording=on|off|number "on" . DVD-RAM BD . . . . 16s "off" . tao_to_sao_tsize=size tsize= . cdrskin -tao . DVD-RW Incremental Streaming (-tao) -sao DVD-ROM . . --tell_media_space . . (blanking) . . --tell_media_space . cdrskin 0.3.3 . -sao -tao . . 0 . -msinfo stderr . textfile_to_v07t=path CD-TEXT ( cdtext.dat -v -v -toc) input_sheet_v07t= . . . cdrskin : cdrskin textfile_to_v07t=cdtext.dat | grep -v '^cdrskin' --two_channel . write_start_address=byte_offset . DVD+RW DVD-RAM BD-RE byte_offset (2 kiB) (32 kiB) . DVD-RW . . modesty_on_drive=[:parameter=[:parameter=...]] 1 "max_percent" . "min_percent" . . ( hda hdb) . "(fifo xy%)" -v xy . modesty_on_drive= (buffer underrun) . 3.16 . fifo ioctl(SG_IO) . max_percent min_percent==max_percent . . "[buf xy%]" -v . (granularity) . "min_usec" . "max_usec" . "timeout_sec" 1 0 . 0 . -1 . : 0:min_percent=65:max_percent=95:timeout_sec=120: min_usec=10000:max_usec=100000 cdrskin IDE . SG_IO min_percent usec : min_percent=90:max_percent=95:min_usec=5000:max_usec=25000 :.TP --abort_handler (busy) . --ignore_signals --no_abort_handler . --allow_untested_media . . ( pkg-libburnia- devel@alioth-lists.debian.net ) --cdtext_dummy CD-TEXT (stdout) (session). CD-R CD-RW . . doc/cdtext.txt libburn . --cdtext_verbose --cdtext_dummy . -dummy CD . dev_translation= . cdrskin-0.2.4 cdrecord cdrskin . . dev= . . cdrskin . : dev_translation=+ATA:1,0,0+/dev/sr1 dev_translation=+ATA:1,1,0+/dev/sr2 --drive_abort_on_busy : . --drive_blocking : . . / (nonblocking i/o) . --drive_f_setlk : fcntl(2). --drive_not_exclusive : --drive_not_f_setlk --drive_not_o_excl. --drive_not_f_setlk : fcntl(2) . --drive_not_o_excl : . . drive_scsi_dev_family=sr|scd|sg : SCSI --devices --device_links -scanbus. . /dev/sgN . /dev/srN . . . sr scd . /dev/hdX . . --drive_scsi_exclusive : /dev/srN /dev/scdM /dev/sgK . growisofs . . ide-scsi . . --fifo_disable fifo fs=. --fifo_per_track fifo (track). --fill_up_media . -multi . -sao CD . : (multi-session) DVD-ROM DVD . << >>. -multi . grab_drive_and_wait=seconds . . cdrskin --devices grab_drive_and_wait= . --ignore_signals . cdrskin . --list_features SCSI/MMC . SCSI GET CONFIGURATION MMC . : Code +/- : Name : Version,P/N Name=Value . Code . <<+>> . <<->> . Name MMC . <

> (persistent) <> (non- persistent) . (Raw data) . <<=>> . . (Parsed info) MMC . Name=Value . . . : 0107 - : Real Time Streaming : 4,N 1f 00 00 00 RBCB=1 , SCS=1 , MP2A=1 , WSPD=1 , SW=1 --no_abort_handler . . --no_blank_appendable (blank ) (appendable) CD-RW DVD-RW. libburn . . --no_convert_fs_adr dev= . cdrskin dev= . : Bus,Target,Lun --old_pseudo_scsi_adr . cdrskin --devices ( /dev/sg0 SCSI /dev/sr0 ). --obs_pad (Pad) DVD-R[W] DAO BD-R stdio: (output chunk). DVD BD ISO . BD-R --bdr_obs_exempt . DVD-R[W] DAO BD-R DVD . libburn . --bdr_obs_exempt BD-R --obs_pad stream_recording . .. . . --old_pseudo_scsi_adr : Bus,Target,Lun SCSI ATA. cdrecord . sao_postgap=off|number (post-gap) . post-gap . . post-gap . CD SAO ..TP sao_pregap=off|number (pre- gap) . . . CD SAO . . . use_immed_bit=on|off|default SCSI Immed . cdrskin . . use_immed_bit= "off" . --xa1-ignore -xa1 -data . (frontend) -xa1 -xa1 . (EXAMPLES) : cdrskin -scanbus cdrskin dev=ATA -scanbus cdrskin --device_links : cdrskin dev=0,1,0 -checkdrive cdrskin dev=ATA:1,0,0 -v -atip cdrskin dev=/dev/hdc -minfo CD-RW DVD-RW DVD-RAM BD-RE : cdrskin -v dev=/dev/sg1 blank=as_needed -eject DVD-RW : cdrskin -v dev=/dev/sr0 blank=format_overwrite (De-format) DVD-RW (multi-session): cdrskin -v dev=/dev/sr0 blank=deformat_sequential ISO-9660 : cdrskin -v dev=/dev/hdc speed=12 fs=8m \ blank=as_needed -eject padsize=300k my_image.iso afio ( DVD-RW DVD-R DL ): find . | afio -oZ - | \ cdrskin -v dev=0,1,0 fs=32m speed=8 \ blank=as_needed padsize=300k - (multi-session) CD DVD-R[W] DVD+R[/DL] BD-R: cdrskin dev=/dev/sr0 -v padsize=300k -multi 1.iso cdrskin dev=/dev/sr0 -v padsize=300k -multi 2.iso cdrskin dev=/dev/sr0 -v padsize=300k -multi 3.iso cdrskin dev=/dev/sr0 -v padsize=300k 4.iso -C mkisofs: c_values=$(cdrskin dev=/dev/hdc -msinfo 2>/dev/null) mkisofs ... -C "$c_values" ... -multi: x=$(cdrskin dev=/dev/sr0 -multi \ --tell_media_space 2>/dev/null) echo "Available: $x blocks of 2048 data bytes" CD-TEXT CD: cdrskin -v dev=ATA:1,0,0 speed=48 -sao \ input_sheet_v07t=cdtext.v07t \ track1.wav track2.au -audio -swab track3.raw CD-TEXT CD /home/me/my_cd: mkdir /home/me/my_cd cdrskin -v dev=/dev/sr0 extract_audio_to=/home/me/my_cd \ cdtext_to_v07t=/home/me/my_cd/cdtext.v07t (FILES) : --no_rc cdrskin : /etc/default/cdrskin /etc/opt/cdrskin/rc /etc/cdrskin/cdrskin.conf $HOME/.cdrskinrc cdrskin . . '#' . : # This is the default device dev=0,1,0 # Some more options fifo_start_at=0 fs=16m : /dev/null . /root/cdrskin_permissions/allow_emulated_drives (w- permissions) . : ( stdio:/dev/hda stdio:/dev/sd0) . (SEE ALSO) cdrskin: mkisofs(8), genisoimage(8), xorriso(1), afio(1), star(1) CD/DVD/BD: cdrecord(1), wodim(1), xorriso(1) DVD/BD ( DVD/BD libburn): growisofs(1) (AUTHORS) cdrskin Thomas Schmitt . George Danchev Thomas Schmitt . Version 1.5.8, Mar 31, 2026 CDRSKIN(1)