--------------------------------------------------------------------------- -- Render to RAM Macro Script -- -- -- -- Alexander Esppeschit Bicalho -- -- Kinetix Training Specialist -- -- abicalho@brasilmail.com -- -- http://www.origamy.com.br -- --------------------------------------------------------------------------- -- MODIFY THIS AT YOUR OWN RISK -- This utility will allow you to render directly to the RamPlayer MacroScript RAM_Render category:"Tools" tooltip:"Render to Ram" ( function get_names name a = append a name function existFile fname = (getfiles fname).count != 0 rollout r_size "Render Parameters" ( local p = 95 local p2 = p+98 local ftype = "AVI" group "Time Output" ( radiobuttons r_time labels:#("Single","Active Time Segment","Range:") columns:1 align:#left spinner nth "Every Nth Frame:" pos:[215,24] fieldwidth:50 type:#integer range:[0,10000,1] enabled:false spinner r_from fieldwidth:60 pos:[75,56] type:#integer range:[0,10000,1] enabled:false spinner r_to "To:" fieldwidth:60 pos:[152,56] type:#integer range:[0,10000,100] enabled:false ) group "Render Size" ( spinner rw "Width " fieldwidth:60 pos:[15,p+08] type:#integer range:[0,10000,320] spinner rh "Height " fieldwidth:60 pos:[12,p+32] type:#integer range:[0,10000,240] spinner aspect "Aspect " fieldwidth:60 pos:[10,p+56] type:#float range:[0,20,1.0] button s160 "160x120" pos:[125,p+06] width:75 height:19 button s256 "256x243" pos:[125,p+30] width:75 height:19 button s320 "320x240" pos:[205,p+06] width:75 height:19 button s512 "512x486" pos:[205,p+30] width:75 height:19 button s640 "640x480" pos:[285,p+06] width:75 height:19 button s720 "720x486" pos:[285,p+30] width:75 height:19 button conf_render "Configure" pos:[125,p+54] width:115 height:19 button wipe "Purge Files" pos:[245,p+54] width:115 height:19 radiobuttons filetype labels:#("AVI","TGA","JPG","PNG","RLA") pos:[125,p+78] columns:5 button go "Render" pos:[125,p+98] width:235 height:19 ) label abt0 "Render to RAM" pos:[8,p2+31] label abt1 "Version 0.2a" pos:[8,p2+46] label abt2 "Alexander Esppeschit Bicalho" offset:[0,-30] align:#right label abt2a "Kinetix Training Specialist" align:#right label abt4 "http://www.origamy.com.br" align:#right on filetype changed state do ( case state of ( 1: ( ftype = "AVI" ) 2: ( ftype = "TGA" ) 3: ( ftype = "JPG" ) 4: ( ftype = "PNG" ) 5: ( ftype = "RLA" ) ) ) local deletea, deleteb, tmpdelete fn deletea = ( tmpdelete = getfiles ((getdir #image) + "\\ramplayertemp_a*.*") for i in 1 to tmpdelete.count do ( deletefile tmpdelete[i] ) ) fn deleteb = ( tmpdelete = getfiles ((getdir #image) + "\\ramplayertemp_b*.*") for i in 1 to tmpdelete.count do ( deletefile tmpdelete[i] ) ) on wipe pressed do ( deletea() deleteb() ) on r_time changed state do ( case state of ( 1: ( nth.enabled = false r_from.enabled = false r_to.enabled = false ) 2: ( nth.enabled = true r_from.enabled = false r_to.enabled = false ) 3: ( nth.enabled = true r_from.enabled = true r_to.enabled = true ) ) ) on s160 pressed do ( rw.value = 160 rh.value = 120 aspect.value = 1.0 ) on s320 pressed do ( rw.value = 320 rh.value = 240 aspect.value = 1.0 ) on s256 pressed do ( rw.value = 256 rh.value = 243 aspect.value = 1.266 ) on s512 pressed do ( rw.value = 512 rh.value = 486 aspect.value = 1.266 ) on s640 pressed do ( rw.value = 640 rh.value = 480 aspect.value = 1.0 ) on s720 pressed do ( rw.value = 720 rh.value = 486 aspect.value = 0.9 ) on conf_render pressed do (max render scene) local tempa,tempb,makeifl, tmpdelete, fname fn makeifl ft = ( tmpdelete = getfiles ((getdir #image) + "\\ramplayertemp*.ifl") for i in 1 to tmpdelete.count do ( deletefile tmpdelete[i] ) tempa = getfiles ((getdir #image) + "\\ramplayertemp_a*." + ft) sort tempa if tempa.count > 0 then ( fname = createfile ((getdir #image) + "\\ramplayertemp_a.ifl") for i in 1 to tempa.count do ( format "%\n" tempa[i] to:fname ) close fname ) tempb = getfiles ((getdir #image) + "\\ramplayertemp_b*." + ft) sort tempb if tempb.count > 0 then ( fname = createfile ((getdir #image) + "\\ramplayertemp_b.ifl") for i in 1 to tempb.count do ( format "%\n" tempb[i] to:fname ) close fname ) ) on go pressed do ( if ftype == "AVI" then ( tempfilename_a = (getdir #image) + "\\ramplayertemp_a.avi" tempfilename_b = (getdir #image) + "\\ramplayertemp_b.avi" if existfile tempfilename_b then ( deletea() copyfile tempfilename_b tempfilename_a tempfilename = tempfilename_b ) else ( if existfile tempfilename_a then ( deleteb() tempfilename = tempfilename_b ) else ( deletea() deleteb() tempfilename = tempfilename_a tempfilename_b = "" ) ) case r_time.state of ( 1: render outputheight:rh.value outputwidth:rw.value pixelaspect:aspect.value outputfile:tempfilename progressbar:on vfb:off 2: render outputheight:rh.value outputwidth:rw.value pixelaspect:aspect.value outputfile:tempfilename progressbar:on vfb:off framerange:#active nthframe:nth.value 3: render outputheight:rh.value outputwidth:rw.value pixelaspect:aspect.value outputfile:tempfilename progressbar:on vfb:off nthframe:nth.value fromframe:r_from.value toframe:r_to.value ) ramplayer tempfilename_a tempfilename_b closerolloutfloater ramrender_dialogue ) else ( if ftype == "TGA" then ( tempfilename_a = (getdir #image) + "\\ramplayertemp_a.tga" tempfilename_b = (getdir #image) + "\\ramplayertemp_b.tga" ) if ftype == "JPG" then ( tempfilename_a = (getdir #image) + "\\ramplayertemp_a.jpg" tempfilename_b = (getdir #image) + "\\ramplayertemp_b.jpg" ) if ftype == "PNG" then ( tempfilename_a = (getdir #image) + "\\ramplayertemp_a.png" tempfilename_b = (getdir #image) + "\\ramplayertemp_b.png" ) if ftype == "RLA" then ( tempfilename_a = (getdir #image) + "\\ramplayertemp_a.rla" tempfilename_b = (getdir #image) + "\\ramplayertemp_b.rla" ) tempfilename_aifl = (getdir #image) + "\\ramplayertemp_a.ifl" tempfilename_bifl = (getdir #image) + "\\ramplayertemp_b.ifl" if existfile tempfilename_bifl then ( deletea() tempfilename = tempfilename_a first = tempfilename_bifl second = tempfilename_aifl ) else ( if existfile tempfilename_aifl then ( deleteb() tempfilename = tempfilename_b first = tempfilename_aifl second = tempfilename_bifl ) else ( deletea() deleteb() tempfilename = tempfilename_a tempfilename_bifl = "" first = tempfilename_aifl second = tempfilename_bifl ) ) case r_time.state of ( 1: ( render outputheight:rh.value outputwidth:rw.value pixelaspect:aspect.value outputfile:tempfilename progressbar:on vfb:off makeifl ftype ) 2: ( render outputheight:rh.value outputwidth:rw.value pixelaspect:aspect.value outputfile:tempfilename progressbar:on vfb:off framerange:#active nthframe:nth.value makeifl ftype ) 3: ( render outputheight:rh.value outputwidth:rw.value pixelaspect:aspect.value outputfile:tempfilename progressbar:on vfb:off nthframe:nth.value fromframe:r_from.value toframe:r_to.value makeifl ftype ) ) ramplayer first second closerolloutfloater ramrender_dialogue ) ) ) try(closerolloutfloater ramrender_dialogue) catch() global ramrender_dialogue = newrolloutfloater "Render to RAM" 400 343 addrollout r_size ramrender_dialogue )