(FILECREATED "27-Jul-85 19:13:35" ("compiled on " {IVY}LISP>EDIN>DSL.;1) "19-Mar-85 14:34:17" tcompl%'d in "INTERLISP-D 19-Jun-85 ..." dated "19-Jun-85 10:24:28") (FILECREATED " 2-Jul-85 12:20:32" {DSK}HTHOMPSON>DSL>DSL.;27 98634 changes to: (FNS MakeAndShowSS RecordSegment NewShow RedisplayMarks SetupSignalFile PlayFileSeg FindAndShowSS GetSS RepaintSingleValuedAspect/File \RepaintSignalSliceFromArray ScrubSS) (VARS DSLCOMS DSLControlMenuItems SignalMenuItems) previous date: "25-Jun-85 20:25:10" {DSK}HTHOMPSON>DSL>DSL.;23) (FILESLOAD NOBOX) DSL D1 (F 0 DSLControlWindow) P  g(32Q BUSDMA.INIT 27Q BUS.RESET 16Q DTYPE 13Q TOTOPW 10Q MakeDSLControlW 3 WINDOWP) (21Q TIGER) () ChooseMarkSelectFn D1 (L (2 key 1 menu 0 item) F 2 $ss$) 1RHhY@IBgIiHXNIL (42Q MIDDLE 25Q SignalSegment 3 SignalSegment) () MenuChooseMark D1 (I 1 w I 0 $ss$) to `@1H 31Q SignalSegment) () ShowMark D1 (P 7 RESETSTATE P 6 MACROY P 4 OLDVALUE P 1 maxX P 0 lf I 11Q val I 10Q pos I 7 window I 6 mDelta I 5 oldy I 4 point I 3 h I 2 y I 1 x I 0 ss F 10Q RESETVARSLST)  hG 1A`BC HF G GDZdJ؅Gdg @ hG YABCFG ABCFkhG ABCFhG G G 1gLhhWcog g_McgM ODIhG dKK`A EAEG FH`H (363Q IMOD 357Q MINUS 344Q MOVETO 330Q MINUS 312Q DSPXPOSITION 277Q ERROR! 270Q APPLY 242Q ShowMarkA0001 206Q OUTPUT 201Q MOVETO 171Q FONTDESCENT 166Q DSPFONT 154Q DRAWTO 136Q MOVETO 122Q DSPXPOSITION 114Q SecPrint 110Q GETWINDOWUSERPROP 37Q MOVETO 27Q MINUS 22Q MINUS 5 DSPLINEFEED) (353Q MarkCycleLength 324Q LeftOff 261Q OUTPUT 246Q ERROR 237Q INTERNAL 214Q OUTPUT 105Q DisplayedAspect 75Q SignalSegment 65Q SignalSegment 56Q SignalSegment 14Q LeftOff) ( 234Q (ShowMarkA0001)) PrintSignalSegment D1 (I 0 ss) ``g@ (16Q SSFullName) (12Q {SS} 6 SSRereadChar 2 SSRereadable) () SSFullName D1 (I 0 ss) `@X@@ @ hg@%`oi @g @gh @(125Q PACK 122Q \NCONC2 101Q SSNewName 76Q GENSYM 66Q PRIN1 34Q SSFullName) (133Q SignalSegment 114Q anon 106Q SignalSegment 73Q SS 54Q SSRereadable 45Q SignalSegment 41Q / 27Q SignalSegment 17Q SignalSegment 13Q SignalSegment 3 SignalSegment) ( 62Q "assigning random name to unnamed signal segment") FindSSA0004 D1 (NAME ERRORSET F 0 expandFlg F 1 HASHFILERDTBL F 2 fullName F 3 sf) P`cRS h(17Q GETHASHFILE) (7 SSReadTable 3 SSExpandFlg) () FindSS D1 (P 4 MACROY P 3 MACROX P 1 sf I 2 dontCacheFlg I 1 expandFlg I 0 fullName F 5 RESETVARSLST F 6 HASHFILERDTBL) ib@` `!Hh@hI @`d@Ig dJ ` g`gVUc Uog KK[c LdUKc U UkL KA B@h` HXn(235Q PUTHASH 222Q SSFromFile 214Q ERROR! 203Q NLEFT 174Q TAILP 136Q FindSSA0004 76Q PUTHASH 62Q HASHFILEPROP 35Q LOOKUPHASHFILE) (232Q SSDir 144Q SSExpandFlg 133Q INTERNAL 110Q HASHFILERDTBL 104Q SSExpandFlg 101Q SSExpandFlg 73Q SSDir 57Q NAME 45Q SignalSegmentTYPE# 14Q SignalFiles 6 SSDir) ( 130Q (FindSSA0004)) PromptForSSFile D1 (P 2 nf I 1 w I 0 ss) `o@ HdIgHdIdg dgjdndhHdI  Jdhg(Ai oi i i okl J(201Q DSLPromptRead 166Q SSFile 162Q READ 155Q PRIN1 144Q TERPRI 117Q MENU 36Q SFNames 16Q CONCAT 13Q SSFullName) (132Q {NewFile} 64Q DEFAULTMENUHELDFN 55Q CLRPROMPT 33Q {NewFile} 2 MENUTYPE#) ( 173Q "New file name: " 151Q "New file name: " 7 "Choose file for ") SSFile D1 (P 3 hf P 2 f P 0 nfn I 1 newFlg I 0 file F 4 DWIMWAIT) @ %`INh@ @ @ Xd KJAC@i oi Tg g'@glld [@Jg JiIYKKd``o@ K(221Q HELP 150Q HASHFILEPROP 133Q CREATEHASHFILE 112Q ASKUSER 102Q PRIN1 71Q PRIN1 53Q OPENHASHFILE 45Q SPELLFILE 37Q OPENHASHFILE 32Q INFILEP 6 HASHFILEP) (207Q SignalFiles 203Q SignalFiles 175Q SignalFiles 145Q NAME 124Q EXPR 115Q Y 107Q N 13Q SignalFiles) ( 215Q "Can:t find/make signal file " 76Q " does not exist - create it? ") CleanupSSFiles D1 (P 3 olld P 2 new P 1 f I 0 files) )@`1HhYi I`[HXJ(24Q CLOSEHASHFILE) (31Q SignalFiles 5 SignalFiles) () SaveSSA0001 D1 (NAME ERRORSET F 0 fullName F 1 ss F 2 hf) iPQ R hh(15Q PUTHASHFILE 11Q SSFileForm) (3 SSRereadable) () SaveSS D1 (P 10Q p P 6 MACROY P 5 MACROX P 4 f P 2 fullName P 1 hf P 0 ss I 4 w I 3 saveSubs I 2 dontScrubFlg I 1 ssFile I 0 ss F 11Q RESETVARSLST) @d` !H ZAM`KYhYHD YIg`WcWog MNdW3McA@ !Hd2@A @Yh@A BH ZHJiIh(51Q ScrubSS 41Q \DeleteMark1 20Q \DeleteMark1 4 GrabMark) (24Q SignalSegment) () ScrubSS D1 (P 2 p P 1 f I 1 recFlg I 0 ss) @ `@ h` `H@h @hA4@(@ I @ hI HXdJi @h@g@gg(135Q ScrubSS 114Q PUTHASHFILE 107Q SSFullName 102Q GETHASHFILE 76Q SSFullName 23Q PUTHASH 14Q SSFullName 3 SSFullName) (176Q invalid 171Q invalid 166Q SignalSegment 160Q invalid 155Q SignalSegment 146Q SignalSegment 64Q SignalSegment 52Q SignalSegment 43Q SignalSegment 27Q SignalFiles 20Q SSDir 6 SSDir) () InsertMark D1 (L (1 mark 0 points)) S@!HDAYdI؅HZdJ؅HXHAHhNIL (77Q SignalSegment 67Q SignalSegment 60Q SignalSegment 41Q SignalSegment 31Q SignalSegment 22Q SignalSegment) () \MoveMark1A0001 D1 (NAME ERRORSET L (0 NIL) F 2 pos F 3 mark F 4 compr F 5 ss F 6 str F 7 w F 10Q RESETVARSLST F 11Q file F 12Q value F 13Q base F 14Q height F 15Q del F 16Q format F 17Q posFn F 20Q offset F 21Q getFn F 22Q reg F 23Q right F 24Q left F 25Q dontMove F 26Q RESETY F 27Q region) qghV VhgV hWcgd gi WcSHdH؅TkTcWRTlWWWW lW"cURWWShWWRTW W*o` hWcW.`` "`lHj HH RV }URWWShWWRTW hW c$c(W$kc&W(W&V HdIIHdIIcWRTlWURWWShWWRTWWW lW"c `ljjhV hV ESRTHdIH"HHIHIURWWShWWRTW WSHdH؅lWUSHdH؅TkTWWShWWhWWW lW" UUhhUS SUW c,i(1153Q \RedisplayMark 1143Q InsertMark 1107Q ShowMark 733Q ShowMark 601Q INSIDEP 576Q CURSORPOSITION 571Q DSPCLIPPINGREGION 547Q GETMOUSESTATE 543Q BLOCK 537Q ShowMark 431Q LASTMOUSEX 401Q DSPCLIPPINGREGION 372Q ShowMark 343Q EQP 340Q LASTMOUSEX 331Q BLOCK 321Q \FZEROP 271Q GETMOUSESTATE 264Q INSIDEP 240Q SETCURSOR 217Q ShowMark 65Q ALLOW.BUTTON.EVENTS 53Q SETTOPVAL 43Q GETTOPVAL 23Q DSPOPERATION 7 DSPOPERATION) (1135Q SignalSegment 1123Q SignalSegment 1114Q SignalSegment 1043Q SignalSegment 1033Q SignalSegment 1024Q SignalSegment 773Q SignalSegment 763Q SignalSegment 754Q SignalSegment 677Q SignalSegment 662Q SignalSegment 653Q SignalSegment 646Q SignalSegment 633Q SignalSegment 625Q SignalSegment 553Q LASTMOUSEBUTTONS 275Q LASTMOUSEBUTTONS 261Q LASTMOUSEY 256Q LASTMOUSEX 235Q SSCursor2 123Q SignalSegment 113Q SignalSegment 104Q SignalSegment 47Q \MarkOprInProgess 37Q \MarkOprInProgess 17Q INVERT 2 DSPOPERATION) ( 232Q (CURSOR T)) \MoveMark1 D1 (P 22Q RESETZ P 21Q RESETY P 20Q LISPXHIST P 17Q right P 16Q left P 15Q reg P 14Q value P 13Q pos P 12Q region P 11Q format P 10Q offset P 7 del P 6 file P 5 posFn P 4 getFn P 3 base P 2 height P 1 compr P 0 str I 3 dontMove I 2 w I 1 ss I 0 mark F 23Q LISPXHIST F 24Q RESETVARSLST) B Bg Bg Bg Bg Bg Bg jhB `ABg g ABg g B [W&!W(og hg_$ O$O"(177Q ERROR! 171Q RESETRESTORE 156Q \MoveMark1A0001 130Q \INSUREWINDOW 124Q AspectProperty 116Q GETWINDOWUSERPROP 106Q AspectProperty 100Q GETWINDOWUSERPROP 63Q DSPLINEFEED 55Q GETWINDOWUSERPROP 46Q GETWINDOWUSERPROP 37Q GETWINDOWUSERPROP 30Q GETWINDOWUSERPROP 21Q GETWINDOWUSERPROP 12Q GETWINDOWUSERPROP 3 DECODE/WINDOW/OR/DISPLAYSTREAM) (164Q ERROR 153Q INTERNAL 121Q SampleFormat 113Q DisplayedAspect 103Q SampleOffset 75Q DisplayedAspect 67Q MarkCycleLength 52Q SignalFile 43Q PositionFn 34Q GetFn 25Q SignalBase 16Q SignalHeight 7 Compression) ( 150Q (\MoveMark1A0001)) NewMark D1 (P 0 mark I 4 dontMove I 3 end? I 2 subSS I 1 w I 0 ss) 5B `d@ dAokl d bhChXd@AD H(61Q \MoveMark1 40Q SSNewName 32Q DSLPromptRead) (10Q SignalSegmentTYPE#) ( 24Q "Name for new SS: ") NewSS D1 (P 2 aspectName P 0 beginning I 1 w I 0 ss) D@A H@AHi `IhZ@ HJgHIY(46Q GetAspect 22Q NewMark 4 NewMark) (67Q SignalSegment 61Q Inherited 55Q SignalSegment 27Q SSAutoInheritAspects) () AddSS D1 (P 1 sub P 0 name I 1 w I 0 ss) LAokl Hk gH@ gHh i Y@AIhi @AIid o (111Q PROMPTPRINT 101Q NewMark 70Q NewMark 54Q FindSS 50Q PACK 35Q SSFullName 22Q NTHCHAR 12Q DSLPromptRead) (40Q / 25Q /) ( 106Q "SS by that name not found" 4 "Name of existing sub-segment: ") JumpTo D1 (P 1 compr P 0 mark I 1 w I 0 ss) X@A 1HFAg YAHZdJ؅IhA lջjKKjI A o (125Q PROMPTPRINT 115Q REDISPLAYW 111Q PositionSignalWindow 65Q DSPCLIPPINGREGION 21Q GETWINDOWUSERPROP 4 MenuChooseMark) (55Q SignalSegment 45Q SignalSegment 36Q SignalSegment 16Q Compression) ( 122Q "No such mark") ToggleMarks D1 (P 1 p I 1 w I 0 ss) sA HgH gHiAgg o A Agg o @HA Yd`dhi HX(152Q FindSS 130Q RedisplayMarks 105Q PROMPTPRINT 76Q WINDOWADDPROP 63Q REDISPLAYW 57Q PROMPTPRINT 50Q WINDOWDELPROP 3 \INSUREWINDOW) (141Q SignalSegmentTYPE# 111Q SignalSegment 73Q RedisplayMarks 70Q REPAINTFN 45Q RedisplayMarks 42Q REPAINTFN 26Q RedisplayMarks 14Q RedisplayMarks) ( 102Q "Marks now displayed" 54Q "Marks no longer displayed") \DeleteMark1 D1 (I 2 w I 1 ss I 0 mark) @A@A @AB (30Q \RedisplayMark 20Q DREMOVE) (13Q SignalSegment 6 SignalSegment) () \RedisplayMark D1 (P 2 truePos P 1 r P 0 compr I 2 w I 1 ss I 0 mark) JBg hB "@[dK؅HkHZIJ`I@BI (107Q REDISPLAYW 16Q \APPEND2 13Q DSPCLIPPINGREGION 6 GETWINDOWUSERPROP) (71Q LeftOff 53Q SignalSegment 43Q SignalSegment 34Q SignalSegment 3 Compression) () MoveMark D1 (P 3 other P 2 duration P 1 offset P 0 mark I 2 bothFlg I 1 w I 0 ss) A@ aHBHHH@A H@A B@h\-h[d@A HdEH^d-Nذ#]HMHMiLJHJ@@hh@K K@A (272Q \RedisplayMark 264Q InsertMark 110Q \DeleteMark1 54Q \MoveMark1 46Q \DeleteMark1 4 GrabMark) (256Q SignalSegment 244Q SignalSegment 235Q SignalSegment 226Q SignalSegment 212Q SignalSegment 146Q SignalSegment 137Q SignalSegment 123Q SignalSegment 67Q SignalSegment 35Q SignalSegment 25Q SignalSegment) () MakeFake D1 (P 5 j P 3 i P 1 i I 0 f) &@gg bldkIH@j IkYlkIH8lkKJ@l( Kk[lkKJ@m Kk[IkYldkIH@j IkYldkIH@j IkYlkML+lcjIH@Ioo IkYMk]lkMLNlcjIH<@Il oo Iloo Iloo IkYMk]@ (443Q CLOSEF 420Q WOUT8 413Q SinPoint 374Q SinPoint 355Q SinPoint 270Q WOUT8 265Q SinPoint 212Q WOUT8 163Q WOUT8 125Q WOUT8 75Q WOUT8 32Q WOUT8 11Q OPENFILE) (6 NEW 3 OUTPUT) ( 410Q 100.0 404Q 5.0 371Q 100.0 365Q 15.0 352Q 100.0 346Q 20.0 262Q 100.0 256Q 40.0) SinPoint D1 (I 2 p I 1 a I 0 i) A`@oBi j(20Q SIN) (3 Pi) ( 10Q 2.0) (PRETTYCOMPRINT DSLCOMS) (RPAQQ DSLCOMS ((* Needed because some of the compiled code actually calls IBOX) (DECLARE: FIRST ( FILES NOBOX)) (* * DSL Control functions) (FNS DSL ChooseMarkSelectFn MenuChooseMark MakeAndShowSS DSLControlWindowButtonFn MakeDSLControlW MakeSSForFile PrintSSName SSDir FindAndShowSS GetSS \FindSSDir UpdateDir SFNames CloseDir SSOneDir NoticeDir CreateDir SSDir1 DTYPE) (VARS DSLControlIcon DSLControlMenuItems (\SSAmplMenu) (\SSFormatMenu) (\SSSampleMenu) (\SSOffsetMenu) (DSLControlWindow) ( DSLControlMenu)) (* * signal window functions) (FNS CloseSignalFile CloseSignalWindow CompressionButtonFn NewCompression PositionSignalWindow NewShow MakePrompt LinkShow \ComputeZoomOffset ZoomWindow \MakeLinkedWindow UnlinkWindow ClearSignalWindow RepaintSingleValuedAspect RepaintSingleValuedAspect/File RedisplayMarks ReshapeSignalWindow \UpdateLinks \UpdateLinkedWindows \ChangeLinkedOffset UpdateSignalCompression UpdateSignalOrigin TrueLeftMargin ScrollSignalWindow SetupSignalFile UpdateScaleFactor RedisplayScale ReshapeScaleWindow CarefulSFP SecPrint ShowMark) (* * Signal Segment functions) (FNS PrintSignalSegment SSFullName FindSS PromptForSSFile SSFile CleanupSSFiles SaveSS SSRead SSFromFile SSFileForm SSNewName) (* * arrays as signal data) (VARS ArrayOffset) (FNS RepaintSingleValuedAspect/Array \RepaintSignalSliceFromArray) (* * record and playback) (VARS SSDMAChannel SSPCA/DInputChannel SSPCD/AOutputChannel \SSDrawPointTime \SSFetchPerHundredTime \SSWriteToCoreTime \SSWriteToDskTime) (INITVARS (\SSDataArray)) (CONSTANTS PCDACClockInverse) (FNS RecordSegment RecordToCoreFile RecordToDisplayOnly RecordToDskFile PlaySeg PlayFileSeg PlayArraySeg MaxSampleRate SkipSize PlaySubSS PLAY.IT) (* * Signal window menu) (VARS SignalMenuItems) (FNS AddAspect ChooseAspect ClipSeg ClipSubSeg DescribeAspect TrueSS InheritAspect SpawnShow AddProperty DSLPromptRead ButtonSignalWindow SetAspect CopyCoreFileToDsk) (* * Aspect manipulation) (VARS SSAutoInheritAspects) (FNS GetAspect AspectProperty UndisplayAspect \PutAspectProperty \GetAspectProperty) (* * Mark manipulation) (FNS NearMark InvertMark GrabMark ChooseMark DeleteMark ScrubSS InsertMark \MoveMark1 NewMark NewSS AddSS JumpTo ToggleMarks \DeleteMark1 \RedisplayMark MoveMark) (CURSORS SSCursor1 SSCursor2) (VARS (\MarkOprInProgress) ( NearMarkDelta 3) (MinSignalHeight 10) (DefaultInitializeFunction (QUOTE SetupSignalFile)) ( DefaultUndisplayFn (QUOTE CloseSignalFile)) Pi (CompressionMenu) CompressionMenuItems (SignalWindow) ( MarkCycleLength 2) LeftOff BitsPerSamp SampsPerByte SampsPerSec (ScaleTickWidth 5) ZeroSamp (ZoomRatio 10)) (VARS (SSExpandFlg) (SSFields (QUOTE (name trueName duration offset parent aspects points comment))) (SSVersionStamp (QUOTE (2 . 1))) (SSDir (LIST (HARRAY 50))) (SSReadTable (COPYREADTABLE HASHFILERDTBL)) (SSRereadChar (QUOTE #)) (SSRereadable) (SignalFiles) (SignalWindowMenu)) (GLOBALVARS SSRereadable SSRereadChar SSDir SignalFiles SignalWindow CompressionMenu CompressionMenuItems SSFields SSVersionStamp Pi SSExpandFlg SSReadTable SignalWindowMenu SignalMenuItems DefaultInitializeFunction DefaultUndisplayFn MarkCycleLength MinSignalHeight NearMarkDelta ScaleTickWidth LeftOff SSCursor1 SSCursor2 ZoomRatio SSAutoInheritAspects ArrayOffset \MarkOprInProgress) (RECORDS LinkedWindow PointRec SSFileForm SignalSegment) (ADDVARS (INSPECTMACROS (SignalSegment (name fullName comment points aspects parent offset duration) (LAMBDA (INSTANCE FIELD) (RECORDACCESS FIELD INSTANCE)) (LAMBDA (INSTANCE FIELD NEWVALUE) (RECORDACCESS FIELD INSTANCE NIL (QUOTE /REPLACE) NEWVALUE)))) ( BackgroundMenuCommands (DSL (DSL) "Start up the Digital Signal Lab"))) (P (SETQ BackgroundMenu NIL) ( DEFPRINT (QUOTE SignalSegment) (QUOTE PrintSignalSegment)) (SETSYNTAX (QUOTE #) (QUOTE (MACRO FIRST SSRead)) SSReadTable)) (FNS MakeFake SinPoint) (FILES (SYSLOAD) PCDAC MOVEDATA) (ADVISE SETFILEPTR-IN-CREATEHASHFILE TOTOPW-IN-TOPATTACHEDWINDOWS) (PROP ARGNAMES AspectProperty) (DECLARE: DOEVAL@LOAD DOEVAL@COMPILE DONTCOPY (P (CLISPDEC (QUOTE (MIXED))))) (DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY (FILES (SYSLOAD) PCDAC NOBOX MOVEDATA)) (DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDVARS (NLAMA) (NLAML) (LAMA AspectProperty))))) (RPAQ DSLControlIcon (READBITMAP)) (53 53 "HA@@@@@@@@@@@@@@" "HA@@@@@@@@@@@@@@" "JA@@@@@@@@@@@@@@" "JA@@@@@@@@@@@@@@" "JA@@@@@@@@@@@@@@" "JA@@@@@@@@@@@@@@" "JA@@@@@@@@@@@@@@" "KA@@@@@@@@@@@@@@" "KAH@@@@@@@@@@@@@" "KAH@@@@@@@@@@@@@" "KAH@@@@@@@@@@@@@" "KAH@@@@@@@@@@@@@" "KAH@D@@@@@@@@@@@" "KBH@D@@@@@@@@@@@" "KBH@D@@@@@@@@@@@" "KBJ@D@@@@@@@@@@@" "KBJ@D@@@@@@@@@@@" "KBJ@L@D@@B@@@@@@" "KBJHJ@F@@BA@@@@@" "KBJHJBF@@EA@@@@@" "KBJHJBJDHEAH@@@@" "KBJLJBIFLEBH@@@@" "KFJLJFIFJEBHHH@@" "KFKMBFIFJIBKDH@@" "KFKMBEIEAIBFE@@@" "KFKEBEAEAIBDC@@@" "ODKCBIAE@@L@B@@@" "ODKBBIAE@@L@@@@@" "MDKBBIAD@@L@@@@@" "MDGBAHAH@@L@@@@@" "LLE@AH@H@@H@@@@@" "LLE@AH@H@@@@@@@@" "LLD@A@@H@@@@@@@@" "LLD@A@@H@@@@@@@@" "DLD@A@@H@@@@@@@@" "DLD@A@@H@@@@@@@@" "DHD@@@@H@@@@@@@@" "DHD@@@@@@@@@@@@@" "DHD@@@@@@@@@@@@@" "DHD@@@@@@@@@@@@@" "DHDCOH@GNAH@@@@@" "DHDCON@OOAH@@@@@" "DHDC@OALCIH@@@@@" "DHDC@CAHAIH@@@@@" "DH@C@CIN@AH@@@@@" "DH@C@AHONAH@@@@@" "DH@C@AHCOAH@@@@@" "DH@C@AH@CIH@@@@@" "DH@C@CIHAIH@@@@@" "DH@C@CAHAIH@@@@@" "D@@C@OALCIH@@@@@" "D@@CON@OOAOO@@@@" "D@@COH@GNAOO@@@@") (RPAQQ DSLControlMenuItems ((Checkout (if (EQ (DTYPE) (QUOTE TIGER)) then (if (PC.CHECKOUT T) then ( printout T "D/A-A/D okay." T) else (printout T "D/A-A/D not there or powered down or bust." T)) else ( printout T "Not on a Dandytiger - can't use D/A-A/D" T)) "Check that the D/A-A/D equipment is OK") ( NoticeDir (NoticeDir Window) "notice an existing SS directory file" (SUBITEMS (CreateDir (CreateDir Window) "Create a new, empty SS directory file"))) (UpdateDir (UpdateDir) "Update all the directory files to accurately reflect their current contents") (CloseDir (CloseDir) "Close and remove from view a directory file") (DirList (SSDir) "list all the top level SSs we know about" (SUBITEMS (DirList%' (SSOneDir) "list all the top level SSs in a specified directory"))) (MakeSS (MakeAndShowSS Window) "Make up a new signal segment and display it") (ShowSS (FindAndShowSS Window) "Display a selected signal segment") (SaveSS* (SaveSS (GetSS Window) NIL T T Window) "Save a segment and all its sub-segments on its home file" (SUBITEMS (SaveSS (SaveSS (GetSS Window) NIL T NIL Window) "Save a segment alone (not its sub-segments) on its home file"))) (DeleteSS* ( ScrubSS (GetSS Window) T) "Delete a segment and all its sub-segments from its home file" (SUBITEMS ( Delete (ScrubSS (GetSS Window) NIL) "Delete a segment alone (not its sub-segments) from its home file" ))))) (RPAQQ \SSAmplMenu NIL) (RPAQQ \SSFormatMenu NIL) (RPAQQ \SSSampleMenu NIL) (RPAQQ \SSOffsetMenu NIL) (RPAQQ DSLControlWindow NIL) (RPAQQ DSLControlMenu NIL) (RPAQQ ArrayOffset 2048) (RPAQQ SSDMAChannel 1) (RPAQQ SSPCA/DInputChannel 0) (RPAQQ SSPCD/AOutputChannel 1) (RPAQQ \SSDrawPointTime 1.0) (RPAQQ \SSFetchPerHundredTime .55) (RPAQQ \SSWriteToCoreTime .07) (RPAQQ \SSWriteToDskTime .4) (RPAQ? \SSDataArray) (RPAQQ PCDACClockInverse 1.25E-6) (CONSTANTS PCDACClockInverse) (RPAQQ SignalMenuItems ((Display (SetAspect SignalSegment Window) "Gives a menu of available aspects and displays the selected one") (Describe (DescribeAspect ( WINDOWPROP Window (QUOTE DisplayedAspect)) (TrueSS SignalSegment Window) Window) "Show the attributes and values of the currently displayed aspect in an inspector window" (SUBITEMS ( Describe%' (DescribeAspect (ChooseAspect (TrueSS SignalSegment Window)) (TrueSS SignalSegment Window) Window) "Show the attributes and values of a selected aspect in an inspector window") (Inspect ( INSPECT (TrueSS SignalSegment Window)) "Bring up an inspector window on the signal segment"))) ( AddAspect (AddAspect (TrueSS SignalSegment Window) Window) "Add an (empty) new aspect" (SUBITEMS ( InheritAspect (InheritAspect (TrueSS SignalSegment Window) Window) "Inherit an aspect from parent") ( CopyAspect (InheritAspect (TrueSS SignalSegment Window) Window T) "Inherit an aspect from parent"))) ( SetProperty (AddProperty (TrueSS SignalSegment Window) Window) "Set a property of the current aspect") (Save* (SaveSS (TrueSS SignalSegment Window) NIL T T Window) "Save this segment and all its sub-segments on its home file" (SUBITEMS (Save (SaveSS (TrueSS SignalSegment Window) NIL T NIL Window) "Save this segment alone (not its sub-segments) on its home file") (Delete* (ScrubSS (TrueSS SignalSegment Window) T) "Delete this segment and all its sub-segments from its home file") (Delete ( ScrubSS (TrueSS SignalSegment Window) NIL) "Delete this segment alone (not its sub-segments) from its home file"))) (Spawn (SpawnShow SignalSegment Window) "Spawn a window for a sub-segment") (Link (LinkShow SignalSegment Window) "Link another window to this display" (SUBITEMS (Twin (\MakeLinkedWindow SignalSegment Window 0 (QUOTE beginning)) "Link another window to this display at offset 0") (Zoom (ZoomWindow SignalSegment Window ) "Link another window to this display zoomed in on its middle at 10/1"))) (Clip (ClipSeg (TrueSS SignalSegment Window)) "Make a new data file for the segment" (SUBITEMS (ClipSub (ClipSubSeg SignalSegment Window) "Make a new data file for a designated sub-segment"))) (Play (COND ((EQ (DTYPE) (QUOTE TIGER)) (PlaySeg (TrueSS SignalSegment Window) Window)) (T (printout T "Not on a Dandetiger - can't play" T))) "play the ss out" (SUBITEMS (PlaySub (COND ((EQ (DTYPE) (QUOTE TIGER)) (PlaySubSS SignalSegment Window)) (T (printout T "Not on a Dandetiger - can't play" T))) "Play a designated sub-segment") (Quiet (COND ((EQ (DTYPE) (QUOTE TIGER)) (PCDAC.STOP)) (T (printout T "Not on a Dandetiger - can't play" T))) "Shut up!"))) (Record (COND ((EQ (DTYPE) (QUOTE TIGER)) ( RecordSegment (TrueSS SignalSegment Window) Window)) (T (printout T "Not on a Dandetiger - can't record" T))) "record into the ss" (SUBITEMS (CopyToDsk (CopyCoreFileToDsk SignalSegment Window) "Copy the data file for this segment from {CORE} to {DSK}, and change the segment to point to that"))) (ToggleMarks (ToggleMarks SignalSegment Window) "Start/Stop showing marks") (JumpTo (JumpTo SignalSegment Window) "Jump to the beginning of a named sub-segment") (NewSS (NewSS (TrueSS SignalSegment Window) Window) "Add a new sub-segment" (SUBITEMS (AddSS (AddSS (TrueSS SignalSegment Window) Window) "Put an existing sub-segment back in"))) (ChangeMark (MoveMark SignalSegment Window) "Move a mark" (SUBITEMS (MoveSS (MoveMark SignalSegment Window T) "Move a whole sub-segment (grab and move either end)") (DeleteSS (DeleteMark SignalSegment Window) "Delete a sub-segment") (RemoveSS (DeleteMark SignalSegment Window T) "Remove a sub-segment from the display, but don't destroy it"))))) (RPAQQ SSAutoInheritAspects (Data)) (RPAQ SSCursor1 (CURSORCREATE (READBITMAP) 0 15)) (16 16 "@@@@" "@@@@" "@@@G" "O@@D" "OH@G" "AL@A" "@O@G" "@CO@" "@CO@" "@O@G" "AL@D" "OH@G" "O@@A" "@@@G" "@@@@" "@@@@") (RPAQ SSCursor2 (CURSORCREATE (READBITMAP) 0 15)) (16 16 "H@@@" "L@@@" "N@CH" "O@B@" "OHCH" "OL@H" "ONCH" "O@@@" "MH@@" "IHCH" "@LB@" "@LCH" "@F@H" "@FCH" "@C@@" "@C@@") (RPAQQ \MarkOprInProgress NIL) (RPAQQ NearMarkDelta 3) (RPAQQ MinSignalHeight 10) (RPAQQ DefaultInitializeFunction SetupSignalFile) (RPAQQ DefaultUndisplayFn CloseSignalFile) (RPAQQ Pi 3.141592) (RPAQQ CompressionMenu NIL) (RPAQQ CompressionMenuItems ((1) (Down NIL "Decrement current value") (Up NIL "Increment current value") (10) (Set NIL "Read in new value"))) (RPAQQ SignalWindow NIL) (RPAQQ MarkCycleLength 2) (RPAQQ LeftOff 24) (RPAQQ BitsPerSamp 1) (RPAQQ SampsPerByte 8) (RPAQQ SampsPerSec 7659.0) (RPAQQ ScaleTickWidth 5) (RPAQQ ZeroSamp 1) (RPAQQ ZoomRatio 10) (RPAQQ SSExpandFlg NIL) (RPAQQ SSFields (name trueName duration offset parent aspects points comment)) (RPAQQ SSVersionStamp (2 . 1)) (RPAQ SSDir (LIST (HARRAY 50))) (RPAQ SSReadTable (COPYREADTABLE HASHFILERDTBL)) (RPAQQ SSRereadChar #) (RPAQQ SSRereadable NIL) (RPAQQ SignalFiles NIL) (RPAQQ SignalWindowMenu NIL) (RECORD LinkedWindow (lWindow lOffset . lType)) (RECORD PointRec (pSS pWidth end?) (ACCESSFNS PointRec ((pPtr (LAMBDA (mark) (COND ((fetch end? of mark) (IPLUS (fetch offset of (fetch pSS of mark)) (fetch duration of (fetch pSS of mark)))) (T (fetch offset of (fetch pSS of mark))))) (LAMBDA (mark newValue) (COND ((fetch end? of mark) (replace duration of (fetch pSS of mark) with (IDIFFERENCE newValue (fetch offset of (fetch pSS of mark))))) (T (add (fetch duration of (fetch pSS of mark)) (IDIFFERENCE (fetch offset of (fetch pSS of mark)) newValue)) (replace offset of (fetch pSS of mark) with newValue)))))))) (RECORD SSFileForm (version subs . fields)) (DATATYPE SignalSegment (localName trueName comment points aspects parent home (offset FIXP) (duration FIXP)) (ACCESSFNS SignalSegment ((fullName SSFullName) (name (fetch localName of DATUM) SSNewName)))) (/DECLAREDATATYPE (QUOTE SignalSegment) (QUOTE (POINTER POINTER POINTER POINTER POINTER POINTER POINTER FIXP FIXP))) (ADDTOVAR INSPECTMACROS (SignalSegment (name fullName comment points aspects parent offset duration) ( LAMBDA (INSTANCE FIELD) (RECORDACCESS FIELD INSTANCE)) (LAMBDA (INSTANCE FIELD NEWVALUE) (RECORDACCESS FIELD INSTANCE NIL (QUOTE /REPLACE) NEWVALUE)))) (ADDTOVAR BackgroundMenuCommands (DSL (DSL) "Start up the Digital Signal Lab")) (SETQ BackgroundMenu NIL) (DEFPRINT (QUOTE SignalSegment) (QUOTE PrintSignalSegment)) (SETSYNTAX (QUOTE #) (QUOTE (MACRO FIRST SSRead)) SSReadTable) (FILESLOAD (SYSLOAD) PCDAC MOVEDATA) (PUTPROPS SETFILEPTR-IN-CREATEHASHFILE READVICE ((CREATEHASHFILE . SETFILEPTR) (BEFORE NIL (for i from (GETFILEPTR FILE) to ADR do (BOUT FILE 0))))) (PUTPROPS TOTOPW-IN-TOPATTACHEDWINDOWS READVICE ((TOPATTACHEDWINDOWS . TOTOPW) (BEFORE NIL (COND ((NOT (OPENWP WINDOW)) (RETURN)))))) (READVISE SETFILEPTR-IN-CREATEHASHFILE TOTOPW-IN-TOPATTACHEDWINDOWS) (PUTPROPS AspectProperty ARGNAMES (NIL (segment aspect propertyName {propertyValue}) . N)) (PUTPROPS DSL COPYRIGHT ("Xerox Corporation" 1984 1985)) NIL