home *** CD-ROM | disk | FTP | other *** search
/ Amiga Magazin: Amiga-CD 2000 April & May / AMIGA_2000_04.iso / amiga-magazin / visualengineer / ve-full.lha / arexx / VisualSurface.rexx < prev    next >
OS/2 REXX Batch file  |  1999-06-06  |  7KB  |  289 lines

  1. /*
  2.  
  3.    v1.28 Visual Surface
  4.  
  5.    Marko Seppänen
  6.    marko.seppanen@wwnet.fi
  7.  
  8. */
  9.  
  10.  
  11. address IMAGEENGINEER
  12.  
  13. Options results
  14. signal on error            /* Setup a place for errors to go */
  15.  
  16. if arg()=0 then exit
  17. x=arg(1)
  18. parse var x pic surfacetype arguments
  19. arguments=strip(arguments,B)
  20. space=0
  21.  
  22.  
  23. MARK pic PRIMARY
  24. PROJECT_INFO pic WIDTH
  25. picwidth=result
  26. PROJECT_INFO pic HEIGHT
  27. picheight=result
  28. PROJECT_INFO pic ZOOM
  29. origzoomvalue=result
  30.  
  31.  
  32. if surfacetype="" then do
  33.  
  34.   if exists("ie:prefs/visualsurface.cfg") == "1" then
  35.     do
  36.       call open("temp","ie:prefs/visualsurface.cfg","R")
  37.       values=readln("temp")
  38.       parse var values ok surfacetype .
  39.       call close("temp")
  40.     end
  41.   else
  42.     do
  43.       surfacetype=0
  44.     end
  45.  
  46.   ' FORM "Visual Surface" "Use|Cancel"',
  47.   ' CYCLE,"Surfacetype","Noise|Maximum",'surfacetype''
  48.  
  49.   values=result
  50.   parse var values ok surfacetype .
  51.  
  52.   if ok = 0 then exit
  53.  
  54.   call open("temp","ie:prefs/visualsurface.cfg","W")
  55.   res=writeln("temp",values)
  56.   call close("temp")
  57.  
  58. end
  59.  
  60.  
  61. select
  62.  
  63.   when surfacetype == 0 | upper(surfacetype) == "NOISE" then do
  64.  
  65.     if arguments="" then do
  66.  
  67.       if exists("ie:prefs/visualsurfacenoise.cfg") == "1" then
  68.         do
  69.           call open("temp","ie:prefs/visualsurfacenoise.cfg","R")
  70.           values=readln("temp")
  71.           parse var values ok noisevalue noisecolor aftereffect .
  72.           call close("temp")
  73.         end
  74.       else
  75.         do
  76.           noisevalue=15
  77.           noisecolor=0
  78.           aftereffect=0
  79.         end
  80.  
  81.       'FORM "Visual Surface - noise" "Use|Cancel"',
  82.       'INTEGER,"Noisevalue",1,100,'noisevalue',SLIDER',
  83.       'CYCLE,"Noisecolor","White|Black",'noisecolor'',
  84.       'CYCLE,"Aftereffect","Carbonated|Concrete|Leather|Crunchy|Dirty|Blotchy|Scribble|Noise|Bump|Stardust|Brushed metal|Dots|Rock",'aftereffect''
  85.  
  86.  
  87.       values=result
  88.       parse var values ok noisevalue noisecolor aftereffect .
  89.  
  90.       if ok = 0 then exit
  91.  
  92.       call open("temp","ie:prefs/visualsurfacenoise.cfg","W")
  93.       res=writeln("temp",values)
  94.       call close("temp")
  95.  
  96.     end
  97.  
  98.     else parse var arguments noisevalue noisecolor aftereffect .
  99.  
  100.  
  101.  
  102.     BRIGHTNESS pic "-255"
  103.     black=result
  104.  
  105.     NOISE black 100 INTENSITY ADDITIVE noisevalue GAUSSIAN
  106.     noisebox=result
  107.  
  108.     CLOSE black
  109.  
  110.  
  111.     if aftereffect=="0" | upper(aftereffect) == "CARBONATED"    then convolvetype="DeepPress"
  112.     if aftereffect=="1" | upper(aftereffect) == "CONCRETE"      then convolvetype="Emboss_High"
  113.     if aftereffect=="2" | upper(aftereffect) == "LEATHER"       then convolvetype="Emboss_High_0"
  114.     if aftereffect=="3" | upper(aftereffect) == "CRUNCHY"       then convolvetype="Emboss_Ultra"
  115.     if aftereffect=="4" | upper(aftereffect) == "DIRTY"         then convolvetype="FeatherWhite"
  116.     if aftereffect=="5" | upper(aftereffect) == "BLOTCHY"       then convolvetype="GaussianBlur5x5"
  117.     if aftereffect=="6" | upper(aftereffect) == "SCRIBBLE"      then convolvetype="Reflect_NorthWest"
  118.     if aftereffect=="7" | upper(aftereffect) == "NOISE"         then convolvetype="RoughSurface_Low"
  119.     if aftereffect=="8" | upper(aftereffect) == "BUMP"          then convolvetype="Sobel"
  120.     if aftereffect=="9" | upper(aftereffect) == "STARDUST"      then convolvetype="Spark"
  121.     if aftereffect=="10" | upper(aftereffect) == "BRUSHEDMETAL" then convolvetype="Wet_WhiteOnBlack"
  122.     if aftereffect=="11" | upper(aftereffect) == "DOTS"         then convolvetype="Bump_NorthWest"
  123.     if aftereffect=="12" | upper(aftereffect) == "ROCK"         then convolvetype="Carve_NorthWest"
  124.  
  125.  
  126.     if exists("ie:convolves/"convolvetype) == "0" then do
  127.       'REQUEST "Please download VE-!Extras.lha" "Ok"'
  128.       exit
  129.     end
  130.  
  131.     CONVOLVE noisebox "IE:Convolves/"convolvetype
  132.     noisebox2=result
  133.     CLOSE noisebox
  134.     noisebox=noisebox2
  135.  
  136.  
  137.     MARK pic PRIMARY
  138.     MARK noisebox SECONDARY
  139.  
  140.     if noisecolor=="0" | upper(noisecolor) == "WHITE" then method="ADD"
  141.     if noisecolor=="1" | upper(noisecolor) == "BLACK" then do
  142.  
  143.       NEGATIVE noisebox
  144.       whitenoise=result
  145.  
  146.       CLOSE noisebox
  147.       noisebox=whitenoise
  148.  
  149.       MARK whitenoise SECONDARY
  150.       method="MULTIPLY"
  151.  
  152.     end
  153.  
  154.  
  155.     COMPOSITE 0 0 method
  156.     final=result
  157.  
  158.     CLOSE noisebox
  159.  
  160.   end
  161.  
  162.  
  163.  
  164.   when surfacetype == 1 | upper(surfacetype) == "MAXIMUM" then do
  165.  
  166.     if arguments="" then do
  167.  
  168.       if exists("ie:prefs/visualsurfacemaximum.cfg") == "1" then
  169.         do
  170.           call open("temp","ie:prefs/visualsurfacemaximum.cfg","R")
  171.           values=readln("temp")
  172.           parse var values ok maxvalue aftereffect .
  173.           call close("temp")
  174.         end
  175.       else
  176.         do
  177.           maxvalue=7
  178.           aftereffect=0
  179.         end
  180.  
  181.       'FORM "Visual Surface - maximum" "Use|Cancel"',
  182.       'INTEGER,"Noisevalue",1,25,'maxvalue',SLIDER',
  183.       'CYCLE,"Aftereffect","Tekno|Sunshine|Watercolor|Bump|Raised|Psycho|Woodcut",'aftereffect''
  184.  
  185.  
  186.       values=result
  187.       parse var values ok maxvalue aftereffect .
  188.  
  189.       if ok = 0 then exit
  190.  
  191.       call open("temp","ie:prefs/visualsurfacemaximum.cfg","W")
  192.       res=writeln("temp",values)
  193.       call close("temp")
  194.  
  195.     end
  196.  
  197.     else parse var arguments maxvalue aftereffect .
  198.  
  199.  
  200.  
  201.  
  202.     MAXIMUM pic maxvalue maxvalue
  203.     noisebox=result
  204.  
  205.  
  206.  
  207.     if aftereffect=="0" | upper(aftereffect) == "TEKNO"      then convolvetype="ColourFragment_Colour"
  208.     if aftereffect=="1" | upper(aftereffect) == "SUNSHINE"   then convolvetype="FeatherWhite"
  209.     if aftereffect=="2" | upper(aftereffect) == "WATERCOLOR" then convolvetype="GaussianBlur5x5"
  210.     if aftereffect=="3" | upper(aftereffect) == "BUMP"       then convolvetype="Reflect_NorthWest"
  211.     if aftereffect=="4" | upper(aftereffect) == "RAISED"     then convolvetype="RoughSurface_Medium"
  212.     if aftereffect=="5" | upper(aftereffect) == "PSYCHO"     then convolvetype="SmoothEdge_Normal"
  213.     if aftereffect=="6" | upper(aftereffect) == "WOODCUT"    then convolvetype="Woodcut"
  214.  
  215.  
  216.     if exists("ie:convolves/"convolvetype) == "0" then do
  217.       'REQUEST "Please download VE-!Extras.lha" "Ok"'
  218.       exit
  219.     end
  220.  
  221.  
  222.     CONVOLVE noisebox "IE:Convolves/"convolvetype
  223.     noisebox2=result
  224.     CLOSE noisebox
  225.     noisebox=noisebox2
  226.  
  227.  
  228.     MARK pic PRIMARY
  229.     MARK noisebox SECONDARY
  230.  
  231.     COMPOSITE 0 0 ADD
  232.     final=result
  233.  
  234.     CLOSE noisebox
  235.  
  236.   end
  237.  
  238.  
  239. otherwise exit
  240.  
  241. end
  242.  
  243.  
  244.  
  245.  
  246.  
  247. exit
  248.  
  249.  
  250.  
  251.  
  252.  
  253. addspace:
  254.  
  255.   temppic=arg(1)
  256.   space=arg(2)
  257.   bg=arg(3)
  258.  
  259.   if exists("ie:arexx/addspace.rexx") == "0" then do
  260.     'REQUEST "AddSpace.rexx is missing!" "I will get it... sorry"'
  261.     exit
  262.   end
  263.   address command "Sys:Rexxc/rx ie:arexx/AddSpace.rexx" temppic space bg
  264.  
  265.   PROJECT_LIST
  266.   xyz=result
  267.   x0=subword(xyz,1,1)
  268.  
  269.   return x0
  270.  
  271.  
  272. /*******************************************************************/
  273. /* This is where control goes when an error code is returned by IE */
  274. /* It puts up a message saying what happened and on which line     */
  275. /*******************************************************************/
  276. error:
  277. if RC=5 then do            /* Did the user just cancel us? */
  278.     IE_TO_FRONT
  279.     LAST_ERROR
  280.     'REQUEST "'||RESULT||'"'
  281.     exit
  282. end
  283. else do
  284.     IE_TO_FRONT
  285.     LAST_ERROR
  286.     'REQUEST "Error detected!!!'||D2C(10)||'Image Engineer error message is as follows'||D2C(10)||result||D2C(10)||'Script failed on line '||SIGL||'"' 'Doh!'
  287.     exit
  288. end
  289.