home *** CD-ROM | disk | FTP | other *** search
Wrap
;AmigaDos script to control JPEG modules; ;This command displays Authors details and checks to see if user wants to proceed; requestchoice >env:num "Easypeg030" "Easypeg030 1.01 © Neil Prater,*nConversion of 24bit/GIF to Jpeg,*nContinue?" "Yes|No" if $num eq 1 ;Rename the Ram Disk to prevent any "space" errors caused by the space in the name "Ram Disk"; relabel Ram: "Ram_Disk" >nil: echo "" delete env:num >nil: echo "OK continuing" else delete env:num >nil: skip abort endif lab start echo "" echo "Pick the file to be compressed" cd >env:first ;get the file requested by user; requestfile title JPEG_Compress drawer $first pattern #? noicons >env:source ;if user selects "cancel" abort program; if warn delete env:name >nil: delete env:first >nil: delete env:source >nil: skip abort endif ;fetch the user's choice from RAM and format it to a form the modules can use; echo $source first 1 >env:name run >nil: type hex $source >env:24 status command type >env:stop break $stop >nil: delete env:stop >nil: search env:24 bmhd >nil: if warn skip gif else skip 24 endif lab gif search env:24 gif >nil: if warn skip input else delete env:24 >nil: echo gif >env:gif skip cgif endif lab input requestchoice >nil: "Easypeg030" "Input File Was Not IFF/GIF Format" "Resume" delete env:24 >nil: skip start back endif lab 24 search env:24 pattern "00000000 18000" >nil: if warn requestchoice >nil: "Easypeg030" "ILBM File Not In 24bit Format" "Resume" delete env:24 >nil: skip start back endif delete env:24 >nil: lab cgif list $source quick nohead >env:name1 delete env:first >nil: lab again if exists env:source1 cd $source1// >nil: delete env:source1 >nil: cd >env:path lab start1 echo "" echo "Pick the file to be compressed" requestfile title JPEG_Compress drawer $path file $name1 pattern #? noicons >env:source if warn delete env:source >nil: delete env:path >nil: skip abort1 endif echo $source first 1 >env:banana run >nil: type hex $banana >env:24 status command type >env:stop break $stop >nil: delete env:stop >nil: search env:24 bmhd >nil: if warn skip gif else skip 24 endif lab gif search env:24 gif >nil: if warn delete env:24 >nil: skip input else echo gif >env:gif delete env:24 >nil: skip cgif endif lab input requestchoice >nil: "Easypeg030" "Input File Was Not IFF/GIF Format" "Resume" skip start1 back lab 24 search env:24 pattern "00000000 18000" >nil: if warn delete env:24 >nil: requestchoice >nil: "Easypeg030" "ILBM File Not In 24bit Format" "Resume" skip start1 back endif delete env:24 >nil: lab cgif list $banana quick nohead >env:name1 delete env:path >nil: endif echo "" echo "Stand by" ;convert 24bit data to PPM format; 24toppm $source ram:T/picppm >nil: echo "" echo "Select destination for the file" echo "" echo "It will automatically be appended to .jpeg" if exists env:dest3 cd $dest3// delete env:dest3 >nil: cd >env:save ;request destination directory for the JPEG file; requestfile title Destination drawer $save file $name1 pattern #? noicons >env:dest if warn delete env:save >nil: delete ram:T/picppm >nil: delete env:gif >nil: skip abort1 endif delete env:save >nil: skip next endif cd >env:second requestfile title Destination drawer $second file $name1 pattern #? noicons >env:dest if warn delete env:second >nil: delete ram:T/picppm >nil: delete env:gif >nil: skip abort1 endif delete env:second >nil: lab next echo "" ;give the user an option to change image quality; requestchoice >env:num "Easypeg030" "Change quality?" "Yes|No" if $num eq 1 delete env:num >nil: requestchoice >env:q "Easypeg030" "Select quality,*nlow,medium,high" "low|med|high" else delete env:num >nil: endif ;give the user the option to change to grey; requestchoice >env:g "Easypeg030" "Convert to Grayscale?" "Yes|No" if $g eq 1 echo >>env:gray "-gr" else echo >>env:gray "" endif delete env:g >nil: if exists env:q skip qual endif echo "Compressing please wait" echo $dest first 1 >env:dest1 delete env:dest >nil: echo $dest1.jpeg >env:dest2 delete env:dest1 >nil: if exists env:q endif if exists env:gif skip cgif1 endif cjpeg030 $gray -q 85 ram:T/picppm $dest2 ;this is where you can change number value; skip message lab cgif1 cjpeg030 $gray -q 85 $source $dest2 delete env:gif >nil: skip message endif lab qual echo $dest first 1 >env:dest1 delete env:dest >nil: echo $dest1.jpeg >env:dest2 delete env:dest1 >nil: if exists env:gif skip cgif2 endif if $q eq 1 echo "Compressing please wait" cjpeg030 $gray -q 70 ram:T/picppm $dest2 ;low quality endif if $q eq 0 echo "Compressing please wait" cjpeg030 $gray -q 95 ram:T/picppm $dest2 ;high quality endif if $q eq 2 echo "Compressing please wait" cjpeg030 $gray -q 85 ram:T/picppm $dest2 ;med quality (default) endif skip message lab cgif2 if $q eq 1 echo "Compressing please wait" cjpeg030 $gray -q 70 $source $dest2 endif if $q eq 0 echo "Compressing please wait" cjpeg030 $gray -q 95 $source $dest2 endif if $q eq 2 echo "Compressing please wait" cjpeg030 $gray -q 85 $source $dest2 endif delete env:gif >nil: lab message echo "" echo OK all done, the file $source echo "" echo has been compressed and saved as $dest2 delete env:gray >nil: echo "" ;ask if user wants to delete 24bit file; requestchoice >env:num "Easypeg030" "Delete original file?" "Yes|No" if $num eq 1 echo Deleting $source delete $source >nil: echo "" echo $source Deleted else delete env:num >nil: endif delete ram:T/picppm >nil: delete env:q >nil: echo "" ;give user the option to carry out more conversions; requestchoice >env:num "Easypeg030" "Convert more files?" "Yes|No" if $num eq 1 delete env:num >nil: echo $source first 1 >env:source1 delete env:source >nil: echo $dest2 >env:dest3 delete env:dest2 >nil: skip again back else delete env:num >nil: endif ;clear out RAM and end program; lab abort1 relabel ram: "Ram Disk" >nil: delete env:dest#? >nil: delete env:source#? >nil: delete env:path >nil: delete env:save >nil: delete env:banana >nil: delete env:name#? >nil: endcli lab abort echo "" echo aborting relabel ram: "Ram Disk" >nil: delete name#? >nil: endcli ;if you look carefully at the script you will see the use of CD at various parts in the script, this is the "clever" part of the script as it makes the script "remember" where the user requested files from and the file's name this makes multiple conversion of files less hassle as the file requester will always open in the last directory a file was requested from with the last file converted selected in the file box; ;Feel free to hack this code to pieces, but don't redistribute it altered unless you have mentioned all the authors involved and of course yourself as the hacker, good luck Neil Prater;