home *** CD-ROM | disk | FTP | other *** search
- /*
- Visual FX
- For
- Image FX
- SetUp Script
- Written By J.L. White
-
- (C)1997 Merlin's Software
-
- */
-
- parse arg Num Frames
- options results
- address "IMAGEFX.1"
- ReDraw On
- RequestResponse "Do You Need Instructions?"
- if rc = 0 then do
- call Docs()
- end
- if exists("libs:flyer.library") then do
- if (POS('PROJECT_REXX_PORT',SHOW('Ports')) =0) then do
- RequestNotify 'Flyer Must Be Running First!'
- exit
- end
- call OpenFlyStuff()
-
-
- Gadget.1 = 'D/110/22/120/ImageA Type/4/FLYER CLIP/FLYER STILL/FRAME/SEQUENCE'
- ComplexRequest '"Visual FX SetUp Options"' 1 Gadget 250 60
- if rc ~= 0 then do
- call CloseStuff()
- exit 0
- end
- else do
- IAType = RESULT.1
- end
-
- call GetA()
-
-
- Gadget.1 = 'D/110/22/120/ImageB Type/4/FLYER CLIP/FLYER STILL/FRAME/SEQUENCE'
- ComplexRequest '"Visual FX SetUp Options"' 1 Gadget 250 60
- if rc ~= 0 then do
- call CloseStuff()
- exit 0
- end
- else do
- IBType = RESULT.1
- end
-
- call GetB()
-
-
- Gadget.1 = 'D/110/22/120/ImageC Type/4/FLYER CLIP/FLYER STILL/FRAME/SEQUENCE'
- ComplexRequest '"Visual FX SetUp Options"' 1 Gadget 250 60
- if rc ~= 0 then do
- call CloseStuff()
- exit 0
- end
- else do
- ICType = RESULT.1
- end
-
- call GetC()
-
-
- Gadget.1 = 'D/110/22/120/ImageD Type/4/FLYER CLIP/FLYER STILL/FRAME/SEQUENCE'
- ComplexRequest '"Visual FX SetUp Options"' 1 Gadget 250 60
- if rc ~= 0 then do
- call CloseStuff()
- exit 0
- end
- else do
- IDType = RESULT.1
- end
-
- call GetD()
-
- Fifth = 0
- RequestResponse "Do You Want A 5th Image In The Middle?"
- if rc = 0 then do
- Fifth = 1
- Gadget.1 = 'D/110/22/120/ImageE Type/4/FLYER CLIP/FLYER STILL/FRAME/SEQUENCE'
- ComplexRequest '"Visual FX SetUp Options"' 1 Gadget 250 60
- if rc ~= 0 then do
- call CloseStuff()
- exit 0
- end
- else do
- IEType = RESULT.1
- end
-
- call GetE()
- RequestResponse "Do You Want A Shadow On The 5th Image?"
- if rc = 0 then Shadow = 1
- else Shadow = 0
- end
-
- end
- else do
- Gadget.1 = 'D/110/22/120/ImageA Type/2/FRAME/SEQUENCE'
- ComplexRequest '"Visual FX SetUp Options"' 1 Gadget 250 60
- if rc ~= 0 then do
- call CloseStuff()
- exit 0
- end
- else do
- IAType = RESULT.1+2
- end
-
- call GetA()
-
- Gadget.1 = 'D/110/22/120/ImageB Type/2/FRAME/SEQUENCE'
- ComplexRequest '"Visual FX SetUp Options"' 1 Gadget 250 60
- if rc ~= 0 then do
- call CloseStuff()
- exit 0
- end
- else do
- IBType = RESULT.1+2
- end
-
- call GetB()
-
- Gadget.1 = 'D/110/22/120/ImageC Type/2/FRAME/SEQUENCE'
- ComplexRequest '"Visual FX SetUp Options"' 1 Gadget 250 60
- if rc ~= 0 then do
- call CloseStuff()
- exit 0
- end
- else do
- ICType = RESULT.1+2
- end
-
- call GetC()
-
- Gadget.1 = 'D/110/22/120/ImageD Type/2/FRAME/SEQUENCE'
- ComplexRequest '"Visual FX SetUp Options"' 1 Gadget 250 60
- if rc ~= 0 then do
- call CloseStuff()
- exit 0
- end
- else do
- IDType = RESULT.1+2
- end
-
- call GetD()
-
-
- Fifth = 0
- RequestResponse "Do You Want A 5th Image In The Middle?"
- if rc = 0 then do
- Fifth = 1
- Gadget.1 = 'D/110/22/120/ImageE Type/2/FRAME/SEQUENCE'
- ComplexRequest '"Visual FX SetUp Options"' 1 Gadget 250 60
- if rc ~= 0 then do
- call CloseStuff()
- exit 0
- end
- else do
- IEType = RESULT.1+2
- end
-
- call GetE()
- RequestResponse "Do You Want A Shadow On The 5th Image?"
- if rc = 0 then Shadow = 1
- else Shadow = 0
- end
- end
-
- CropAnswerA = "None"
- RequestResponse "Does ImageA Need To Be Cropped?"
- if rc = 0 then do
- call LoadA()
- call CropPic()
- CropAnswerA = CropAnswer
- end
-
- CropAnswerB = "None"
- RequestResponse "Does ImageB Need To Be Cropped?"
- if rc = 0 then do
- call LoadB()
- call CropPic()
- CropAnswerB = CropAnswer
- end
-
- CropAnswerC = "None"
- RequestResponse "Does ImageC Need To Be Cropped?"
- if rc = 0 then do
- call LoadC()
- call CropPic()
- CropAnswerC = CropAnswer
- end
-
- CropAnswerD = "None"
- RequestResponse "Does ImageD Need To Be Cropped?"
- if rc = 0 then do
- call LoadD()
- call CropPic()
- CropAnswerD = CropAnswer
- end
-
- if Fifth = 1 then do
- CropAnswerE = "None"
- RequestResponse "Does ImageE Need To Be Cropped?"
- if rc = 0 then do
- call LoadE()
- call CropPic()
- CropAnswerE = CropAnswer
- end
- end
-
- RequestResponse "Do You Want Beveled Edges?"
- if rc = 0 then do
- Bevel = 1
- RequestSlider '"Enter Thickness Of Bevel!"' 1 30 10
- BevelNum = Result
- end
- else do
- Bevel = 0
- BevelNum = 0
- end
- if FlyOn = 1 then
- call CloseStuff()
-
- call open TempFile,"VFXIFX:TempDrawer/"strip(Num),W
- call writeln TempFile,PicAName
- call writeln TempFile,Start
- call writeln TempFile,End
- call writeln TempFile,IAType
- call writeln TempFile,CropAnswerA
- call writeln TempFile,PicBName
- call writeln TempFile,StartB
- call writeln TempFile,EndB
- call writeln TempFile,IBType
- call writeln TempFile,CropAnswerB
- call writeln TempFile,PicCName
- call writeln TempFile,StartC
- call writeln TempFile,EndC
- call writeln TempFile,ICType
- call writeln TempFile,CropAnswerC
- call writeln TempFile,PicDName
- call writeln TempFile,StartD
- call writeln TempFile,EndD
- call writeln TempFile,IDType
- call writeln TempFile,CropAnswerD
- call writeln TempFile,Fifth
- call writeln TempFile,Shadow
- call writeln TempFile,PicEName
- call writeln TempFile,StartE
- call writeln TempFile,EndE
- call writeln TempFile,IEType
- call writeln TempFile,CropAnswerE
- call writeln TempFile,Bevel
- call writeln TempFile,BevelNum
- call close TempFile
- exit
-
- Docs:
- text1 = '"This effect places four separate images or clips in"'
- text2 = '"the four corners of the screen. This can be any kind"'
- text3 = '"of combination of clips, frames, sequences, etc. The"'
- text4 = '"length of the effect is based on ImageA. All other"'
- text5 = '"Images will be based on this length. You also have a"'
- text6 = '"choice to place a fifth Image in the middle that will"'
- text7 = '"overlap the others."'
-
- Gadget.1 = 'TEXT LE=10 TE=4 LB='text1' '
- Gadget.2 = 'TEXT LE=10 TE=14 LB='text2' '
- Gadget.3 = 'TEXT LE=10 TE=24 LB='text3' '
- Gadget.4 = 'TEXT LE=10 TE=34 LB='text4' '
- Gadget.5 = 'TEXT LE=10 TE=44 LB='text5' '
- Gadget.6 = 'TEXT LE=10 TE=54 LB='text6' '
- Gadget.7 = 'TEXT LE=10 TE=64 LB='text7' '
- Gadget.8= 'END'
- NewComplexRequest '"Instructions For Effect #03"' Gadget 394 76
- return
-
-
- GetPathName: procedure
- parse ARG CompleteName
- c = lastpos("/",CompleteName)
- if c = 0 then c = lastpos(":",CompleteName)
- return left(CompleteName,c)
-
-
-
- CropPic:
- Learn "RAM:VFX" NoHeader Quiet Force
- Crop
- Learn Stop Quiet Force
-
- call open TempFile,"RAM:VFX.ifx",R
- do until eof(TempFile)
- line = readln(TempFile)
- parse var line StartLine" "RestOfLine
- if StartLine = "Crop" then CropAnswer = line
- end
- call close TempFile
- address command "Delete >NIL: Ram:VFX.ifx"
- return
-
- GetFile:
- parse Arg Title, Path
- Address FLY_1 SetString Path
- Address FLY_1 GetFileNameNT Title
- return result
-
- GetFileName: procedure
- ARG CompleteName
- c = lastpos("/",CompleteName)
- if c = 0 then c = lastpos(":",CompleteName)
- return substr(CompleteName, c + 1)
-
-
- GetA:
- if IAType = 0 then do
- call Switcher(TOSW)
- PicAName = GetFile("Select Flyer Clip For ImageA! ",DriveName)
- Name = GetFileName(PicAName)
- if Name = "" then do
- Address FLY_1 OK_TEXT " OK "
- Title = "You Must Enter A Valid Clip Name To Use!"
- Address FLY_1 FYINT Title
- Address FLY_1 Quit
- call Switcher(TOWB)
- exit
- end
- Address FLY_1 SetFileName PicAName
- Address FLY_1 GetClipLength PicAName
- End = result
- Start = 0
- Address FLY_1 Program "5"
- Address FLY_1 StartNum Start
- Address FLY_1 EndNum End
- Address FLY_1 CurrentNum "0"
- Address FLY_1 GetTimeNT "Select A Range Of Frames To Process!"
- Start = word(result,1)*2
- End = word(result,2)*2
- Start = Start + 1
- End = End +2
- call addlib('PROJECT_REXX_PORT' , 0)
- call addlib(TOASTERLIB,0)
- call Switcher(TOWB)
- address command "C:Wait 1"
- ScreenToFront
- end
- if IAType = 1 then do
- RequestFile '"Select Flyer Still For ImageA!"' DriveName ' '
- PicAName = result
- Name = GetFileName(PicAName)
- if Name = "" then do
- Title = "You Must Enter A Valid Name To Use!"
- RequestNotify Title
- if FlyOn = 1 then Address FLY_1 Quit
- exit
- end
- RequestNumber '"Enter Number Of Frames To Process!"' Frames
- End = result
- Start = 1
- end
- if IAType = 2 then do
- RequestFile '"Select FileName For ImageA!"' 'SYS:' ' '
- PicAName = result
- Name = GetFileName(PicAName)
- if Name = "" then do
- Title = "You Must Enter A Valid Name To Use!"
- RequestNotify Title
- if FlyOn = 1 then Address FLY_1 Quit
- exit
- end
- RequestNumber '"Enter Number Of Frames To Process!"' Frames
- End = result
- Start = 1
- end
- if IAType = 3 then do
- RequestFile '"Select BaseName For ImageA! "' 'SYS:' ' '
- PicAName = result
- Name = GetFileName(PicAName)
- if Name = "" then do
- Title = "You Must Enter A Valid Name To Use!"
- RequestNotify Title
- if FlyOn = 1 then Address FLY_1 Quit
- exit
- end
- RequestNumber '"Enter Number Of Frames To Process!"' Frames
- End = result
- Start = 1
- end
-
- DriveName = GetPathName(PicAName)
- return
-
-
- GetB:
- if IBType = 0 then do
- call Switcher(TOSW)
- PicBName = GetFile("Select Flyer Clip For ImageB! ",DriveName)
- Name = GetFileName(PicBName)
- if Name = "" then do
- Address FLY_1 OK_TEXT " OK "
- Title = "You Must Enter A Valid Clip Name To Use!"
- Address FLY_1 FYINT Title
- Address FLY_1 Quit
- call Switcher(TOWB)
- exit
- end
- Address FLY_1 SetFileName PicBName
- Address FLY_1 GetClipLength PicBName
- EndB = result
- StartB = 0
- Address FLY_1 Program "5"
- Address FLY_1 StartNum StartB
- Address FLY_1 EndNum EndB
- Address FLY_1 CurrentNum "-1"
- Address FLY_1 GetTimeNT "Select Frame To Start With For ImageB!"
- StartB = word(result,1)*2
- EndB = word(result,2)*2
- StartB = StartB + 1
- EndB = EndB +2
- call addlib('PROJECT_REXX_PORT' , 0)
- call addlib(TOASTERLIB,0)
- call Switcher(TOWB)
- address command "C:Wait 1"
- ScreenToFront
- end
- if IBType = 1 then do
- RequestFile '"Select Flyer Still For ImageB!"' DriveName ' '
- PicBName = result
- Name = GetFileName(PicBName)
- if Name = "" then do
- Title = "You Must Enter A Valid Name To Use!"
- RequestNotify Title
- if FlyOn = 1 then Address FLY_1 Quit
- exit
- end
- EndB = Frames
- StartB = 1
- end
- if IBType = 2 then do
- RequestFile '"Select FileName For ImageB!"' 'SYS:' ' '
- PicBName = result
- Name = GetFileName(PicBName)
- if Name = "" then do
- Title = "You Must Enter A Valid Name To Use!"
- RequestNotify Title
- if FlyOn = 1 then Address FLY_1 Quit
- exit
- end
- EndB = Frames
- StartB = 1
- end
- if IBType = 3 then do
- RequestFile '"Select BaseName For ImageB! "' 'SYS:' ' '
- PicBName = result
- Name = GetFileName(PicBName)
- if Name = "" then do
- Title = "You Must Enter A Valid Name To Use!"
- RequestNotify Title
- if FlyOn = 1 then Address FLY_1 Quit
- exit
- end
- EndB = Frames
- StartB = 1
- end
- DriveName = GetPathName(PicBName)
- return
-
-
-
- GetC:
- if ICType = 0 then do
- call Switcher(TOSW)
- PicCName = GetFile("Select Flyer Clip For ImageC! ",DriveName)
- Name = GetFileName(PicCName)
- if Name = "" then do
- Address FLY_1 OK_TEXT " OK "
- Title = "You Must Enter A Valid Clip Name To Use!"
- Address FLY_1 FYINT Title
- Address FLY_1 Quit
- call Switcher(TOWB)
- exit
- end
- Address FLY_1 SetFileName PicCName
- Address FLY_1 GetClipLength PicCName
- EndC = result
- StartC = 0
- Address FLY_1 Program "5"
- Address FLY_1 StartNum StartC
- Address FLY_1 EndNum EndC
- Address FLY_1 CurrentNum "-1"
- Address FLY_1 GetTimeNT "Select Frame To Start With For ImageC!"
- StartC = word(result,1)*2
- EndC = word(result,2)*2
- StartC = StartC + 1
- EndC = EndC +2
- call addlib('PROJECT_REXX_PORT' , 0)
- call addlib(TOASTERLIB,0)
- call Switcher(TOWB)
- address command "C:Wait 1"
- ScreenToFront
- end
- if ICType = 1 then do
- RequestFile '"Select Flyer Still For ImageC!"' DriveName ' '
- PicCName = result
- Name = GetFileName(PicCName)
- if Name = "" then do
- Title = "You Must Enter A Valid Name To Use!"
- RequestNotify Title
- if FlyOn = 1 then Address FLY_1 Quit
- exit
- end
- EndC = Frames
- StartC = 1
- end
- if ICType = 2 then do
- RequestFile '"Select FileName For ImageC!"' 'SYS:' ' '
- PicCName = result
- Name = GetFileName(PicCName)
- if Name = "" then do
- Title = "You Must Enter A Valid Name To Use!"
- RequestNotify Title
- if FlyOn = 1 then Address FLY_1 Quit
- exit
- end
- EndC = Frames
- StartC = 1
- end
- if ICType = 3 then do
- RequestFile '"Select BaseName For ImageC! "' 'SYS:' ' '
- PicCName = result
- Name = GetFileName(PicCName)
- if Name = "" then do
- Title = "You Must Enter A Valid Name To Use!"
- RequestNotify Title
- if FlyOn = 1 then Address FLY_1 Quit
- exit
- end
- EndC = Frames
- StartC = 1
- end
-
- DriveName = GetPathName(PicCName)
- return
-
-
- GetD:
- if IDType = 0 then do
- call Switcher(TOSW)
- PicDName = GetFile("Select Flyer Clip For ImageD! ",DriveName)
- Name = GetFileName(PicDName)
- if Name = "" then do
- Address FLY_1 OK_TEXT " OK "
- Title = "You Must Enter A Valid Clip Name To Use!"
- Address FLY_1 FYINT Title
- Address FLY_1 Quit
- call Switcher(TOWB)
- exit
- end
- Address FLY_1 SetFileName PicDName
- Address FLY_1 GetClipLength PicDName
- EndD = result
- StartD = 0
- Address FLY_1 Program "5"
- Address FLY_1 StartNum StartD
- Address FLY_1 EndNum EndD
- Address FLY_1 CurrentNum "-1"
- Address FLY_1 GetTimeNT "Select Frame To Start With For ImageD!"
- StartD = word(result,1)*2
- EndD = word(result,2)*2
- StartD = StartD + 1
- EndD = EndD +2
- call addlib('PROJECT_REXX_PORT' , 0)
- call addlib(TOASTERLIB,0)
- call Switcher(TOWB)
- address command "C:Wait 1"
- ScreenToFront
- end
- if IDType = 1 then do
- RequestFile '"Select Flyer Still For ImageD!"' DriveName ' '
- PicDName = result
- Name = GetFileName(PicDName)
- if Name = "" then do
- Title = "You Must Enter A Valid Name To Use!"
- RequestNotify Title
- if FlyOn = 1 then Address FLY_1 Quit
- exit
- end
- EndD = Frames
- StartD = 1
- end
- if IDType = 2 then do
- RequestFile '"Select FileName For ImageD!"' 'SYS:' ' '
- PicDName = result
- Name = GetFileName(PicDName)
- if Name = "" then do
- Title = "You Must Enter A Valid Name To Use!"
- RequestNotify Title
- if FlyOn = 1 then Address FLY_1 Quit
- exit
- end
- EndD = Frames
- StartD = 1
- end
- if IDType = 3 then do
- RequestFile '"Select BaseName For ImageD! "' 'SYS:' ' '
- PicDName = result
- Name = GetFileName(PicDName)
- if Name = "" then do
- Title = "You Must Enter A Valid Name To Use!"
- RequestNotify Title
- if FlyOn = 1 then Address FLY_1 Quit
- exit
- end
- EndD = Frames
- StartD = 1
- end
-
- DriveName = GetPathName(PicDName)
- return
-
-
- GetE:
- if IEType = 0 then do
- call Switcher(TOSW)
- PicEName = GetFile("Select Flyer Clip For ImageE! ",DriveName)
- Name = GetFileName(PicEName)
- if Name = "" then do
- Address FLY_1 OK_TEXT " OK "
- Title = "You Must Enter A Valid Clip Name To Use!"
- Address FLY_1 FYINT Title
- Address FLY_1 Quit
- call Switcher(TOWB)
- exit
- end
- Address FLY_1 SetFileName PicEName
- Address FLY_1 GetClipLength PicEName
- EndE = result
- StartE = 0
- Address FLY_1 Program "5"
- Address FLY_1 StartNum StartE
- Address FLY_1 EndNum EndE
- Address FLY_1 CurrentNum "-1"
- Address FLY_1 GetTimeNT "Select Frame To Start With For ImageE!"
- StartE = word(result,1)*2
- EndE = word(result,2)*2
- StartE = StartE + 1
- EndE = EndE +2
- call addlib('PROJECT_REXX_PORT' , 0)
- call addlib(TOASTERLIB,0)
- call Switcher(TOWB)
- address command "C:Wait 1"
- ScreenToFront
- end
- if IEType = 1 then do
- RequestFile '"Select Flyer Still For ImageE!"' DriveName ' '
- PicEName = result
- Name = GetFileName(PicEName)
- if Name = "" then do
- Title = "You Must Enter A Valid Name To Use!"
- RequestNotify Title
- if FlyOn = 1 then Address FLY_1 Quit
- exit
- end
- EndE = Frames
- StartE = 1
- end
- if IEType = 2 then do
- RequestFile '"Select FileName For ImageE!"' 'SYS:' ' '
- PicEName = result
- Name = GetFileName(PicEName)
- if Name = "" then do
- Title = "You Must Enter A Valid Name To Use!"
- RequestNotify Title
- if FlyOn = 1 then Address FLY_1 Quit
- exit
- end
- EndE = Frames
- StartE = 1
- end
- if IEType = 3 then do
- RequestFile '"Select BaseName For ImageE! "' 'SYS:' ' '
- PicEName = result
- Name = GetFileName(PicEName)
- if Name = "" then do
- Title = "You Must Enter A Valid Name To Use!"
- RequestNotify Title
- if FlyOn = 1 then Address FLY_1 Quit
- exit
- end
- EndE = Frames
- StartE = 1
- end
- return
-
-
- CloseStuff:
- Address FLY_1 Quit
- call remlib('ToasterARexx.port')
- call remlib('PROJECT_REXX_PORT')
- return
-
-
- OpenFlyStuff:
- FlyOn = 1
- address command "run VFXIFX:FLY"
- do while (POS('FLY_1',SHOW('Ports')) = 0)
- address command "wait 1"
- end
- TOASTERLIB="ToasterARexx.port"
- call remlib('ToasterARexx.port')
- call remlib('PROJECT_REXX_PORT')
- call addlib('PROJECT_REXX_PORT' , 0)
- call addlib(TOASTERLIB,0)
- DriveName = FindDrive()
- return
-
-
- FindDrive:
- address command "C:Info >RAM:DriveList"
- call open TempFile,"RAM:DriveList",R
- do until eof(TempFile)
- line = readln(TempFile)
- parse var line Drive" "Rest
- if Drive = "FA0:" then
- FlyVolume = word(Rest,7)":"
- end
- call close TempFile
- address command "Delete >NIL: RAM:DriveList"
- return FlyVolume
-
- LoadA:
- if IAType = 0 then do
- LoadBuffer PicAName Force Start
- end
- if IAType = 1 then do
- LoadBuffer PicAName Force 1
- end
- if IAType = 2 then do
- LoadBuffer PicAName Force
- end
- if IAType = 3 then do
- LoadBuffer PicAName""right(Start,3,'0') Force
- end
- return
-
- LoadB:
- if IBType = 0 then do
- LoadBuffer PicBName Force StartB
- end
- if IBType = 1 then do
- LoadBuffer PicBName Force 1
- end
- if IBType = 2 then do
- LoadBuffer PicBName Force
- end
- if IBType = 3 then do
- LoadBuffer PicBName""right(StartB,3,'0') Force
- end
- return
-
- LoadC:
- if ICType = 0 then do
- LoadBuffer PicCName Force StartC
- end
- if ICType = 1 then do
- LoadBuffer PicCName Force 1
- end
- if ICType = 2 then do
- LoadBuffer PicCName Force
- end
- if ICType = 3 then do
- LoadBuffer PicCName""right(StartC,3,'0') Force
- end
- return
-
- LoadD:
- if IDType = 0 then do
- LoadBuffer PicDName Force StartD
- end
- if IDType = 1 then do
- LoadBuffer PicDName Force 1
- end
- if IDType = 2 then do
- LoadBuffer PicDName Force
- end
- if IDType = 3 then do
- LoadBuffer PicDName""right(StartD,3,'0') Force
- end
- return
-
- LoadE:
- if IEType = 0 then do
- LoadBuffer PicEName Force StartE
- end
- if IEType = 1 then do
- LoadBuffer PicEName Force 1
- end
- if IEType = 2 then do
- LoadBuffer PicEName Force
- end
- if IEType = 3 then do
- LoadBuffer PicEName""right(StartE,3,'0') Force
- end
- return
-
-
-
-