VELREP(OPCS) Optical Printer Control System VELREP(OPCS) NAME velrep - special purpose velocity repeat patterns for tandem shooting USAGE velrep [filename] [repcnt] 'filename' is the name of a '.vrp' file (format described below) that contains the commands to define the velocities necessary for tandem shooting. 'repcnt' is the number of times to loop the velocity patterns defined in the .vrp file. DESCRIPTION This command lets advanced users define very specific velocity patterns to send to the motors for precise tandem-motor shooting, such as shooting YCM B & W separation masters at full speed. Basically, any situation where shooting with separate cam and pro commands is too slow. The .vrp file defines which motors will be running. Normally this command is not executed directly by camera operators; typically a custom OPCS 'runcmd' command is defined to invoke velrep to implement shooting operations. This way, the runcmd programmer can hide the filename, which the camera operator shouldn't have to deal with. For instance, one might define a 'ycmshoot' command in the OPCSDEFS.OPC file as: runcmd ycm ycm.run 1 ..and creating a one-line 'ycm.run' file that contains: @velrep ycm.vrp $1 Then the operator can just type 'ycm 10', and this will invoke the more obscure command 'velrep ycm.vrp 10' behind the scenes. EXAMPLE velrep campro.vrp 5 # repeat the campro.vrp pattern 5 times THE .VRP FILE FORMAT <label>: # text label used to identify blocks of vels 0 0 0 # vels, one for each channel (a, b, c..) -10 0 0 # '-' prefix indicates run in reverse 10+ 10+ 10+ # '+' postfix indicates increment/decrement the # frame counter by 1. Inc or dec depends on the # vel's direction; 10+ will inc, -10+ will dec. 0! 0 0 # '!' postfix (in 'a' chan ONLY) does 'allstop check' # (if true, jumps to <label> for 'allstop <label>') # 'allstop <label>' must be defined if ! specified. # Check is done AFTER these vels are sent to motors. goto <label> # where to go next after last vels sent repeat <label> # if repeating, go to <label> allstop <label> # if allstop occurs, jumps to <label> to stop the motors # Only one 'allstop <label>' allowed in entire file. # '!' postfix indicates where to do the allstop check. tension +1 +1 -1 .. # Sets directions motors are primarily running, # either +1 (fwd), -1(rev), or 0 (still) for each chan. done # return to OPCS, shooting completed o Lines whose first character starts with a '#' are ignored. These are comment lines, and are not parsed by velrep. o Each line should have no more than 256 characters. o Always checks for BUCKLE and VIEWER as part of allstop checking. EXAMPLE VRP FILE #------------------------------------------------------------------------------ # YCM SHOOT -- DRY GATE PROJECTOR # Run projector and camera at 20FPM # # CHANNELS: # A - Aerial (Unused) # B - Main Projector # C - Camera # D - Fader (unused here) # E - Capping shutter (2000 steps per rev, see "CAP SHUTTER" diagram) # F - Filter wheel (2000 steps per rev, see "FILTER WHEEL" diagram) # # RECALC: # awk '{ if (match($0,"^[0-9]")==0) { print $0; next; } # a += $2; b += $3; c += $5; d += $6; # printf("%s\t%s\t%s\t%s\t%s\t%s\t\t# %4d %4d %4d %4d\n", # $1,$2,$3,$4,$5,$6,a,b,c,d); } ' < in.vrp > out.vrp # # # FILTER WHEEL (CHAN 'F'): 0 -- Center of 'X' filter # 500 -- Center of 'Y' filter # 1000 -- Center of 'C' filter # 0 1500 -- Center of 'M' filter # | # | # ::: ::: # ::::: XXX ::::: # :::::: XXXXXXX :::::: # :::::: XXXXXXXXXXX :::::: # ::::: MMM XXXXXXX YYY ::::: # :::: MMMMMMM XXX YYYYYYY :::: # 1500 --- :: MMMMMMMMMMM YYYYYYYYYYY :: --- 500 # :::: MMMMMMM CCC YYYYYYY :::: # ::::: MMM CCCCCCC YYY ::::: # :::::: CCCCCCCCCCC :::::: # :::::: CCCCCCC :::::: # ::::: CCC ::::: # ::: ::: # | # | # 1000 # # # CAP SHUTTER (CHAN 'E'): # 345 -- starting to close (+345) # 625 -- just closed (+280) # 0 1000 -- Fully closed (+375) # | 1375 -- starting to open (+375) # | 1655 -- just open (+280) # ------- 2000 -- full open (+345) # ---- ---- # --- --- # -- OPEN -- # - - # - - # 1500 --- ::::::::::::::::::::::::::::: --- 500 # ::::::::::::::::::::::::::::: # ::::::::::::::::::::::::::: # ::::::::: CLOSE ::::::::: # ::::::::::::::::::::: # ::::::::::::::: Note: 'OPEN' is only 170 degrees # ::::::: (consistent with camera exposure) # | # | # 1000 # # CHANGE TENSION MOTORS TO RUN FORWARD FOR CAM AND PRO tension 0 +1 +1 # 1) CAP CLOSE (0 -> 1000) # 2) OPEN CAMERA TO SEAT POSITION (0 -> 1000) # 3) MOVE FILTER FROM "X"(0) TO "Y" (0 -> 500) # 4) ASSUME PRO ALREADY SEATED ON "Y" begin: #AER MAIN CAM FAD CAP FILT # MAIN CAM CAP FILT 0 0 0 0 5 0 # 0 0 5 0 <- CAP FULL OPN 0 0 0 0 10 0 # 0 0 15 0 0 0 0 0 15 0 # 0 0 30 0 0 0 0 0 20 0 # 0 0 50 0 0 0 0 0 25 0 # 0 0 75 0 0 0 0 0 30 0 # 0 0 105 0 0 0 0 0 35 0 # 0 0 140 0 0 0 0 0 40 0 # 0 0 180 0 0 0 0 0 45 0 # 0 0 225 0 0 0 0 0 50 0 # 0 0 275 0 0 0 0 0 55 0 # 0 0 330 0 <- CAP CLOSING 0 0 0 0 55 0 # 0 0 385 0 0 0 0 0 55 0 # 0 0 440 0 0 0 0 0 60 0 # 0 0 500 0 0 0 0 0 60 0 # 0 0 560 0 0 0 5 0 55 5 # 0 5 615 5 <- CAP CLS 0 0 10 0 55 10 # 0 15 670 15 0 0 15 0 55 15 # 0 30 725 30 0 0 20 0 50 20 # 0 50 775 50 0 0 25 0 45 25 # 0 75 820 75 0 0 30 0 40 30 # 0 105 860 105 0 0 35 0 35 35 # 0 140 895 140 0 0 40 0 30 40 # 0 180 925 180 0 0 45 0 25 45 # 0 225 950 225 0 0 50 0 20 50 # 0 275 970 275 0 0 55 0 15 45 # 0 330 985 320 0 0 55 0 10 40 # 0 385 995 360 0 0 55 0 5 35 # 0 440 1000 395 <- CAP FULL CLS 0 0 60 0 0 30 # 0 500 1000 425 0 0 60 0 0 25 # 0 560 1000 450 0 0 55 0 0 20 # 0 615 1000 470 0 0 55 0 0 15 # 0 670 1000 485 0 0 55 0 0 10 # 0 725 1000 495 0 0 50 0 0 5 # 0 775 1000 500 0 0 45 0 0 0 # 0 820 1000 500 0 0 40 0 0 0 # 0 860 1000 500 0 0 35 0 0 0 # 0 895 1000 500 0 0 30 0 0 0 # 0 925 1000 500 0 0 25 0 0 0 # 0 950 1000 500 0 0 20 0 0 0 # 0 970 1000 500 0 0 15 0 0 0 # 0 985 1000 500 0 0 10 0 0 0 # 0 995 1000 500 0 0 5 0 0 0 # 0 1000 1000 500 0 0 0 0 0 0 # : : : : ycmshoot: allstop finish # START OPENING CAPPING SHUTTER #AER MAIN CAM FAD CAP FILT # MAIN CAM CAP FILT 0 0 0 0 5 0 # 0 1000 1005 500 0 0 0 0 10 0 # 0 1000 1015 500 0 0 0 0 15 0 # 0 1000 1030 500 0 0 0 0 20 0 # 0 1000 1050 500 0 0 0 0 25 0 # 0 1000 1075 500 0 0 0 0 30 0 # 0 1000 1105 500 0 0 0 0 35 0 # 0 1000 1140 500 0 0 0 0 40 0 # 0 1000 1180 500 0 0 0 0 45 0 # 0 1000 1225 500 0 0 0 0 50 0 # 0 1000 1275 500 0 0 0 0 55 0 # 0 1000 1330 500 0 0 0 0 60 0 # 0 1000 1390 500 CAP OPENING 0 0 0 0 65 0 # 0 1000 1455 500 # "Y" EXPOSURE (APPROX 18/120 = .15 SEC) #AER MAIN CAM FAD CAP FILT # MAIN CAM CAP FILT 0 0 0 0 65 0 # 0 1000 1520 500 1) ^ 0 0 0 0 65 0 # 0 1000 1585 500 2) /|\ 0 0 0 0 65 0 # 0 1000 1650 500 3) | 0 0 0 0 65 0 # 0 1000 1715 500 4) CAP OPN | 0 0 0 0 65 0 # 0 1000 1780 500 5) | 0 0 0 0 65 0 # 0 1000 1845 500 6) | 0 0 0 0 65 0 # 0 1000 1910 500 7) | 0 0 0 0 65 0 # 0 1000 1975 500 8) | 0 0 0 0 65 0 # 0 1000 40 500 9) | 0 0 0 0 65 0 # 0 1000 105 500 10) "Y" EXPOSURE 0 0 0 0 65 0 # 0 1000 170 500 11) | 0 0 0 0 65 0 # 0 1000 235 500 12) | 0 0 0 0 65 0 # 0 1000 300 500 13) | 0 0 0 0 65 0 # 0 1000 365 500 14) CAP CLSG | 0 0 0 0 65 0 # 0 1000 430 500 15) | 0 0 0 0 65 0 # 0 1000 495 500 16) | 0 0 0 0 65 0 # 0 1000 560 500 17) \|/ 0 0 0 0 65 0 # 0 1000 625 500 18) CAP CLS v # 1) CAP # 2) MOVE PROJECTOR TO "C" # 3) MOVE FILTER FROM "Y"(500) -> "C"(1000) #AER MAIN CAM FAD CAP FILT # MAIN CAM CAP FILT 0 5 0 0 65 5 # 5 1000 690 505 0 10 0 0 58 10 # 15 1000 748 515 0 15 0 0 51 15 # 30 1000 799 530 0 20 0 0 44 20 # 50 1000 843 550 0 25 0 0 37 25 # 75 1000 880 575 0 30 0 0 30 30 # 105 1000 910 605 0 35 0 0 30 35 # 140 1000 940 640 0 40 0 0 23 40 # 180 1000 963 680 0 45 0 0 16 45 # 225 1000 979 725 0 50 0 0 9 50 # 275 1000 988 775 0 55 0 0 9 45 # 330 1000 997 820 0 60 0 0 3 40 # 390 1000 1000 860 <- CAP FULL CLS 0 65 0 0 0 35 # 455 1000 1000 895 0 70 0 0 0 30 # 525 1000 1000 925 0 75 0 0 0 25 # 600 1000 1000 950 0 80 0 0 0 20 # 680 1000 1000 970 0 80 0 0 0 15 # 760 1000 1000 985 0 80 0 0 0 10 # 840 1000 1000 995 0 80 0 0 0 5 # 920 1000 1000 1000 0 80 0 0 0 0 # 1000 1000 1000 1000 0 80 0 0 0 0 # 1080 1000 1000 1000 0 80 0 0 0 0 # 1160 1000 1000 1000 0 80 0 0 0 0 # 1240 1000 1000 1000 0 80 0 0 0 0 # 1320 1000 1000 1000 0 80 0 0 0 0 # 1400 1000 1000 1000 0 75 0 0 0 0 # 1475 1000 1000 1000 0 70 0 0 0 0 # 1545 1000 1000 1000 0 65 0 0 5 0 # 1610 1000 1005 1000 0 60 0 0 10 0 # 1670 1000 1015 1000 0 55 0 0 15 0 # 1725 1000 1030 1000 0 50 0 0 20 0 # 1775 1000 1050 1000 0 45 0 0 25 0 # 1820 1000 1075 1000 0 40 0 0 30 0 # 1860 1000 1105 1000 0 35 0 0 35 0 # 1895 1000 1140 1000 0 30 0 0 40 0 # 1925 1000 1180 1000 0 25 0 0 45 0 # 1950 1000 1225 1000 0 20 0 0 50 0 # 1970 1000 1275 1000 0 15 0 0 55 0 # 1985 1000 1330 1000 0 10 0 0 60 0 # 1995 1000 1390 1000 <- CAP OPENING 0 5+ 0 0 65 0 # 2000 1000 1455 1000 # "C" EXPOSURE FOR 18/120 = .15 SEC #AER MAIN CAM FAD CAP FILT # MAIN CAM CAP FILT 0 0 0 0 65 0 # 2000 1000 1520 1000 1) ^ 0 0 0 0 65 0 # 2000 1000 1585 1000 2) /|\ 0 0 0 0 65 0 # 2000 1000 1650 1000 3) | 0 0 0 0 65 0 # 2000 1000 1715 1000 4) CAP OPN | 0 0 0 0 65 0 # 2000 1000 1780 1000 5) | 0 0 0 0 65 0 # 2000 1000 1845 1000 6) | 0 0 0 0 65 0 # 2000 1000 1910 1000 7) | 0 0 0 0 65 0 # 2000 1000 1975 1000 8) | 0 0 0 0 65 0 # 2000 1000 40 1000 9) | 0 0 0 0 65 0 # 2000 1000 105 1000 10) "C" EXPOSURE 0 0 0 0 65 0 # 2000 1000 170 1000 11) | 0 0 0 0 65 0 # 2000 1000 235 1000 12) | 0 0 0 0 65 0 # 2000 1000 300 1000 13) | 0 0 0 0 65 0 # 2000 1000 365 1000 14) | 0 0 0 0 65 0 # 2000 1000 430 1000 15) | 0 0 0 0 65 0 # 2000 1000 495 1000 16) | 0 0 0 0 65 0 # 2000 1000 560 1000 17) \|/ 0 0 0 0 65 0 # 2000 1000 625 1000 18) CAP CLS v # 1) CAP # 2) MOVE PROJECTOR TO "M" # 3) MOVE FILTER FROM "C"(1000) -> "M"(1500) #AER MAIN CAM FAD CAP FILT # MAIN CAM CAP FILT 0 5 0 0 65 5 # 2005 1000 690 1005 0 10 0 0 58 10 # 2015 1000 748 1015 0 15 0 0 51 15 # 2030 1000 799 1030 0 20 0 0 44 20 # 2050 1000 843 1050 0 25 0 0 37 25 # 2075 1000 880 1075 0 30 0 0 30 30 # 2105 1000 910 1105 0 35 0 0 30 35 # 2140 1000 940 1140 0 40 0 0 23 40 # 2180 1000 963 1180 0 45 0 0 16 45 # 2225 1000 979 1225 0 50 0 0 9 50 # 2275 1000 988 1275 0 55 0 0 9 45 # 2330 1000 997 1320 0 60 0 0 3 40 # 2390 1000 1000 1360 <- CAP FULL CLS 0 65 0 0 0 35 # 2455 1000 1000 1395 0 70 0 0 0 30 # 2525 1000 1000 1425 0 75 0 0 0 25 # 2600 1000 1000 1450 0 80 0 0 0 20 # 2680 1000 1000 1470 0 80 0 0 0 15 # 2760 1000 1000 1485 0 80 0 0 0 10 # 2840 1000 1000 1495 0 80 0 0 0 5 # 2920 1000 1000 1500 0 80 0 0 0 0 # 3000 1000 1000 1500 0 80 0 0 0 0 # 3080 1000 1000 1500 0 80 0 0 0 0 # 3160 1000 1000 1500 0 80 0 0 0 0 # 3240 1000 1000 1500 0 80 0 0 0 0 # 3320 1000 1000 1500 0 80 0 0 0 0 # 3400 1000 1000 1500 0 75 0 0 0 0 # 3475 1000 1000 1500 0 70 0 0 0 0 # 3545 1000 1000 1500 0 65 0 0 5 0 # 3610 1000 1005 1500 0 60 0 0 10 0 # 3670 1000 1015 1500 0 55 0 0 15 0 # 3725 1000 1030 1500 0 50 0 0 20 0 # 3775 1000 1050 1500 0 45 0 0 25 0 # 3820 1000 1075 1500 0 40 0 0 30 0 # 3860 1000 1105 1500 0 35 0 0 35 0 # 3895 1000 1140 1500 0 30 0 0 40 0 # 3925 1000 1180 1500 0 25 0 0 45 0 # 3950 1000 1225 1500 0 20 0 0 50 0 # 3970 1000 1275 1500 0 15 0 0 55 0 # 3985 1000 1330 1500 0 10 0 0 60 0 # 3995 1000 1390 1500 <- CAP OPENING 0 5+ 0 0 65 0 # 4000 1000 1455 1500 # "M" EXPOSURE FOR 18/120 = .15 SEC #AER MAIN CAM FAD CAP FILT # MAIN CAM CAP FILT 0 0 0 0 65 0 # 4000 1000 1520 1500 1) ^ 0 0 0 0 65 0 # 4000 1000 1585 1500 2) /|\ 0 0 0 0 65 0 # 4000 1000 1650 1500 3) | 0 0 0 0 65 0 # 4000 1000 1715 1500 4) CAP OPN | 0 0 0 0 65 0 # 4000 1000 1780 1500 5) | 0 0 0 0 65 0 # 4000 1000 1845 1500 6) | 0 0 0 0 65 0 # 4000 1000 1910 1500 7) | 0 0 0 0 65 0 # 4000 1000 1975 1500 8) | 0 0 0 0 65 0 # 4000 1000 40 1500 9) | 0 0 0 0 65 0 # 4000 1000 105 1500 10) "M" EXPOSURE 0 0 0 0 65 0 # 4000 1000 170 1500 11) | 0 0 0 0 65 0 # 4000 1000 235 1500 12) | 0 0 0 0 65 0 # 4000 1000 300 1500 13) | 0 0 0 0 65 0 # 4000 1000 365 1500 14) CAP CLSG | 0 0 0 0 65 0 # 4000 1000 430 1500 15) | 0 0 0 0 65 0 # 4000 1000 495 1500 16) | 0 0 0 0 65 0 # 4000 1000 560 1500 17) \|/ 0 0 0 0 65 0 # 4000 1000 625 1500 18) CAP CLS v # 1) MOVE FILTER FROM "M"(1500) -> "X"(2000) -> "Y"(2500) # 2) MOVE PROJECTOR FROM "M" -> "Y" # 3) ADVANCE CAMERA +1x # 4) CAP #AER MAIN CAM FAD CAP FILT # MAIN CAM CAP FILT 0 5 5 0 65 5 # 4005 1005 690 1505 0 10 10 0 58 10 # 4015 1015 748 1515 0 15 15 0 51 15 # 4030 1030 799 1530 0 20 20 0 44 20 # 4050 1050 843 1550 0 25 25 0 37 25 # 4075 1075 880 1575 0 30 30 0 30 30 # 4105 1105 910 1605 0 35 35 0 30 35 # 4140 1140 940 1640 0 40 40 0 23 40 # 4180 1180 963 1680 0 45 45 0 16 45 # 4225 1225 979 1725 0 50 50 0 9 50 # 4275 1275 988 1775 0 55 55 0 9 55 # 4330 1330 997 1830 0 60 60 0 3 55 # 4390 1390 1000 1885 <- CAP FULL CLS 0 65 65 0 0 55 # 4455 1455 1000 1940 0 70 70 0 0 60 # 4525 1525 1000 2000 0 75 75 0 0 60 # 4600 1600 1000 2060 0 80 80 0 0 55 # 4680 1680 1000 2115 0 80 80 0 0 55 # 4760 1760 1000 2170 0 80 80 0 0 55 # 4840 1840 1000 2225 0 80 80 0 0 50 # 4920 1920 1000 2275 0 80 80+ 0 0 45 # 5000 2000 1000 2320 0 80 80 0 0 40 # 5080 2080 1000 2360 0 80 80 0 0 35 # 5160 2160 1000 2395 0 80 80 0 0 30 # 5240 2240 1000 2425 0 80 80 0 0 25 # 5320 2320 1000 2450 0 80 80 0 0 20 # 5400 2400 1000 2470 0 75 75 0 0 15 # 5475 2475 1000 2485 0 70 70 0 0 10 # 5545 2545 1000 2495 0 65 65 0 0 5 # 5610 2610 1000 2500 0 60 60 0 0 0 # 5670 2670 1000 2500 0 55 55 0 0 0 # 5725 2725 1000 2500 0 50 50 0 0 0 # 5775 2775 1000 2500 0 45 45 0 0 0 # 5820 2820 1000 2500 0 40 40 0 0 0 # 5860 2860 1000 2500 0 35 35 0 0 0 # 5895 2895 1000 2500 0 30 30 0 0 0 # 5925 2925 1000 2500 0 25 25 0 0 0 # 5950 2950 1000 2500 0 20 20 0 0 0 # 5970 2970 1000 2500 0 15 15 0 0 0 # 5985 2985 1000 2500 0 10 10 0 0 0 # 5995 2995 1000 2500 0 5+ 5 0 0 0 # 6000 3000 1000 2500 0! 0 0 0 0 0 # 6000 3000 1000 2500 repeat ycmshoot goto finish finish: # 1) Backup camera to seat it # 2) Backup filter from "Y"(500) -> "X"(0) # 3) Uncap #AER MAIN CAM FAD CAP FILT # MAIN CAM CAP FILT 0 0 -5 0 0 -5 # 6000 2995 1000 2495 <- CAM FULL OPN, 0 0 -10 0 0 -10 # 6000 2985 1000 2485 CAP FULL CLS 0 0 -15 0 0 -15 # 6000 2970 1000 2470 0 0 -20 0 0 -20 # 6000 2950 1000 2450 0 0 -25 0 0 -25 # 6000 2925 1000 2425 0 0 -30 0 0 -30 # 6000 2895 1000 2395 0 0 -35 0 0 -35 # 6000 2860 1000 2360 0 0 -40 0 0 -40 # 6000 2820 1000 2320 0 0 -45 0 0 -45 # 6000 2775 1000 2275 0 0 -50 0 0 -50 # 6000 2725 1000 2225 0 0 -55 0 0 -45 # 6000 2670 1000 2180 <- CAM CLOSING 0 0 -55 0 0 -40 # 6000 2615 1000 2140 0 0 -55 0 5 -35 # 6000 2560 1005 2105 0 0 -60 0 10 -30 # 6000 2500 1015 2075 0 0 -60 0 15 -25 # 6000 2440 1030 2050 0 0 -55 0 20 -20 # 6000 2385 1050 2030 0 0 -55 0 25 -15 # 6000 2330 1075 2015 <- CAM CLS 0 0 -55 0 30 -10 # 6000 2275 1105 2005 0 0 -50 0 35 -5 # 6000 2225 1140 2000 0 0 -45 0 40 0 # 6000 2180 1180 2000 0 0 -40 0 45 0 # 6000 2140 1225 2000 0 0 -35 0 50 0 # 6000 2105 1275 2000 0 0 -30 0 55 0 # 6000 2075 1330 2000 0 0 -25 0 55 0 # 6000 2050 1385 2000 <- CAM CLS, 0 0 -20 0 55 0 # 6000 2030 1440 2000 CAP OPENING 0 0 -15 0 60 0 # 6000 2015 1500 2000 0 0 -10 0 60 0 # 6000 2005 1560 2000 0 0 -5 0 55 0 # 6000 2000 1615 2000 0 0 0 0 55 0 # 6000 2000 1670 2000 <- CAM FULL CLS, 0 0 0 0 55 0 # 6000 2000 1725 2000 CAP OPN 0 0 0 0 50 0 # 6000 2000 1775 2000 0 0 0 0 45 0 # 6000 2000 1820 2000 0 0 0 0 40 0 # 6000 2000 1860 2000 0 0 0 0 35 0 # 6000 2000 1895 2000 0 0 0 0 30 0 # 6000 2000 1925 2000 0 0 0 0 25 0 # 6000 2000 1950 2000 0 0 0 0 20 0 # 6000 2000 1970 2000 0 0 0 0 15 0 # 6000 2000 1985 2000 0 0 0 0 10 0 # 6000 2000 1995 2000 0 0 0 0 5 0 # 6000 2000 2000 2000 <- CAM FULL CLS, 0 0 0 0 0 0 # 6000 2000 2000 2000 CAP FULL OPN done #------------------------------------------------------------------------------ FUTURE o Add a way to specify BUCKLE/VIEWER/TRIP checks in the .vrp file. (We only have AllStop checks currently) ORIGIN Gregory Ercolano, Altadena, California 12/15/03