(FILECREATED " 4-Aug-84 18:51:50" {ERIS}<SPEECH>USER.FPKG;15 20227  

      changes to:  (VARS USERCOMS SPEECHBENCHICON)

      previous date: "13-Jul-84 00:50:27" {ERIS}<SPEECH>USER.FPKG;14)


(* Copyright (c) 1984 by Xerox Corporation. All rights reserved.)

(PRETTYCOMPRINT USERCOMS)

(RPAQQ USERCOMS ((INITVARS (USER.TRAJS NIL)
			   (USER.WINDOW NIL)
			   (USER.MENU NIL)
			   (USER.TMIN 0)
			   (USER.TMAX 700)
			   (USER.VMIN 0)
			   (USER.VMAX 200)
			   (USER.PNAMES '(AV ASV FGP BGP FGZ BGZ BGS SWITCH AFRIC AASPIR NCF F0 A1 B1 
					     F1 A2 B2 F2 A3 B3 F3 A4 B4 F4 A5 B5 F5 A6 B6 F6 FNZ BNZ 
					     ANP FNP BNP AB GAIN))
			   (USER.DEFAULT.PVECTOR NIL)
			   (USER.MAX.PVECTOR NIL)
			   (USER.MIN.PVECTOR NIL)
			   [USER.COMMAND.MENU (CREATE MENU ITEMS ← '(PROMPT&ADD POINT&ADD 
										PROMPT&DELETE 
										POINT&DELETE 
										POINT&MOVE]
			   (USER.COMMAND 'ADD))
	(RECORDS SP.POINT SPOINT SPOINT2)
	(FNS USER.DURATION USER.CREATE.PVECTORS USER.INIT USER.CREATE.TRAJS USER.INTERPOLATE 
	     USER.INTERPOLATE.PNAME USER.CREATE.WINDOW USER.REPAINTFN USER.BUTTONEVENTFN 
	     USER.CREATE.MENU USER.WHENSELECTEDFN USER.EDITTRAJ USER.DRAWLINE USER.ERASELINE 
	     USER.DRAWPOINT USER.MIDDLEBUTTONFN USER.LEFTBUTTONFN USER.PROMPT&ADD USER.ADDPOINT 
	     USER.SETPVECTOR)
	(P (LOAD? '{PHYLUM}<LISPCORE>LIBRARY>ATTACHEDWINDOW.DCOM))
	(VARS DEFAULT.PVECTOR.BUFFER SPEECHBENCHICON)))

(RPAQ? USER.TRAJS NIL)

(RPAQ? USER.WINDOW NIL)

(RPAQ? USER.MENU NIL)

(RPAQ? USER.TMIN 0)

(RPAQ? USER.TMAX 700)

(RPAQ? USER.VMIN 0)

(RPAQ? USER.VMAX 200)

(RPAQ? USER.PNAMES '(AV ASV FGP BGP FGZ BGZ BGS SWITCH AFRIC AASPIR NCF F0 A1 B1 F1 A2 B2 F2 A3 B3 F3 
			A4 B4 F4 A5 B5 F5 A6 B6 F6 FNZ BNZ ANP FNP BNP AB GAIN))

(RPAQ? USER.DEFAULT.PVECTOR NIL)

(RPAQ? USER.MAX.PVECTOR NIL)

(RPAQ? USER.MIN.PVECTOR NIL)

(RPAQ? USER.COMMAND.MENU (CREATE MENU ITEMS ← '(PROMPT&ADD POINT&ADD PROMPT&DELETE POINT&DELETE 
							   POINT&MOVE)))

(RPAQ? USER.COMMAND 'ADD)
[DECLARE: EVAL@COMPILE 

(RECORD SP.POINT (TIME VALUE M B))

(RECORD SPOINT (TIME VALUE M B))

(RECORD SPOINT2 (TIME VALUE))
]
(DEFINEQ

(USER.DURATION
  [LAMBDA (PVECTOR)                                          (* pkh: "30-May-84 11:35")
    700])

(USER.CREATE.PVECTORS
  [LAMBDA NIL                                                (* pkh: "29-May-84 13:20")
    (PROG NIL
          (SETQ USER.DEFAULT.PVECTOR
	    (create PVECTOR
		    AV ← 60
		    ASV ← 0
		    AASPIR ← 0
		    AFRIC ← 0
		    F0 ← 120
		    FGP ← 0
		    BGP ← 100
		    FGZ ← 1500
		    BGZ ← 6000
		    FNP ← 250
		    BNP ← 100
		    FNZ ← 250
		    BNZ ← 100
		    BGS ← 200
		    F1 ← 680
		    B1 ← 90
		    F2 ← 1890
		    B2 ← 200
		    F3 ← 2650
		    B3 ← 170
		    F4 ← 3300
		    B4 ← 250
		    F5 ← 3850
		    B5 ← 200
		    F6 ← 4900
		    B6 ← 1000
		    A1 ← 0
		    ANP ← 0
		    A2 ← 0
		    A3 ← 0
		    A4 ← 0
		    A5 ← 0
		    A6 ← 0
		    AB ← 0
		    SWITCH ← 'CASCADE
		    GAIN ← 36
		    NCF ← 5))
          (SETQ USER.MIN.PVECTOR
	    (create PVECTOR
		    AV ← 0
		    ASV ← 0
		    AASPIR ← 0
		    AFRIC ← 0
		    F0 ← 0
		    FGP ← 0
		    BGP ← 50
		    FGZ ← 750
		    BGZ ← 3000
		    FNP ← 125
		    BNP ← 50
		    FNZ ← 250
		    BNZ ← 50
		    BGS ← 100
		    F1 ← 200
		    B1 ← 40
		    F2 ← 600
		    B2 ← 40
		    F3 ← 1300
		    B3 ← 40
		    F4 ← 1650
		    B4 ← 125
		    F5 ← 1925
		    B5 ← 100
		    F6 ← 2450
		    B6 ← 500
		    A1 ← 0
		    ANP ← 0
		    A2 ← 0
		    A3 ← 0
		    A4 ← 0
		    A5 ← 0
		    A6 ← 0
		    AB ← 0
		    SWITCH ← 'CASCADE
		    GAIN ← 0
		    NCF ← 5))
          (SETQ USER.MAX.PVECTOR
	    (create PVECTOR
		    AV ← 80
		    ASV ← 80
		    AASPIR ← 80
		    AFRIC ← 80
		    F0 ← 400
		    FGP ← 500
		    BGP ← 200
		    FGZ ← 3000
		    BGZ ← 12000
		    FNP ← 500
		    BNP ← 200
		    FNZ ← 700
		    BNZ ← 200
		    BGS ← 400
		    F1 ← 900
		    B1 ← 500
		    F2 ← 2400
		    B2 ← 500
		    F3 ← 3100
		    B3 ← 500
		    F4 ← 6600
		    B4 ← 500
		    F5 ← 7700
		    B5 ← 400
		    F6 ← 9800
		    B6 ← 2000
		    A1 ← 80
		    ANP ← 80
		    A2 ← 80
		    A3 ← 80
		    A4 ← 80
		    A5 ← 80
		    A6 ← 80
		    AB ← 80
		    SWITCH ← 'CASCADE
		    GAIN ← 100
		    NCF ← 5])

(USER.INIT
  [LAMBDA (NEWFLG)                                           (* pkh: " 2-Jul-84 02:11")
    (PROG (MIN MAXC)                                         (* COND ((AND NEWFLG (NEQ (EVALV 
							     (QUOTE SCOPE.WINDOW)) (QUOTE NOBIND)) 
							     (WINDOWP USER.WINDOW)) (CLOSEW USER.WINDOW)))
          (SETQ USER.WINDOW (USER.CREATE.WINDOW))
          (SETQ USER.MENU (USER.CREATE.MENU))
          (SCALED.WINDOW.SETUP USER.WINDOW NIL NIL NIL NIL 'USER.REPAINTFN)
          (COND
	    ((NULL USER.DEFAULT.PVECTOR)
	      (USER.CREATE.PVECTORS)))
          (COND
	    ((OR NEWFLG (NULL USER.TRAJS))
	      (SETQ USER.TRAJS (USER.CREATE.TRAJS])

(USER.CREATE.TRAJS
  [LAMBDA NIL                                                (* pkh: " 9-Jul-84 17:20")
    (PROG (TRAJS VALUE)
          (SETQ TRAJS (create PVECTOR))
          (for PNAME in USER.PNAMES
	     do (SETQ VALUE (PVECTOR.GET USER.DEFAULT.PVECTOR PNAME))
		(USER.SETPVECTOR PNAME (LIST (create SP.POINT
						     TIME ← USER.TMIN
						     VALUE ← VALUE)
					     (create SP.POINT
						     TIME ← USER.TMAX
						     VALUE ← VALUE))
				 TRAJS))
          (RETURN TRAJS])

(USER.INTERPOLATE
  [LAMBDA (SLICE TIME TRAJS)                                 (* kbr: "16-May-84 14:08")
                                                             (* Return slice in TRAJS at TIME.
							     *)
    (PROG NIL
          (for PNAME in USER.PNAMES when [NOT (MEMB PNAME '(SWITCH NCF]
	     do (USER.INTERPOLATE.PNAME SLICE PNAME TIME TRAJS])

(USER.INTERPOLATE.PNAME
  [LAMBDA (SLICE PNAME TIME TRAJS)                           (* pkh: "21-Jun-84 21:45")
    (PROG (TRAJ LEFTPOINT RIGHTPOINT LTIME RTIME LVALUE RVALUE K VALUE)
          (SETQ TRAJ (PVECTOR.GET TRAJS PNAME))
          (for L in TRAJ as R in (CDR TRAJ) when (AND (ILEQ (fetch (SP.POINT TIME) of L)
							    TIME)
						      (IGREATERP (fetch (SP.POINT TIME) of R)
								 TIME))
	     do (SETQ LEFTPOINT L)
		(SETQ RIGHTPOINT R)
		(RETURN))
          (SETQ LTIME (fetch (SP.POINT TIME) of LEFTPOINT))
          (SETQ RTIME (fetch (SP.POINT TIME) of RIGHTPOINT))
          (SETQ LVALUE (fetch (SP.POINT VALUE) of LEFTPOINT))
          (SETQ RVALUE (fetch (SP.POINT VALUE) of RIGHTPOINT))
          (SETQ K (FQUOTIENT (FDIFFERENCE TIME LTIME)
			     (FDIFFERENCE RTIME LTIME)))
          (SETQ VALUE (FPLUS (FTIMES K RVALUE)
			     (FTIMES (FDIFFERENCE 1.0 K)
				     LVALUE)))
          (PVECTOR.PUT SLICE PNAME VALUE])

(USER.CREATE.WINDOW
  [LAMBDA NIL                                                (* pkh: " 2-Jul-84 02:59")
    (PROG (WINDOW)
          (SETQ WINDOW (CREATEW (CREATEREGION 20 180 700 210)
				"User Window" NIL T))
          (WINDOWPROP WINDOW 'REPAINTFN 'USER.REPAINTFN)
          (WINDOWPROP WINDOW 'BUTTONEVENTFN 'USER.BUTTONEVENTFN)
                                                             (* Y.SCALE.WINDOW WINDOW)
          (RETURN WINDOW])

(USER.REPAINTFN
  [LAMBDA (WINDOW REG)                                       (* pkh: "12-Jul-84 23:42")
                                                             (* WINDOW = USER.WINDOW. *)
    (PROG (PNAME TRAJ MIN MAX)
          (COND
	    ((NULL (WINDOWPROP WINDOW 'PNAME))
	      (RETURN)))
          (CLEARW WINDOW)
          (SETQ PNAME (WINDOWPROP WINDOW 'PNAME))            (* Print a Y-scale; or at least the min and max value of
							     the parameter)
          (SETQ MIN (PVECTOR.GET USER.MIN.PVECTOR PNAME))
          (SETQ MAX (PVECTOR.GET USER.MAX.PVECTOR PNAME))
          (COND
	    ((SETQ TRAJ (PVECTOR.GET USER.TRAJS PNAME))
	      (for POINT1 in TRAJ as POINT2 in (CDR TRAJ) while POINT2
		 do (USER.DRAWLINE POINT1 POINT2 MIN MAX))
	      (for POINT in TRAJ do (USER.DRAWPOINT POINT)))
	    (T NIL])

(USER.BUTTONEVENTFN
  [LAMBDA (WINDOW)                                           (* kbr: "16-May-84 14:09")
    (TOTOPW WINDOW)
    (COND
      ((LASTMOUSESTATE MIDDLE)
	(USER.MIDDLEBUTTONFN))
      ((LASTMOUSESTATE LEFT)
	(USER.LEFTBUTTONFN])

(USER.CREATE.MENU
  [LAMBDA NIL                                                (* pkh: " 2-Jul-84 02:09")
    (PROG (MENU)
          (SETQ MENU (create MENU
			     TITLE ← "USER MENU"
			     ITEMS ← USER.PNAMES
			     MENUCOLUMNS ← 12
			     WHENSELECTEDFN ← 'USER.WHENSELECTEDFN))
          (ATTACHMENU MENU USER.WINDOW 'TOP 'JUSTIFY)        (* This causes MENU to open. *)
                                                             (* Okey Dokey. *)
          (RETURN MENU])

(USER.WHENSELECTEDFN
  [LAMBDA (ITEM MENU KEY)                                    (* kbr: "16-May-84 14:09")
    (PROG NIL
          (SHADEITEM ITEM MENU BLACKSHADE)
          (USER.EDITTRAJ ITEM)
          (SHADEITEM ITEM MENU WHITESHADE])

(USER.EDITTRAJ
  [LAMBDA (PNAME)                                            (* pkh: "29-Jun-84 17:10")
    (PROG (TRAJ USER.VMIN USER.VMAX)
          (SETQ USER.VMIN (PVECTOR.GET USER.MIN.PVECTOR PNAME))
          (SETQ USER.VMAX (PVECTOR.GET USER.MAX.PVECTOR PNAME))
          (SETQ TRAJ (PVECTOR.GET USER.TRAJS PNAME))
          (WINDOWPROP USER.WINDOW 'PNAME PNAME)
          (WINDOWPROP USER.WINDOW 'TRAJ TRAJ)
          (COND
	    ((EQ PNAME 'SWITCH)
	      (PROMPTPRINT "You have to use SETQ in LISP to change this paramater")
	      (RETURN)))
          (REDISPLAYW USER.WINDOW)
          (MOVETO 0 (IDIFFERENCE (WINDOWPROP USER.WINDOW 'HEIGHT)
				 6)
		  USER.WINDOW)                               (* TBW *)
          (PRINT USER.VMAX USER.WINDOW)
          (MOVETO 0 (WINDOWPROP USER.WINDOW 'BOTTOM.X.SCALE.OFFSET)
		  USER.WINDOW)
          (PRINT USER.VMIN USER.WINDOW])

(USER.DRAWLINE
  [LAMBDA (POINT1 POINT2 MIN MAX)                            (* pkh: "12-Jul-84 01:47")
                                                             (* Draw the lines that characterize the changes in the 
							     synthesizer parameters over time)
    (PROG (T1 V1 T2 V2 X1 Y1 Y2 X2 HEIGHT WIDTH BOTTOM.X.SCALE.OFFSET LEFT.Y.SCALE.OFFSET 
	      Y.SCALE.FACTOR SPAN)                           (* This window has scales)
                                                             (* Don%'t write on the scale or the tics)
          [SETQ BOTTOM.X.SCALE.OFFSET (IPLUS 10 (WINDOWPROP USER.WINDOW 'BOTTOM.X.SCALE.OFFSET]
          (SETQ LEFT.Y.SCALE.OFFSET (WINDOWPROP USER.WINDOW 'LEFT.Y.SCALE.OFFSET))
          (SETQ T1 (fetch (SP.POINT TIME) of POINT1))
          (SETQ V1 (fetch (SP.POINT VALUE) of POINT1))
          (SETQ T2 (fetch (SP.POINT TIME) of POINT2))
          (SETQ V2 (fetch (SP.POINT VALUE) of POINT2))
          (SETQ HEIGHT (WINDOWPROP USER.WINDOW 'HEIGHT))
          (SETQ WIDTH (WINDOWPROP USER.WINDOW 'WIDTH))
          (SETQ SPAN (IDIFFERENCE MAX MIN))
          (SETQ Y.SCALE.FACTOR (FQUOTIENT (IDIFFERENCE HEIGHT BOTTOM.X.SCALE.OFFSET)
					  SPAN))
          [SETQ X1 (FIXR (FTIMES WIDTH (FQUOTIENT (FDIFFERENCE T1 USER.TMIN)
						  (FDIFFERENCE USER.TMAX USER.TMIN]
          [SETQ X2 (FIXR (FTIMES WIDTH (FQUOTIENT (FDIFFERENCE T2 USER.TMIN)
						  (FDIFFERENCE USER.TMAX USER.TMIN]
          [SETQ Y1 (FIXR (FTIMES Y.SCALE.FACTOR (FDIFFERENCE V1 MIN]
          [SETQ Y2 (FIXR (FTIMES Y.SCALE.FACTOR (FDIFFERENCE V2 MIN]
          (DRAWLINE (IPLUS LEFT.Y.SCALE.OFFSET X1)
		    (IPLUS Y1 BOTTOM.X.SCALE.OFFSET)
		    (IPLUS LEFT.Y.SCALE.OFFSET X2)
		    (IPLUS Y2 BOTTOM.X.SCALE.OFFSET)
		    1
		    'PAINT USER.WINDOW])

(USER.ERASELINE
  [LAMBDA (POINT1 POINT2)                                    (* pkh: "25-May-84 15:15")
    (PROG (T1 V1 T2 V2 X1 Y1 Y2 X2 HEIGHT WIDTH)
          (SETQ T1 (fetch (SP.POINT TIME) of POINT1))
          (SETQ V1 (fetch (SP.POINT VALUE) of POINT1))
          (SETQ T2 (fetch (SP.POINT TIME) of POINT2))
          (SETQ V2 (fetch (SP.POINT VALUE) of POINT2))
          (SETQ HEIGHT (WINDOWPROP USER.WINDOW 'HEIGHT))
          (SETQ WIDTH (WINDOWPROP USER.WINDOW 'WIDTH))
          [SETQ X1 (FIXR (FTIMES WIDTH (FQUOTIENT (FDIFFERENCE T1 USER.TMIN)
						  (FDIFFERENCE USER.TMAX USER.TMIN]
          [SETQ Y1 (FIXR (FTIMES HEIGHT (FQUOTIENT (FDIFFERENCE V1 USER.VMIN)
						   (FDIFFERENCE USER.VMAX USER.VMIN]
          [SETQ X2 (FIXR (FTIMES WIDTH (FQUOTIENT (FDIFFERENCE T2 USER.TMIN)
						  (FDIFFERENCE USER.TMAX USER.TMIN]
          [SETQ Y2 (FIXR (FTIMES HEIGHT (FQUOTIENT (FDIFFERENCE V2 USER.VMIN)
						   (FDIFFERENCE USER.VMAX USER.VMIN]
          (DRAWLINE X1 Y1 X2 Y2 1 'ERASE USER.WINDOW])

(USER.DRAWPOINT
  [LAMBDA (POINT)                                            (* kbr: "16-May-84 14:09")
    (PROG NIL                                                (* TBW: Draw spot at point. *)
      ])

(USER.MIDDLEBUTTONFN
  [LAMBDA NIL                                                (* kbr: "16-May-84 14:09")
    (PROG (COMMAND)
          (SETQ COMMAND (MENU USER.COMMAND.MENU))
          (COND
	    (COMMAND (SETQ USER.COMMAND COMMAND)
		     (SELECTQ USER.COMMAND
			      (PROMPT&ADD (USER.PROMPT&ADD))
			      (PROMPT&DELETE (USER.PROMPT&DELETE))
			                                     (* Wait for point. *)])

(USER.LEFTBUTTONFN
  [LAMBDA NIL                                                (* kbr: "16-May-84 14:10")
    (SELECTQ USER.COMMAND
	     (POINT&ADD (USER.POINT&ADD))
	     (POINT&DELETE (USER.POINT&DELETE))
	     (POINT&MOVE (USER.PROMPT&MOVE))
	     NIL])

(USER.PROMPT&ADD
  [LAMBDA NIL                                                (* pkh: "25-May-84 15:17")
    (PROG (TIME VALUE POINT)
          (do (FRESHLINE PROMPTWINDOW)
	      (SETQ TIME (MKATOM (PROMPTFORWORD "TIME = " NIL NIL PROMPTWINDOW)))
	      (COND
		((OR (NOT (NUMBERP TIME))
		     (ILESSP TIME USER.TMIN)
		     (IGREATERP TIME USER.TMAX))
		  (RETURN)))
	      (FRESHLINE PROMPTWINDOW)
	      (SETQ VALUE (MKATOM (PROMPTFORWORD "VALUE = " NIL NIL PROMPTWINDOW)))
	      (COND
		((NOT (NUMBERP VALUE))
		  (RETURN)))
	      (SETQ POINT (create SP.POINT
				  TIME ← TIME
				  VALUE ← VALUE))
	      (USER.ADDPOINT POINT])

(USER.ADDPOINT
  [LAMBDA (POINT)                                            (* pkh: "28-May-84 15:47")
    (PROG (TIME VALUE TRAJ N OLDPOINT RIGHTPOINT LEFTPOINT)
          (SETQ TIME (fetch (SP.POINT TIME) of POINT))
          (SETQ VALUE (fetch (SP.POINT VALUE) of POINT))
          (SETQ TRAJ (WINDOWPROP USER.WINDOW 'TRAJ))
          (COND
	    [(IEQP TIME USER.TMIN)                           (* Special case of changing the first POINT)
	      (USER.ERASELINE (CAR (NTH TRAJ 1))
			      (CAR (NTH TRAJ 2)))
	      (replace (SP.POINT VALUE) of (CAR (NTH TRAJ 1)) with VALUE)
	      (USER.DRAWLINE (CAR (NTH TRAJ 1))
			     (CAR (NTH TRAJ 2]
	    [(IEQP TIME USER.TMAX)                           (* Special case of changing the last POINT)
	      (SETQ N (LENGTH TRAJ))
	      (USER.ERASELINE (CAR (NTH TRAJ (SUB1 N)))
			      (CAR (NTH TRAJ N)))
	      (replace (SP.POINT VALUE) of (CAR (NTH TRAJ N)) with VALUE)
	      (USER.DRAWLINE (CAR (NTH TRAJ (SUB1 N)))
			     (CAR (NTH TRAJ N]
	    [[SETQ OLDPOINT (for P in TRAJ thereis (IEQP TIME (fetch (SP.POINT TIME) of P]
                                                             (* Changing points for which there already are 
							     specifications)
	      (SETQ N (LENGTH (MEMB OLDPOINT TRAJ)))
	      (USER.ERASELINE (CAR (NTH TRAJ (SUB1 N)))
			      (CAR (NTH TRAJ N)))
	      [USER.ERASELINE (CAR (NTH TRAJ N))
			      (CAR (NTH TRAJ (ADD1 N]
	      (replace (SP.POINT VALUE) of OLDPOINT with VALUE)
	      (USER.DRAWLINE (CAR (NTH TRAJ (SUB1 N)))
			     (CAR (NTH TRAJ N)))
	      (USER.DRAWLINE (CAR (NTH TRAJ N))
			     (CAR (NTH TRAJ (ADD1 N]
	    (* Adding new points)
	    (T (for L in TRAJ as R in (CDR TRAJ) when (AND (ILESSP (fetch (SP.POINT TIME)
								      of L)
								   TIME)
							   (IGREATERP (fetch (SP.POINT TIME)
									 of R)
								      TIME))
		  do (SETQ LEFTPOINT L)
		     (SETQ RIGHTPOINT R)
		     (RETURN))
	       (USER.ERASELINE LEFTPOINT RIGHTPOINT)
	       (push (CDR (MEMB LEFTPOINT TRAJ))
		     POINT)
	       (USER.DRAWLINE LEFTPOINT POINT)
	       (USER.DRAWLINE POINT RIGHTPOINT])

(USER.SETPVECTOR
  [LAMBDA (PNAME VALUE PVECTOR)                              (* pkh: " 9-Jul-84 17:22")
    (SELECTQ PNAME
	     (GAIN (replace (PVECTOR GAIN) of PVECTOR with VALUE))
	     (AB (replace (PVECTOR AB) of PVECTOR with VALUE))
	     (BNP (replace (PVECTOR BNP) of PVECTOR with VALUE))
	     (FNP (replace (PVECTOR FNP) of PVECTOR with VALUE))
	     (ANP (replace (PVECTOR ANP) of PVECTOR with VALUE))
	     (BNZ (replace (PVECTOR BNZ) of PVECTOR with VALUE))
	     (FNZ (replace (PVECTOR FNZ) of PVECTOR with VALUE))
	     (F6 (replace (PVECTOR F6) of PVECTOR with VALUE))
	     (B6 (replace (PVECTOR B6) of PVECTOR with VALUE))
	     (A6 (replace (PVECTOR A6) of PVECTOR with VALUE))
	     (F5 (replace (PVECTOR F5) of PVECTOR with VALUE))
	     (B5 (replace (PVECTOR B5) of PVECTOR with VALUE))
	     (A5 (replace (PVECTOR A5) of PVECTOR with VALUE))
	     (F4 (replace (PVECTOR F4) of PVECTOR with VALUE))
	     (B4 (replace (PVECTOR B4) of PVECTOR with VALUE))
	     (A4 (replace (PVECTOR A4) of PVECTOR with VALUE))
	     (F3 (replace (PVECTOR F3) of PVECTOR with VALUE))
	     (B3 (replace (PVECTOR B3) of PVECTOR with VALUE))
	     (A3 (replace (PVECTOR A3) of PVECTOR with VALUE))
	     (F2 (replace (PVECTOR F2) of PVECTOR with VALUE))
	     (B2 (replace (PVECTOR B2) of PVECTOR with VALUE))
	     (A2 (replace (PVECTOR A2) of PVECTOR with VALUE))
	     (F1 (replace (PVECTOR F1) of PVECTOR with VALUE))
	     (AV (replace (PVECTOR AV) of PVECTOR with VALUE))
	     (ASV (replace (PVECTOR ASV) of PVECTOR with VALUE))
	     (FGP (replace (PVECTOR FGP) of PVECTOR with VALUE))
	     (BGP (replace (PVECTOR BGP) of PVECTOR with VALUE))
	     (FGZ (replace (PVECTOR FGZ) of PVECTOR with VALUE))
	     (BGZ (replace (PVECTOR BGZ) of PVECTOR with VALUE))
	     (BGS (replace (PVECTOR BGS) of PVECTOR with VALUE))
	     (SWITCH (replace (PVECTOR SWITCH) of PVECTOR with VALUE))
	     (AFRIC (replace (PVECTOR AFRIC) of PVECTOR with VALUE))
	     (AASPIR (replace (PVECTOR AASPIR) of PVECTOR with VALUE))
	     (NCF (replace (PVECTOR NCF) of PVECTOR with VALUE))
	     (F0 (replace (PVECTOR F0) of PVECTOR with VALUE))
	     (A1 (replace (PVECTOR A1) of PVECTOR with VALUE))
	     (B1 (replace (PVECTOR B1) of PVECTOR with VALUE))
	     (SHOULDNT])
)
(LOAD? '{PHYLUM}<LISPCORE>LIBRARY>ATTACHEDWINDOW.DCOM)

(RPAQQ DEFAULT.PVECTOR.BUFFER {PVECTOR}#10%,175000)

(RPAQ SPEECHBENCHICON (READBITMAP))
(25 25
"OOOOOOH@"
"H@@@@@H@"
"H@@@@@H@"
"H@@@@@H@"
"H@OOL@H@"
"H@H@B@H@"
"HAH@B@H@"
"HC@@B@H@"
"HC@GB@H@"
"HAOLJ@H@"
"HAL@B@H@"
"HACOB@H@"
"H@GOB@H@"
"HAKOJ@H@"
"HAKOJ@H@"
"H@OOJ@H@"
"H@@CJ@H@"
"H@@AB@H@"
"H@@AB@H@"
"H@@AB@H@"
"H@@AB@H@"
"H@@@B@H@"
"H@@@B@H@"
"H@@@@@H@"
"OOOOOOH@")
(PUTPROPS USER.FPKG COPYRIGHT ("Xerox Corporation" 1984))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (2182 19715 (USER.DURATION 2192 . 2312) (USER.CREATE.PVECTORS 2314 . 4325) (USER.INIT 
4327 . 5016) (USER.CREATE.TRAJS 5018 . 5546) (USER.INTERPOLATE 5548 . 5943) (USER.INTERPOLATE.PNAME 
5945 . 6973) (USER.CREATE.WINDOW 6975 . 7437) (USER.REPAINTFN 7439 . 8329) (USER.BUTTONEVENTFN 8331 . 
8590) (USER.CREATE.MENU 8592 . 9094) (USER.WHENSELECTEDFN 9096 . 9348) (USER.EDITTRAJ 9350 . 10244) (
USER.DRAWLINE 10246 . 12071) (USER.ERASELINE 12073 . 13130) (USER.DRAWPOINT 13132 . 13348) (
USER.MIDDLEBUTTONFN 13350 . 13781) (USER.LEFTBUTTONFN 13783 . 14049) (USER.PROMPT&ADD 14051 . 14708) (
USER.ADDPOINT 14710 . 16996) (USER.SETPVECTOR 16998 . 19713)))))
STOP