Home » Archimedes archive » Acorn User » AU 1998-02 A.adf » PDScheme » ArtToSpr/WavePlayer/!WavePlay/!RunImage
ArtToSpr/WavePlayer/!WavePlay/!RunImage
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Acorn User » AU 1998-02 A.adf » PDScheme |
Filename: | ArtToSpr/WavePlayer/!WavePlay/!RunImage |
Read OK: | ✔ |
File size: | 7DDE bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM >WavePlayer:!RunImage 11REM LEN 1997, Matthew Wilson of Paradise 40ONERRORERROREXTERR,"Error whilst initialising - "+REPORT$+" @ "+STR$(ERL) 60SYS&400C0,200,&4B534154,"Wave Player"TO,task% 80quit%=FALSE:pollfast%=0:quit_finish%=FALSE 90script_file%=0:script_adding%=FALSE:script_np%=0 100vidc_tv=1000000 110vidc_vga=1000000*25175/24000 120vidc_ms=1500000 140ispc%=4*1024 150DIMw_warn%(2) 160DIMsicon%64,caret%64 170DIMq%256,temp1%8*1024,temp2%8*1024,icons%ispc% 180!caret%=0 200PROCinit_iconbar 210PROCinit_sprites 220PROCinit_windows 230PROCinit_slider 240PROCinit_volume 250PROCinit_code 260PROCinit_menus 270PROCinit_vidc 290SYS&10TOenv$ 300I%=INSTR(env$,"-file") 310IFI%=0THENI%=INSTR(env$,"-auto") 320IFI%>0THEN 330SYS&8,5,MID$(env$,I%+6)TOtype%,,load% 340IFtype%=2THEN 350q%!40=&1000 360ELSE 370q%!40=(load%AND&FFF00)>>8 380ENDIF 390PROCwimp_message_load(MID$(env$,I%+6)) 400ENDIF 420PROCwind_opencentre(wind_info%) 430SYS&400D4,,wind_info%,temp1%!4,temp1%!16 440SYS&42TOinfo_c% 450info_c%+=1000 470SYS&406C2 490*Set WavePlayer$Running yes 510ONERRORPROCerror 530REPEAT 540IFpollfast%>0THEN 550pollfast%-=1 560SYS&400C7,,q%TOR% 570ELSE 580IFcode_status%=0THENdelay%=5ELSEdelay%=1000 590SYS&42TOtime% 600IFtime%>info_c%AND info_c%>0THENinfo_c%=-1:PROCwind_close(wind_info%) 610SYS&400E1,,q%,time%+delay%TOR% 620ENDIF 630IFslider_np%>0THEN 640slider_np%-=1 650IFslider_np%=0THENPROCcode_action(-1) 660ENDIF 670IFsetbuff_np%>0THEN 680setbuff_np%-=1:pollfast%+=1 690IFsetbuff_np%=0THEN 700A%=code_buffsize%:CALLcode_setbuff% 710CALLcode_final% 720CALLcode_init% 730ENDIF 740ENDIF 750IFscript_np%>0THEN 760script_np%-=1:pollfast%+=1 770IFscript_np%=0THEN 780PROCmisc_close(script_file%) 790script_adding%=FALSE 800REPEATUNTILNOTINKEY(-1) 810*Filer_Run <Wimp$ScrapDir>.WPScript 820ENDIF 830ENDIF 850CASER%OF 860WHEN0 870IFcode_status%=0AND slider_np%=0ANDNOTslider_d%ANDNOTvol_d%THEN 880opx%=slider_px%DIV2 890pos%=USR(code_readpos%)+code_counterpos% 900slider_px%=pos%/slider_s 910npx%=slider_px%DIV2 920IFopx%<>npx%THENPROCicon_update(wind_cont%,12) 930IFslider_px%>slider_sx%THEN 940IFquit_finish%THENquit%=TRUEELSEPROCcode_action(3) 950ENDIF 960ENDIF 970IFvol_d%AND(time%AND 3)=0THENPROCvolume_dragset(TRUE) 990WHEN1:PROCwimp_redraw(!q%) 1000WHEN2:SYS&400C5,,q% 1010WHEN3 1020SYS&400C6,,q% 1030IF!q%=wind_buff%OR!q%=wind_form%THENPROCcode_action(99) 1040IF!q%=wind_vol%OR!q%=wind_cont%THEN 1050PROCicon_select(wind_cont%,14,0) 1060PROCwind_close(wind_vol%) 1070ENDIF 1080IF!q%=wind_vidc%THENPROCicon_restorecaret 1100WHEN4:IF!q%=wind_info%THENSYS&400C6,,q% 1110WHEN6 1120IFq%!8=2THEN 1130PROCwimp_makemenu(q%!12,q%!16) 1140ELSE 1150PROCwimp_click(q%!12,q%!16,q%!8) 1160ENDIF 1180WHEN7:PROCwimp_enddrag 1190WHEN8 1200IF!q%=wind_vidc%AND q%!4=7THEN 1210wind%=wind_vidc% 1220PROCwimp_clickvidc(-1,4) 1230ENDIF 1240WHEN9:PROCwimp_menureply 1250WHEN17,18:PROCwimp_message(q%!16) 1260ENDCASE 1270UNTILquit% 1290skip%=FALSE 1300ONERRORskip%=TRUE 1320IFNOTskip%THEN 1330PROCcode_action(5) 1340CALLcode_final% 1350SYS&1E,7,,code% 1360PROCmisc_close(script_file%) 1370IFquit_finish%=-2THEN 1380SYS&42682 1390ENDIF 1400F%=OPENOUT("WavePlayer:!Options") 1410PRINT#F%,vidc 1420CLOSE#F% 1430ENDIF 1450*Unset WavePlayer$Running 1470END 1530DEFPROCinit_iconbar 1540temp1%!0=-1 1550temp1%!4=0 1560temp1%!8=0 1570temp1%!12=34*2 1580temp1%!16=17*4 1590temp1%!20=(&17<<24)OR(3<<12)OR%11010 1600$(temp1%+24)="!waveplay"+CHR$(0) 1610SYS&400C2,,temp1%TOibar1% 1630temp1%!0=-1 1640temp1%!4=0 1650temp1%!8=0 1660temp1%!12=18*2 1670temp1%!16=17*4 1680temp1%!20=(&17<<24)OR(3<<12)OR%11010 1690$(temp1%+24)="volume!"+CHR$(0) 1700SYS&400C2,,temp1%TOibar2% 1710ENDPROC 1750DEFPROCinit_sprites 1760LOCALlen% 1770SYS&8,5,"WavePlayer:Sprites"TO,,,,len% 1780DIMsprs%len%+16 1790sprs%!0=len%+16 1800sprs%!8=16 1810SYS&2E,&10A,sprs%,"WavePlayer:Sprites" 1820ENDPROC 1860DEFPROCinit_loadwindow(name$,RETURNwinhan%,sprs%) 1870SYS&400DB,,temp1%,free%,end%,-1,name$TO,,free% 1880temp1%!64=sprs% 1890SYS&400C1,,temp1%TOwinhan% 1900ENDPROC 1940DEFPROCinit_windows 1950LOCALN% 1960SYS&400D9,,"WavePlayer:Templates" 1970free%=icons%:end%=free%+ispc% 1980PROCinit_loadwindow("controls",wind_cont%,sprs%) 1990PROCinit_loadwindow("opts_buffer",wind_buff%,sprs%) 2000PROCinit_loadwindow("opts_format",wind_form%,sprs%) 2010PROCinit_loadwindow("info",wind_info%,sprs%) 2020PROCinit_loadwindow("volume",wind_vol%,sprs%) 2030PROCinit_loadwindow("vidcspeed",wind_vidc%,sprs%) 2050PROCinit_loadwindow("warn_1",w_warn%(0),sprs%) 2060PROCinit_loadwindow("warn_2",w_warn%(1),sprs%) 2070PROCinit_loadwindow("warn_3",w_warn%(2),sprs%) 2090SYS&400DA 2100ENDPROC 2140DEFPROCinit_menus 2150LOCALlen% 2160SYS&8,5,"WavePlayer:Menus"TO,,,,len% 2170DIMmenus%len% 2180IFmenus%<=0THEN 2190ERROREXTERR,"Not enough memory to start up (menus)" 2200ENDIF 2210SYS&8,&FF,"WavePlayer:Menus",menus% 2220menu_ib%=menus%+0 2230menu_bits%=menus%+256 2240menu_type%=menus%+512 2250ENDPROC 2290DEFPROCinit_slider 2300sicon%!0=wind_cont%:sicon%!4=12 2310SYS&400CE,,sicon% 2320slider_x%=sicon%!8 2330slider_y%=sicon%!20-32 2340slider_sx%=sicon%!16-slider_x%-64 2350slider_px%=0 2360slider_d%=FALSE 2370slider_s=1 2380slider_np%=0 2400temp1%!0=wind_cont%:temp1%!4=7 2410SYS&400C4,,temp1% 2420ENDPROC 2460DEFPROCinit_volume 2470LOCALV% 2480temp1%!0=wind_vol%:temp1%!4=2 2490SYS&400CE,,temp1% 2500vol_x%=temp1%!8 2510vol_y%=temp1%!12 2520vol_size%=temp1%!20-vol_y%-48 2530vol_d%=FALSE 2550temp1%!0=wind_vol%:temp1%!4=1 2560SYS&400C4,,temp1% 2570ENDPROC 2610DEFPROCinit_code 2620LOCALlen% 2630SYS&8,5,"WavePlayer:Code"TO,,,,len% 2640SYS&1E,6,,,len%TO,,code% 2650SYS&8,&FF,"WavePlayer:Code",code% 2660code_init%=code%+0 2670code_final%=code%+4 2680code_open%=code%+8 2690code_close%=code%+12 2700code_restart%=code%+16 2710code_pause%=code%+20 2720code_unpause%=code%+24 2730code_setbuff%=code%+28 2740code_readpos%=code%+32 2760code_status%=-1 2770code_loaded%=FALSE 2780code_file%=0 2790code_buffsize%=63*1024 2800setbuff_np%=0 2810PROCcode_action(5) 2820A%=code_buffsize%:CALLcode_setbuff% 2830CALLcode_init% 2840ENDPROC 2880DEFPROCinit_vidc 2890LOCALF% 2900F%=OPENIN("WavePlayer:!Options") 2910IFF%=0THEN 2920F%=OPENOUT("WavePlayer:!Options") 2930vidc=1000000 2940PRINT#F%,vidc 2950ELSE 2960INPUT#F%,vidc 2970ENDIF 2980CLOSE#F% 2990CASEvidcOF 3000WHENvidc_tv:PROCicon_select(wind_vidc%,2,1) 3010WHENvidc_vga:PROCicon_select(wind_vidc%,3,1) 3020WHENvidc_ms:PROCicon_select(wind_vidc%,4,1) 3030OTHERWISE 3040PROCicon_select(wind_vidc%,5,1) 3050PROCicon_text(wind_vidc%,7,STR$(INT(.5+24000*vidc/1E6))) 3060ENDCASE 3070ENDPROC 3130DEFFNmisc_findfile(dir$,RETURNN%) 3140LOCALR% 3150SYS&2000C,10,dir$,temp1%,1,N%,256,"*"TO,,,R%,N% 3160IFR%<>1THEN="" 3170IFtemp1%!16<>1THEN=FNmisc_findfile(dir$,N%) 3180=FNmisc_str(temp1%+20) 3220DEFPROCmisc_poll(RETURNR%) 3230LOCALmore% 3240SYS&400C7,,temp2%TOR% 3250CASER%OF 3260WHEN1 3270SYS&400C8,,temp2%TOmore% 3280WHILEmore% 3290SYS&400CA,,temp2%TOmore% 3300ENDWHILE 3310WHEN17,18:IFtemp2%!16=0THENquit%=TRUE 3320ENDCASE 3330ENDPROC 3370DEFFNmisc_str(adr%) 3380LOCALstr$ 3390SYS256,adr%TOstr$ 3400=str$ 3440DEFFNmisc_leaf(fn$) 3450LOCALI% 3460WHILEINSTR(fn$,".")>0ORINSTR(fn$,":")>0 3470I%=INSTR(fn$,"."):IFI%>0THENfn$=MID$(fn$,I%+1) 3480I%=INSTR(fn$,":"):IFI%>0THENfn$=MID$(fn$,I%+1) 3490ENDWHILE 3500I%=INSTR(fn$," -") 3510IFI%>0THENfn$=LEFT$(fn$,I%) 3520=fn$ 3560DEFFNmisc_numstr(num) 3570LOCALstr$,I% 3580str$=STR$(num):I%=INSTR(str$,".") 3590IFI%THENMID$(str$,I%,1)="�" 3600=str$ 3640DEFPROCmisc_close(RETURNhandle%) 3650IFhandle%<>0THENSYS&2000D,0,handle% 3660handle%=0 3670ENDPROC 3710DEFFNmisc_realpath(path$) 3720LOCALF%,npath$ 3730?temp1%=0 3740SYS&29,&25,path$,temp1%,,,255TO,,npath$;F% 3750IFF%AND 1THENnpath$=path$ 3760=npath$ 3800DEFFNmisc_path(fn$) 3810LOCALI%,F$ 3820F$=fn$ 3830REPEAT 3840I%=INSTR(fn$,".") 3850IFI%>0THENfn$=MID$(fn$,I%+1) 3860UNTILI%=0 3870=LEFT$(F$,LEN(F$)-LEN(fn$)-1) 3930DEFPROCwind_opentop(winhan%) 3940!temp1%=winhan% 3950SYS&400CB,,temp1% 3960temp1%!28=-1 3970SYS&400C5,,temp1% 3980ENDPROC 4020DEFPROCwind_opencentre(winhan%) 4030LOCALx%,a%,y%,b%,sx%,sy% 4040SYS&35,MODE,4TO,,a% 4050SYS&35,MODE,5TO,,b% 4060SYS&35,MODE,11TO,,x% 4070SYS&35,MODE,12TO,,y% 4080x%=x%<<a%:y%=y%<<b% 4090!temp1%=winhan% 4100SYS&400CB,,temp1% 4110sx%=temp1%!12-temp1%!4 4120sy%=temp1%!16-temp1%!8 4130temp1%!4=(x%-sx%)/2:temp1%!8=(y%-sy%)/2 4140temp1%!12=(x%+sx%)/2:temp1%!16=(y%+sy%)/2 4150temp1%!28=-1 4160SYS&400C5,,temp1% 4170ENDPROC 4210DEFPROCwind_openhere(winhan%) 4220LOCALx%,y%,b%,sx%,sy% 4230MOUSEx%,y%,b% 4240!temp1%=winhan% 4250SYS&400CB,,temp1% 4260sx%=(temp1%!12-temp1%!4) 4270sy%=(temp1%!16-temp1%!8) 4280temp1%!4=x%-sx%/2 4290temp1%!8=y%-sy%*2/3 4300temp1%!12=x%+sx%/2 4310temp1%!16=y%+sy%/3 4320temp1%!28=-1 4330SYS&400C5,,temp1% 4340ENDPROC 4380DEFPROCwind_openover(old%,new%) 4390!temp1%=old% 4400SYS&400CB,,temp1% 4410SYS&400C6,,temp1% 4420!temp1%=new% 4430SYS&400C5,,temp1% 4440ENDPROC 4480DEFPROCwind_close(winhan%) 4490!temp1%=winhan% 4500SYS&400C6,,temp1% 4510ENDPROC 4570DEFPROCicon_select(win%,icon%,state%) 4580LOCALeor%,bic% 4590bic%=1 4600eor%=-(state%<>0) 4610IFstate%=2THENbic%=0:eor%=1 4620temp1%!0=win% 4630temp1%!4=icon% 4640temp1%!8=eor%<<21 4650temp1%!12=bic%<<21 4660SYS&400CD,,temp1% 4670ENDPROC 4710DEFFNicon_select(win%,icon%) 4720LOCALstate% 4730temp1%!0=win% 4740temp1%!4=icon% 4750SYS&400CE,,temp1% 4760=(temp1%!24AND(1<<21))>>21 4800DEFPROCicon_text(win%,icon%,text$) 4810temp1%!0=win% 4820temp1%!4=icon% 4830SYS&400CE,,temp1% 4840IF(temp1%!24AND(1<<8))=0THENENDPROC 4850$(temp1%!28)=LEFT$(text$,temp1%!36-1) 4870temp1%!0=win% 4880temp1%!4=icon% 4890temp1%!8=0 4900temp1%!12=0 4910SYS&400CD,,temp1% 4920ENDPROC 4960DEFFNicon_text(win%,icon%) 4970temp1%!0=win% 4980temp1%!4=icon% 4990SYS&400CE,,temp1% 5000=FNmisc_str(temp1%!28) 5040DEFFNicon_eval(win%,icon%) 5050LOCALstr$,num 5060temp1%!0=win% 5070temp1%!4=icon% 5080SYS&400CE,,temp1% 5090str$=FNmisc_str(temp1%!28) 5100LOCALERROR 5110ONERRORLOCALRESTOREERROR:=0 5120num=EVAL(str$) 5130RESTOREERROR 5140=num 5180DEFPROCicon_val(win%,icon%,val$,update%) 5190temp1%!0=win% 5200temp1%!4=icon% 5210SYS&400CE,,temp1% 5220IF(temp1%!24AND(1<<8))=0THENENDPROC 5230$(temp1%!32)=val$ 5240IFupdate%=0THENENDPROC 5260temp1%!0=win% 5270temp1%!4=icon% 5280temp1%!8=0 5290temp1%!12=0 5300SYS&400CD,,temp1% 5310ENDPROC 5350DEFPROCicon_update(win%,icon%) 5360temp1%!0=win% 5370temp1%!4=icon% 5380temp1%!8=0 5390temp1%!12=0 5400SYS&400CD,,temp1% 5410ENDPROC 5450DEFPROCicon_clearall(win%) 5460LOCALN% 5470SYS&400D6,win%,temp2%,1<<21,1<<21 5480N%=temp2% 5490WHILE!N%>-1 5500PROCicon_select(win%,!N%,0) 5510N%+=4 5520ENDWHILE 5530ENDPROC 5570DEFPROCicon_selectall(win%) 5580LOCALN% 5590SYS&400D6,win%,temp2%,1<<21,0<<21 5600N%=temp2% 5610WHILE!N%>-1 5620PROCicon_select(win%,!N%,1) 5630N%+=4 5640ENDWHILE 5650ENDPROC 5690DEFFNicon_nextsel(win%) 5700SYS&400D6,win%,temp2%,1<<21,1<<21 5710=!temp2% 5750DEFPROCicon_pos(win%,icon%,RETURNminx%,RETURNminy%,RETURNmaxx%,RETURNmaxy%,loc%) 5760LOCALx%,y% 5770IFloc%=0THEN 5780loc%=temp1%:loc%!0=win% 5790SYS&400CB,,loc% 5800ENDIF 5810x%=loc%!4-loc%!20:y%=loc%!16-loc%!24 5820temp1%!0=win% 5830temp1%!4=icon% 5840SYS&400CE,,temp1% 5850temp1%!8+=x%:temp1%!16+=x% 5860temp1%!12+=y%:temp1%!20+=y% 5870minx%=temp1%!8:miny%=temp1%!12 5880maxx%=temp1%!16:maxy%=temp1%!20 5890ENDPROC 5930DEFPROCicon_setcaret(win%,icon%,pos%) 5940IFpos%<0THEN 5950temp1%!0=win%:temp1%!4=icon% 5960SYS&400CE,,temp1% 5970pos%=LEN(FNmisc_str(temp1%!28)) 5980ENDIF 5990SYS&400D2,win%,icon%,-1,-1,-1,pos% 6000ENDPROC 6040DEFPROCicon_storecaret(win%,icon%,pos%) 6050IFpos%<0THEN 6060temp1%!0=win%:temp1%!4=icon% 6070SYS&400CE,,temp1% 6080pos%=LEN(FNmisc_str(temp1%!28)) 6090ENDIF 6100SYS&400D3,,caret% 6110SYS&400D2,win%,icon%,-1,-1,-1,pos% 6120ENDPROC 6160DEFPROCicon_restorecaret 6170IFcaret%!0<>0THENSYS&600D2,caret%!0,caret%!4,caret%!8,caret%!12,caret%!16,caret%!20 6180caret%!0=0 6190ENDPROC 6250DEFFNwarn_message(messcode%) 6260LOCALtype%,s1%,s2%,s3%,s1$,s2$,s3$,mess$,ret%,esc% 6270CASEmesscode%OF 6280WHEN0 6290mess$="Drag a sample file or a script file to the Wave Player icon to begin playing" 6300s1$="OK":s1%=ASC"O" 6310type%=1:ret%=1:esc%=1 6330WHEN1 6340mess$="There is a sample still playing - are you sure you want to quit, or do you want to wait until the sample has finished?" 6350s1$="Continue":s1%=ASC"C" 6360s2$="Wait":s2%=ASC"W" 6370s3$="Quit":s3%=ASC"Q" 6380type%=3:ret%=1:esc%=2 6400WHEN2 6410mess$="This storage media is very slow, and so playing the sample could halt the whole machine. Hold down Control and Escape if this happens" 6420s1$="Stop":s1%=ASC"S" 6430s2$="Play":s2%=ASC"P" 6440type%=2:ret%=1:esc%=1 6460WHEN3 6470mess$="StrongHelp has been located, but the help files have not been installed, or have been deleted. Run the help file installation program provided in the 'Help' directory." 6480s1$="OK":s1%=ASC"O" 6490type%=1:ret%=1:esc%=1 6510WHEN4 6520mess$="StrongHelp cannot be located, but the help files have been installed. Try opening the filer window containing the application '!StrongHlp'." 6530s1$="OK":s1%=ASC"O" 6540type%=1:ret%=1:esc%=1 6560WHEN5 6570mess$="The installation of the StrongHelp help files has been reported to have failed or aborted. Try re-running 'Install' provided in the 'Help' directory." 6580s1$="OK":s1%=ASC"O" 6590type%=1:ret%=1:esc%=1 6610WHEN6 6620mess$="The installation of the StrongHelp help files has previously failed. However, the help files seem to be present - do you want to try to start StrongHelp?" 6630s1$="Start":s1%=ASC"S" 6640s2$="Cancel":s2%=ASC"C" 6650type%=2:ret%=1:esc%=2 6670WHEN7 6680mess$="This storage media may be too slow, and so playing the sample could halt the whole machine, or make it very slow. Hold down Control and Escape if this happens" 6690s1$="Stop":s1%=ASC"S" 6700s2$="Play":s2%=ASC"P" 6710type%=2:ret%=1:esc%=1 6730WHEN8 6740mess$="To access the help, please look in the directory 'Help.TextHelp'" 6750s1$="OK":s1%=ASC"O" 6760type%=1:ret%=1:esc%=1 6780WHEN9 6790mess$="This sample does not appear to be "+type$+" file." 6800s1$="OK":s1%=ASC"O" 6810type%=1:ret%=1:esc%=1 6830WHEN254 6840mess$="External error - "+REPORT$+" @ "+STR$(ERL) 6850s1$="Continue":s1%=ASC"C":s2$="Quit":s2%=ASC"Q" 6860type%=2:ret%=1:esc%=2 6870WHEN255 6880mess$="Program error - "+REPORT$+" @ "+STR$(ERL) 6890s1$="Continue":s1%=ASC"C":s2$="Quit":s2%=ASC"Q" 6900type%=2:ret%=1:esc%=2 6910ENDCASE 6920CASEtype%OF 6930WHEN1:=FNwarn_1(mess$,s1$,s1%,ret%,esc%) 6940WHEN2:=FNwarn_2(mess$,s1$,s1%,s2$,s2%,ret%,esc%) 6950WHEN3:=FNwarn_3(mess$,s1$,s1%,s2$,s2%,s3$,s3%,ret%,esc%) 6960ENDCASE 6970=0 7010DEFFNwarn_1(str$,s1$,s1%,ret%,esc%) 7020LOCALW%,R%,S% 7030W%=w_warn%(0) 7040PROCicon_text(W%,0,str$) 7050PROCicon_text(W%,1,s1$) 7060FORS%=15TO1STEP-1 7070PROCmisc_poll(R%) 7080NEXT 7090PROCwind_opencentre(W%) 7100SYS&400D3,,temp1% 7110SYS&400D2,W%,-1,20,20,-1,-1 7120REPEAT 7130PROCmisc_poll(R%) 7140IF(R%=6AND temp2%!12=W%AND temp2%!8<>2)THENS%=temp2%!16 7150IF(R%=8AND(temp2%!24AND 223)=s1%)THENS%=1 7160IF(R%=8AND temp2%!24=&0D)THENS%=ret% 7170IF(R%=8AND temp2%!24=&1B)THENS%=esc% 7180IFS%<0THENS%=0 7190IFS%=0AND(R%=2ORR%=3ORR%=6ORR%=8)THENVDU7 7200UNTILS%ORquit% 7210IFquit%THEN=0 7220SYS&400D2,temp1%!0,temp1%!4,temp1%!8,temp1%!12,temp1%!16,temp1%!20 7230IFR%<>6THENPROCicon_select(W%,S%,1) 7240PROCwind_close(W%) 7250PROCicon_select(W%,S%,0) 7260=S% 7300DEFFNwarn_2(str$,s1$,s1%,s2$,s2%,ret%,esc%) 7310LOCALW%,R%,S% 7320W%=w_warn%(1) 7330PROCicon_text(W%,0,str$) 7340PROCicon_text(W%,1,s1$) 7350PROCicon_text(W%,2,s2$) 7360FORS%=15TO1STEP-1 7370PROCmisc_poll(R%) 7380NEXT 7390PROCwind_opencentre(W%) 7400SYS&400D3,,temp1% 7410SYS&400D2,W%,-1,20,20,-1,-1 7420REPEAT 7430PROCmisc_poll(R%) 7440IF(R%=6AND temp2%!12=W%AND temp2%!8<>2)THENS%=temp2%!16 7450IF(R%=8AND(temp2%!24AND 223)=s1%)THENS%=1 7460IF(R%=8AND(temp2%!24AND 223)=s2%)THENS%=2 7470IF(R%=8AND temp2%!24=&0D)THENS%=ret% 7480IF(R%=8AND temp2%!24=&1B)THENS%=esc% 7490IFS%<0THENS%=0 7500IFS%=0AND(R%=2ORR%=3ORR%=6ORR%=8)THENVDU7 7510IFINKEY(-99)ANDINKEY(-2)THENEND 7520UNTILS%ORquit% 7530IFquit%THEN=0 7540SYS&400D2,temp1%!0,temp1%!4,temp1%!8,temp1%!12,temp1%!16,temp1%!20 7550IFR%<>6THENPROCicon_select(W%,S%,1) 7560PROCwind_close(W%) 7570PROCicon_select(W%,S%,0) 7580=S% 7620DEFFNwarn_3(str$,s1$,s1%,s2$,s2%,s3$,s3%,ret%,esc%) 7630LOCALW%,R%,S% 7640W%=w_warn%(2) 7650PROCicon_text(W%,0,str$) 7660PROCicon_text(W%,1,s1$) 7670PROCicon_text(W%,2,s2$) 7680PROCicon_text(W%,3,s3$) 7690FORS%=15TO1STEP-1 7700PROCmisc_poll(R%) 7710NEXT 7720PROCwind_opencentre(W%) 7730SYS&400D3,,temp1% 7740SYS&400D2,W%,-1,20,20,-1,-1 7750REPEAT 7760PROCmisc_poll(R%) 7770IF(R%=6AND temp2%!12=W%AND temp2%!8<>2)THENS%=temp2%!16 7780IF(R%=8AND(temp2%!24AND 223)=s1%)THENS%=1 7790IF(R%=8AND(temp2%!24AND 223)=s2%)THENS%=2 7800IF(R%=8AND(temp2%!24AND 223)=s3%)THENS%=3 7810IF(R%=8AND temp2%!24=&0D)THENS%=ret% 7820IF(R%=8AND temp2%!24=&1B)THENS%=esc% 7830IFS%<0THENS%=0 7840IFS%=0AND(R%=2ORR%=3ORR%=6ORR%=8)THENVDU7 7850UNTILS%ORquit% 7860IFquit%THEN=0 7870SYS&400D2,temp1%!0,temp1%!4,temp1%!8,temp1%!12,temp1%!16,temp1%!20 7880IFR%<>6THENPROCicon_select(W%,S%,1) 7890PROCwind_close(W%) 7900PROCicon_select(W%,S%,0) 7910=S% 7970DEFPROCdrag_solid(win%,icon%,sprite$,sprs%) 7980LOCALx%,y% 8000temp1%!0=win% 8010SYS&400CB,,temp1% 8020x%=temp1%!4-temp1%!20:y%=temp1%!16-temp1%!24 8030temp1%!4=icon% 8040SYS&400CE,,temp1% 8050temp1%!8+=x%:temp1%!16+=x% 8060temp1%!12+=y%:temp1%!20+=y% 8070temp1%!24=0:temp1%!28=0 8080temp1%!32=&7FFFFFFF:temp1%!36=&7FFFFFFF 8090SYS&6,1,1 8100SYS&42400,&01,sprs%,sprite$,temp1%+8,temp1%+24 8110ENDPROC 8150DEFPROCdrag_slider(win%,parent%,cx%,cy%,csx%,csy%,sprite$,sprs%) 8160LOCALx%,y%,px1%,py1%,px2%,py2% 8180temp1%!0=win% 8190SYS&400CB,,temp1% 8200x%=temp1%!4-temp1%!20:y%=temp1%!16-temp1%!24 8220temp1%!4=parent% 8230SYS&400CE,,temp1% 8240px1%=temp1%!8+x%+4:py1%=temp1%!12+y%+4 8250px2%=temp1%!16+x%-4:py2%=temp1%!20+y%-4 8270temp1%!8=x%+cx%:temp1%!16=x%+cx%+csx% 8280temp1%!12=y%+cy%:temp1%!20=y%+cy%+csy% 8290temp1%!24=px1%:temp1%!28=py1% 8300temp1%!32=px2%:temp1%!36=py2% 8320SYS&6,1,1 8330SYS&42400,&20,sprs%,sprite$,temp1%+8,temp1%+24 8340ENDPROC 8400DEFPROCwimp_redraw(wind%) 8410LOCALmore%,draw% 8430SYS&400C8,,q%TOmore% 8450IFwind%=wind_cont%THEN 8460draw%=NOTslider_d% 8470temp1%!0=slider_px%+slider_x% 8480temp1%!4=slider_y% 8490temp1%!8=temp1%!0+64 8500temp1%!12=temp1%!4+32 8510temp1%!16=&102 8520temp1%!20=temp1%+64 8530temp1%!24=sprs% 8540temp1%!28=12 8550$(temp1%+64)="slider"+CHR$(0) 8560ENDIF 8570IFwind%=wind_vol%THEN 8580draw%=NOTvol_d% 8590temp1%!0=vol_x% 8600temp1%!4=vol_y%+vol_pos 8610temp1%!8=vol_x%+32 8620temp1%!12=vol_y%+vol_pos+48 8630temp1%!16=&102 8640temp1%!20=temp1%+64 8650temp1%!24=sprs% 8660temp1%!28=12 8670$(temp1%+64)="vslider"+CHR$(0) 8680ENDIF 8700WHILEmore% 8710IFdraw%THENSYS&400E2,,temp1% 8720SYS&400CA,,q%TOmore% 8730ENDWHILE 8740ENDPROC 8780DEFPROCwimp_click(wind%,icon%,butt%) 8790CASEwind%OF 8800WHEN-2:PROCwimp_clickibar(icon%) 8810WHENwind_cont%:PROCwimp_clickcont(icon%,butt%) 8820WHENwind_buff%:PROCwimp_clickbuff(icon%,butt%) 8830WHENwind_form%:PROCwimp_clickform(icon%,butt%) 8840WHENwind_info%:PROCwind_close(wind%) 8850WHENwind_vol%:PROCwimp_clickvol(icon%,butt%) 8860WHENwind_vidc%:PROCwimp_clickvidc(icon%,butt%) 8870ENDCASE 8880ENDPROC 8920DEFPROCwimp_clickibar(icon%) 8930LOCALx%,y% 8940CASEicon%OF 8950WHENibar1% 8960IFcode_loaded%THEN 8970PROCwind_opentop(wind_cont%) 8980ELSE 8990W%=FNwarn_message(0) 9000ENDIF 9010WHENibar2% 9020PROCvolume_getstate 9030!temp1%=wind_vol%:SYS&400CB,,temp1% 9040x%=q%!0-(temp1%!12-temp1%!4)/2 9050y%=96+(temp1%!16-temp1%!8) 9060SYS&400D4,,wind_vol%,x%,y% 9070ENDCASE 9080ENDPROC 9120DEFPROCwimp_clickcont(icon%,butt%) 9130LOCALx%,sx%,sy%,old% 9140PROCwind_opentop(wind%) 9150CASEicon%OF 9160WHEN0,3,4,5:PROCcode_action(icon%) 9180WHEN1 9190IFslider_px%>=8THENslider_px%-=8ELSEslider_px%=0 9200PROCicon_update(wind%,12) 9210slider_np%=10 9230WHEN2 9240IFslider_px%<=slider_sx%-8THEN 9250slider_px%+=8 9260ELSE 9270slider_px%=slider_sx% 9280ENDIF 9290PROCicon_update(wind%,12) 9300slider_np%=10 9320WHEN6,12 9330IFcode_status%=4THEN 9340old%=slider_px% 9350PROCcode_action(3) 9360slider_px%=old% 9370ENDIF 9380temp1%!0=wind% 9390SYS&400CB,,temp1% 9400x%=q%!0-temp1%!4-slider_px%-slider_x% 9410IFx%<0ORx%>=64THEN 9420slider_px%+=x%-32 9430IFslider_px%<0THENslider_px%=0 9440IFslider_px%>slider_sx%THENslider_px%=slider_sx% 9450ENDIF 9460PROCicon_update(wind%,12) 9470PROCdrag_slider(wind%,6,slider_x%+slider_px%,slider_y%,64,32,"pslider",sprs%) 9480slider_d%=TRUE 9490slider_dx%=q%!0 9510WHEN14 9520IFFNicon_select(wind%,14)THEN 9530PROCwind_close(wind_vol%) 9540PROCicon_select(wind%,14,0) 9550ELSE 9560!temp1%=wind_vol%:SYS&400CB,,temp1% 9570!temp2%=wind%:SYS&400CB,,temp2% 9580sx%=temp1%!12-temp1%!4:sy%=temp1%!16-temp1%!8 9590temp1%!4=temp2%!12+2:temp1%!8=temp2%!16-sy% 9600temp1%!12=temp1%!4+sx%:temp1%!16=temp2%!16 9610temp1%!28=-1 9620SYS&400C5,,temp1% 9630PROCicon_select(wind%,14,1) 9640ENDIF 9650ENDCASE 9660ENDPROC 9700DEFPROCwimp_clickbuff(icon%,butt%) 9710LOCAL@%,step%,time%,himem%,nt%,speed,x%,y%,z% 9720CASEicon%OF 9730WHEN6 9740step%=-1+7*INKEY(-1) 9750code_buffsize%=1024*(step%+code_buffsize%DIV1024) 9760IFcode_buffsize%<8*1024THENcode_buffsize%=8*1024 9770@%="+f10.3" 9780PROCicon_text(wind_buff%,5,STR$(code_buffsize%/1024)+" Kb") 9790setbuff_np%=2 9810WHEN7 9820step%=1-7*INKEY(-1) 9830code_buffsize%=1024*(step%+code_buffsize%DIV1024) 9840@%="+f10.3" 9850PROCicon_text(wind_buff%,5,STR$(code_buffsize%/1024)+" Kb") 9860setbuff_np%=2 9880WHEN8 9890code_buffsize%=vidc/D% 9900IFC%AND%1000THENcode_buffsize%+=code_buffsize% 9910IFC%AND%0001THENcode_buffsize%+=code_buffsize% 9920@%="+f10.3" 9930PROCicon_text(wind_buff%,5,STR$(code_buffsize%/1024)+" Kb") 9940setbuff_np%=2 9960WHEN9 9970code_buffsize%=2*vidc/D% 9980IFC%AND%1000THENcode_buffsize%+=code_buffsize% 9990IFC%AND%0001THENcode_buffsize%+=code_buffsize% 10000@%="+f10.3" 10010PROCicon_text(wind_buff%,5,STR$(code_buffsize%/1024)+" Kb") 10020setbuff_np%=2 10040WHEN10,11 10050IFicon%=10THENtime%=10ELSEtime%=50 10060himem%=HIMEM 10070END=himem%+130*1024 10080TIME=0 10090SYS&C,3,code_file%,himem%,128*1024,0TO,,,nt% 10100IFTIME=0THENTIME=1 10110speed=TIME/(128*1024-nt%) 10120END=himem% 10130code_buffsize%=256*((time%/speed)DIV256) 10140@%="+f10.3" 10150PROCicon_text(wind_buff%,5,STR$(code_buffsize%/1024)+" Kb") 10160setbuff_np%=2 10180WHEN16:PROCwind_openover(wind_buff%,wind_form%) 10190WHEN17 10200PROCwind_close(wind_form%) 10210PROCwind_close(wind_buff%) 10220PROCcode_action(99) 10230WHEN18:PROCcode_beginplay(TRUE) 10240WHEN19:PROCcode_beginplay(FALSE) 10260WHEN20 10270PROCicon_pos(wind%,20,z%,z%,x%,y%,0) 10280SYS&400D4,,menu_type%,x%,y% 10290menu_c%=menu_type% 10310ENDCASE 10320ENDPROC 10360DEFPROCwimp_clickform(icon%,butt%) 10370LOCALx%,y%,z%,step% 10380CASEicon%OF 10390WHEN6 10400PROCicon_pos(wind%,6,z%,z%,x%,y%,0) 10410SYS&400D4,,menu_bits%,x%,y% 10420menu_c%=menu_bits% 10440WHEN8,9 10450step%=1-7*INKEY(-1) 10460D%-=(icon%*2-17)*step% 10470IFD%<10THEND%=10 10480IFD%>200THEND%=200 10490@%="+g10.9" 10500PROCicon_text(wind%,7,STR$(vidcDIVD%)+" Hz") 10520WHEN10,11 10530C%=(C%AND%1011)OR((icon%-10)<<2) 10540PROCicon_select(wind%,10,(icon%=10)AND 1) 10550PROCicon_select(wind%,11,(icon%=11)AND 1) 10570WHEN12,13 10580C%=(C%AND%1101)OR((icon%-12)<<1) 10590PROCicon_select(wind%,12,(icon%=12)AND 1) 10600PROCicon_select(wind%,13,(icon%=13)AND 1) 10620WHEN14,15 10630C%=(C%AND%1110)OR((icon%-14)<<0) 10640PROCicon_select(wind%,14,(icon%=14)AND 1) 10650PROCicon_select(wind%,15,(icon%=15)AND 1) 10670WHEN16:PROCwind_openover(wind_form%,wind_buff%) 10680WHEN17 10690PROCwind_close(wind_form%) 10700PROCwind_close(wind_buff%) 10710PROCcode_action(99) 10720WHEN18:PROCcode_beginplay(TRUE) 10730WHEN19:PROCcode_beginplay(FALSE) 10750WHEN20 10760PROCicon_pos(wind%,20,z%,z%,x%,y%,0) 10770SYS&400D4,,menu_type%,x%,y% 10780menu_c%=menu_type% 10800ENDCASE 10810ENDPROC 10850DEFPROCwimp_clickvol(icon%,but%) 10860CASEicon%OF 10870WHEN9 10880IFFNicon_select(wind%,9)THEN 10890PROCvolume_set 10900ELSE 10910SYS&40180,1 10920ENDIF 10940WHEN10:SYS&40143,FNicon_select(wind%,10)+1 10950ENDCASE 10970IFicon%<>2THENENDPROC 10990LOCALy% 11000temp1%!0=wind% 11010SYS&400CB,,temp1% 11020y%=q%!4-temp1%!16-vol_y%-vol_pos 11030IFy%<0ORy%>=48THEN 11040vol_pos+=y%-24 11050IFvol_pos<0THENvol_pos=0 11060IFvol_pos>vol_size%THENvol_pos=vol_size% 11070ENDIF 11080PROCicon_update(wind%,2) 11090PROCdrag_slider(wind%,0,vol_x%,vol_y%+vol_pos,32,48,"pvslider",sprs%) 11100vol_d%=TRUE 11110vol_dy%=q%!4 11120ENDPROC 11160DEFPROCwimp_clickvidc(icon%,butt%) 11170CASEicon%OF 11180WHEN2:vidc=vidc_tv:PROCicon_restorecaret 11190WHEN3:vidc=vidc_vga:PROCicon_restorecaret 11200WHEN4:vidc=vidc_ms:PROCicon_restorecaret 11210WHEN5 11220vidc=FNicon_eval(wind%,7)/0.024 11230PROCicon_storecaret(wind%,7,-1) 11240WHEN-1 11250vidc=FNicon_eval(wind%,7)/0.024 11260PROCicon_restorecaret 11270icon%=5 11280ENDCASE 11290PROCicon_clearall(wind%) 11300PROCicon_select(wind%,icon%,1) 11310ENDPROC 11350DEFPROCwimp_makemenu(wind%,icon%) 11360CASEwind%OF 11370WHEN-2 11380SYS&400D4,,menu_ib%,q%!0-64,274 11390menu_c%=menu_ib% 11400WHENwind_cont% 11410WHENwind_buff% 11420WHENwind_form% 11430ENDCASE 11440ENDPROC 11480DEFPROCwimp_enddrag 11490LOCALV% 11500IFslider_d%THEN 11510slider_d%=FALSE 11520SYS&400CF,,temp1% 11530slider_px%+=temp1%!0-slider_dx% 11540PROCicon_update(wind_cont%,12) 11550slider_np%=2 11560ENDIF 11580IFvol_d%THEN 11590vol_d%=FALSE 11600PROCvolume_dragset(FALSE) 11610ENDIF 11620ENDPROC 11660DEFPROCwimp_menureply 11670CASEmenu_c%OF 11680WHENmenu_ib%:PROCwimp_menureply_ib 11690WHENmenu_bits%:PROCwimp_menureply_bits 11700WHENmenu_type%:PROCwimp_menureply_type 11710ENDCASE 11720ENDPROC 11760DEFPROCwimp_menureply_ib 11770CASE!q%OF 11780WHEN0:PROCwind_opencentre(wind_info%) 11790WHEN1:PROChelp 11800WHEN2:PROCwind_opencentre(wind_vidc%) 11810WHEN3:quit%=FNwimp_prequit 11820ENDCASE 11830ENDPROC 11870DEFPROCwimp_menureply_bits 11880IF!q%=1THEN 11890C%=C%OR%1000 11900PROCicon_text(wind_form%,5,"16 bits") 11910ELSE 11920C%=C%AND%0111 11930PROCicon_text(wind_form%,5,"8 bits") 11940ENDIF 11950ENDPROC 11990DEFPROCwimp_menureply_type 12000LOCALtype$ 12010CASE!q%OF 12020WHEN0:W%=FNcode_type_D3C:type$="an Armadeus" 12030WHEN1:W%=FNcode_type_ED0:type$="a DS Edit" 12040WHEN2:W%=FNcode_type_CB5:type$="a Desktop Tracker or Tracker" 12050WHEN3:W%=FNcode_type_FB1:type$="an MS WAV" 12060WHEN4:W%=FNcode_type_38D:type$="a SuperSonic" 12070ENDCASE 12080IFW%=TRUETHENPROCcode_fillinfoELSEW%=FNwarn_message(9) 12090ENDPROC 12130DEFPROCwimp_message(mc%) 12140LOCALshutdown% 12150CASEmc%OF 12160WHEN0:quit%=TRUE 12170WHEN3:PROCwimp_message_load(FNmisc_str(q%+44)) 12180WHEN5 12190IFq%!40=&FB1ORq%!40=&D3CORq%!40=&CB5ORq%!40=&38DTHEN 12200q%!12=q%!8 12210SYS&400E7,17,q%,q%!4 12220PROCcode_load(FNmisc_str(q%+44)) 12230ENDIF 12240IFq%!40=&0F0THEN 12250q%!12=q%!8 12260SYS&400E7,17,q%,q%!4 12270PROCwimp_message_load(FNmisc_str(q%+44)) 12280ENDIF 12300WHEN8 12310shutdown%=q%!20 12320q%!12=q%!8 12330SYS&400E7,17,q%,q%!4 12340IFFNwimp_prequitTHEN 12350quit%=TRUE 12360IFshutdown%=0THENSYS&42682 12370ENDIF 12380IFquit_finish%AND shutdown%=0THENquit_finish%=-2 12390ENDCASE 12400ENDPROC 12440DEFPROCwimp_message_load(fn$) 12450LOCALt$,N% 12460CASEq%!40OF 12470WHEN&0F0 12480PROCmisc_close(script_file%) 12490script_file%=OPENIN(fn$) 12500script_fn$=fn$ 12510IFEXT#script_file%>0THEN 12520PROCcode_load(GET$#script_file%) 12530ELSE 12540PROCmisc_close(script_file%) 12550ENDIF 12570WHEN&1000 12580PROCmisc_close(script_file%) 12590SYS&406C3,1 12600script_fn$="<Wimp$ScrapDir>.WPScript" 12610script_file%=OPENOUT(script_fn$) 12620N%=0 12630REPEAT 12640t$=FNmisc_findfile(fn$,N%) 12650IFt$<>""THENBPUT#script_file%,fn$+"."+t$ 12660UNTILt$="" 12670PROCmisc_close(script_file%) 12680q%!40=&0F0 12690PROCwimp_message_load(script_fn$) 12700SYS&406C2 12720OTHERWISE 12730IFscript_adding%ORINKEY(-1)THEN 12740IFscript_adding%THEN 12750BPUT#script_file%,fn$ 12760script_np%=2:pollfast%=1 12770ELSE 12780PROCmisc_close(script_file%) 12790script_fn$="<Wimp$ScrapDir>.WPScript" 12800script_file%=OPENOUT(script_fn$) 12810SYS&8,&12,script_fn$,&0F0 12820BPUT#script_file%,fn$ 12830script_adding%=TRUE 12840script_np%=2:pollfast%=1 12850ENDIF 12860ELSE 12870PROCmisc_close(script_file%) 12880PROCcode_load(fn$) 12890ENDIF 12900ENDCASE 12910ENDPROC 12950DEFFNwimp_prequit 12960IFcode_loaded%AND code_status%=0THEN 12970W%=FNwarn_message(1) 12980IFW%=2THENquit_finish%=TRUE 12990=(W%=3) 13000ELSE 13010=TRUE 13020ENDIF 13080DEFPROCcode_action(act%) 13090LOCALos%,ptr% 13100IFact%=99THEN 13110act%=5 13120ELSE 13130IFNOTcode_loaded%THENact%=5 13140IFcode_status%=act%THENENDPROC 13150IFcode_status%=3AND act%=4THENENDPROC 13160ENDIF 13180os%=code_status% 13190IFact%>=0THEN 13200PROCicon_select(wind_cont%,code_status%,0) 13210PROCicon_select(wind_cont%,act%,1) 13220code_status%=act% 13230ENDIF 13250CASEact%OF 13260WHEN0 13270IFos%=4THENCALLcode_unpause%ELSECALLcode_restart% 13290WHEN3 13300CALLcode_pause% 13310PTR#code_file%=code_header% 13320code_counterpos%=0 13330slider_px%=0 13340PROCicon_update(wind_cont%,12) 13350IFscript_file%>0AND paused%=0THEN 13370IFEOF#script_file%THEN 13380PROCmisc_close(script_file%) 13390SYS&20008,6,"<Wimp$ScrapDir>.WPScript" 13400ELSE 13410PROCcode_load(GET$#script_file%) 13420ENDIF 13430ENDIF 13450WHEN4:CALLcode_pause% 13470WHEN5 13480CALLcode_close% 13490PROCmisc_close(code_file%):code_file%=0 13500code_loaded%=FALSE 13510IFscript_file%=0ORR%=6THEN 13520PROCwind_close(wind_cont%) 13530PROCwind_close(wind_form%) 13540PROCwind_close(wind_buff%) 13550ENDIF 13570WHEN-1 13580ptr%=4*(slider_s*slider_px%DIV4) 13590IF(code_header%+ptr%)>EXT#code_file%THEN 13600ptr%=EXT#code_file%-code_header%-4 13610ENDIF 13620IFptr%<code_header%THENptr%=code_header% 13630PTR#code_file%=code_header%+ptr% 13640code_counterpos%=ptr% 13650IFos%=0THENCALLcode_restart% 13660ENDCASE 13670ENDPROC 13710DEFPROCcode_load(fn$) 13720LOCALtype%,play%,unk%,@%,t$,obj%,I%,pause% 13740SYS&406C0 13750script_adding%=FALSE 13760PROCcode_action(5) 13780IFLEFT$(fn$,1)="."AND script_file%<>0THENfn$=FNmisc_path(script_fn$)+fn$ 13800I%=INSTR(fn$,"-buffersize=") 13810IFI%>0THEN 13820t$=MID$(fn$,I%+12) 13830I%=INSTR(t$," -") 13840IFI%>0THENt$=LEFT$(t$,I%) 13850code_buffsize%=1024*INT(EVAL(t$)) 13860A%=code_buffsize%:CALLcode_setbuff% 13870CALLcode_final% 13880CALLcode_init% 13890ENDIF 13910I%=INSTR(fn$,"-pause") 13920IFI%>0THENpause%=TRUEELSEpause%=INKEY(-3) 13940I%=INSTR(fn$,"-volume=") 13950IFI%>0THEN 13960t$=MID$(fn$,I%+8) 13970I%=INSTR(t$," -") 13980IFI%>0THENt$=LEFT$(t$,I%) 13990vol_pos=EVAL(t$)*2.56 14000PROCvolume_set 14010ENDIF 14030SYS&8,5,fn$TOobj%,,type% 14040IFobj%<>1THENSYS&406C2:ENDPROC 14060type%=type%>>8 14070IF(type%AND&FFF000)=&FFF000THEN 14080type%=type%AND&FFF 14090ELSE 14100type%=0 14110ENDIF 14130code_file%=OPENIN(fn$) 14140IFcode_file%=0THENSYS&406C2:ENDPROC 14160unk%=FALSE:play%=TRUE 14170LOCALERROR 14180ONERRORLOCALRESTOREERROR:unk%=TRUE 14190IFNOTunk%THEN 14200code_name$=FNmisc_leaf(fn$) 14210code_loaded%=EVAL("FNcode_type_"+RIGHT$("00"+STR$~(type%),3)) 14220IFcode_loaded%=FALSETHEN;; 14230RESTOREERROR 14240play%=(NOTINKEY(-2))AND play% 14250ELSE 14260play%=FALSE 14270code_type$="unknown" 14280B%=EXT#code_file% 14290C%=%0000 14300D%=48*vidc/1000000 14310code_header%=0 14320ENDIF 14340IFplay%THEN 14350PROCcode_beginplay(pause%) 14360ELSE 14370PROCcode_fillinfo 14390PROCwind_close(wind_cont%) 14400PROCwind_opencentre(wind_form%) 14410code_loaded%=FALSE 14420slider_px%=0 14430ENDIF 14440SYS&406C1 14450ENDPROC 14490DEFPROCcode_fillinfo 14500LOCAL@% 14510PROCicon_text(wind_form%,2,code_type$) 14520IFC%AND%1000THENt$="16 bits"ELSEt$="8 bits" 14530PROCicon_text(wind_form%,5,t$) 14540@%="+g10.9" 14550PROCicon_text(wind_form%,7,STR$(vidcDIVD%)+" Hz") 14560PROCicon_select(wind_form%,10,((C%>>2)AND 1)EOR 1) 14570PROCicon_select(wind_form%,11,((C%>>2)AND 1)) 14580PROCicon_select(wind_form%,12,((C%>>1)AND 1)EOR 1) 14590PROCicon_select(wind_form%,13,((C%>>1)AND 1)) 14600PROCicon_select(wind_form%,14,(C%AND 1)EOR 1) 14610PROCicon_select(wind_form%,15,(C%AND 1)) 14630PROCicon_text(wind_buff%,2,code_type$) 14640@%="+f10.3" 14650PROCicon_text(wind_buff%,5,STR$(code_buffsize%/1024)+" Kb") 14660ENDPROC 14700DEFFNcode_type_FB1 14710LOCALchannels%,bits%,freq%,nt% 14730SYS&C,3,code_file%,temp1%,64,0 14740IFtemp1%!0<>&46464952ORtemp1%!8<>&45564157THEN=FALSE 14750channels%=(temp1%!20)>>16 14760freq%=temp1%!24 14770bits%=(temp1%!32)>>16 14790IFchannels%=2THENC%=%0001ELSEC%=%0000 14800IFbits%=8THENC%=C%OR%0010ELSEC%=C%OR%1000 14810D%=vidc/freq% 14830PTR#code_file%=16+3 14840temp1%?4=13 14850REPEAT 14860PTR#code_file%=PTR#code_file%-3 14870SYS&C,4,code_file%,temp1%,4 14880UNTIL$temp1%="data" 14890SYS&C,4,code_file%,temp1%,4 14900code_header%=PTR#code_file% 14910B%=!temp1%+PTR#code_file% 14920code_total=B%/freq% 14930code_type$="MS WAV" 14950PTR#code_file%=B% 14960temp1%?4=13 14970REPEAT 14980PTR#code_file%=PTR#code_file%-3 14990SYS&C,4,code_file%,temp1%,4TO,,,nt% 15000IF$temp1%="DISP"THEN 15010SYS&C,4,code_file%,temp1%,4 15020PTR#code_file%=PTR#code_file%+!temp1% 15030ENDIF 15040UNTIL$temp1%="ISBJ"ORnt%>0 15050IF$temp1%="ISBJ"THEN 15060SYS&C,4,code_file%,temp1%,4 15070SYS&C,4,code_file%,temp1%+4,!temp1% 15080?(temp1%+4+!temp1%)=13 15090code_name$=$(temp1%+4) 15100ENDIF 15120PTR#code_file%=code_header% 15130=TRUE 15170DEFFNcode_type_D3C 15171PTR#code_file%=0 15180B%=EXT#code_file% 15190C%=%0000 15200D%=(vidc*BGET#code_file%)/1000000 15210code_header%=1 15220code_type$="Armadeus" 15230code_total=B%*D%/vidc 15240=TRUE 15280DEFFNcode_type_38D 15290SYS&C,3,code_file%,temp1%,4,0 15300IFtemp1%!0<>&53505553THEN=FALSE 15310PTR#code_file%=4 15320C%=%0000 15330IFBGET#code_file%=0THENC%=C%OR%0100 15340IFBGET#code_file%=&80THENC%=C%OR%0010 15350IFBGET#code_file%=1THENC%=C%OR%0001 15360D%=(vidc*BGET#code_file%)/1000000 15370SYS&C,3,code_file%,temp1%,56,8 15380code_name$=FNmisc_str(temp1%) 15390code_type$="SuperSonic" 15400B%=EXT#code_file%-64 15410code_header%=64 15420=TRUE 15460DEFFNcode_type_CB5 15470LOCALt$ 15480SYS&C,3,code_file%,temp1%,4,0 15490temp1%?4=13 15500IF$temp1%="SAMP"THEN 15510SYS&C,3,code_file%,temp1%,16,&10 15530SYS&C,3,code_file%,temp1%,4,&38 15540B%=!temp1%+&60 15550code_header%=&60 15560PTR#code_file%=&60 15570C%=%0100 15580D%=100 15590D%=(vidc*50)/1000000 15600code_type$="Tracker" 15610=TRUE 15620ENDIF 15630IF$temp1%="DskS"OR$temp1%="DSMP"OR$temp1%="DSmp"THEN 15640SYS&C,3,code_file%,temp1%,64,0 15650t$=FNmisc_str(temp1%+&20) 15660IFt$<>"<Undefined>"THENcode_name$=t$ 15670B%=temp1%!&1C+&40 15680code_header%=&40 15690PTR#code_file%=&40 15700C%=%0100 15710D%=(temp1%!&8/&4000)*vidc/1000000 15720code_type$="Desktop Tracker" 15730=TRUE 15740ENDIF 15750=FALSE 15790DEFFNcode_type_ED0 15800code_header%=0 15810PTR#code_file%=0 15820B%=EXT#code_file% 15830C%=%0010 15840D%=48*vidc/1000000 15850code_type$="DS Edit" 15860play%=FALSE 15870=TRUE 15910DEFPROCcode_beginplay(paused%) 15920LOCALt1%,t2%,tp%,tl%,op% 15940A%=code_file% 15950CALLcode_open% 15970op%=PTR#code_file% 15980SYS&42TOt1% 15990SYS&C,3,code_file%,temp1%,4*1024,code_header% 16000SYS&42TOt2% 16010tl%=t2%-t1% 16020PTR#code_file%=op% 16040slider_s=B%/slider_sx% 16050PTR#code_file%=code_header% 16060code_counterpos%=0 16080IFC%AND%0001THEN 16090VOICES2 16100STEREO1,-127 16110STEREO2,+127 16120ELSE 16130VOICES1 16140STEREO1,0 16150ENDIF 16170@%="+f10.2" 16180code_total=(B%-code_header%)*D%/vidc 16190IFC%AND%1000THENcode_total=code_total/2 16200IFC%AND%0001THENcode_total=code_total/2 16210PROCicon_text(wind_cont%,9,FNmisc_numstr(code_total/3)) 16220PROCicon_text(wind_cont%,10,FNmisc_numstr(2*code_total/3)) 16230PROCicon_text(wind_cont%,11,FNmisc_numstr(code_total)) 16240PROCicon_text(wind_cont%,13,LEFT$(code_name$,63)) 16260tp%=(4*1024/B%)*code_total*100 16270IFtl%>tp%THEN 16280SYS&406C2 16290IF(tl%/tp%)>1.3THENW%=FNwarn_message(2)ELSEW%=FNwarn_message(7) 16300IFW%=1THEN 16310PROCcode_action(99) 16320PROCwind_close(wind_form%) 16330PROCwind_close(wind_buff%) 16340PROCwind_close(wind_cont%) 16341PROCmisc_close(script_file%) 16350ENDPROC 16360ENDIF 16370paused%=TRUE 16380ENDIF 16400IFpaused%THENPROCcode_action(3)ELSEPROCcode_action(0) 16410IFscript_file%=0ORR%=6ORpaused%THEN 16420PROCwind_opentop(wind_cont%) 16430ENDIF 16440PROCwind_close(wind_form%) 16450PROCwind_close(wind_buff%) 16460code_loaded%=TRUE 16470ENDPROC 16530DEFPROCvolume_dragset(temp%) 16540LOCALoldpos% 16550IFtemp%THENoldpos%=vol_pos 16560SYS&400CF,,temp1% 16570vol_pos+=temp1%!4-vol_dy% 16580IFNOTtemp%THENPROCicon_update(wind_vol%,2) 16600DEFPROCvolume_set 16610LOCALV%,S% 16620temp%=temp% 16630IFvol_pos<0THENvol_pos=0 16640IFvol_pos>256THENvol_pos=256 16650V%=127*SQR(vol_pos/256) 16660IFV%<1THENV%=1 16670IFV%>127THENV%=127 16680SYS&40180,V% 16690IFtemp%THENvol_pos=oldpos% 16700IFFNicon_select(wind_vol%,9)=0THENPROCicon_select(wind_vol%,9,1) 16710ENDPROC 16750DEFPROCvolume_getstate 16760LOCALV%,S% 16770SYS&40180,0TOV% 16780IFFNicon_select(wind_vol%,9)THENvol_pos=256*((V%/127)^2)+2 16790PROCicon_update(wind_vol%,2) 16800SYS&40143TOS% 16810PROCicon_select(wind_vol%,10,S%-1) 16820ENDPROC 16930DEFPROChelp 16940LOCALshs%,shf%,E%,F%,path$,helpdir$ 16960SYS&20023,"StrongHelp$Dir",,-1TO,,shs% 16990SYS&20008,5,"WavePlayer:!SHFlag"TOE%,,,,shf%;F% 17000IF(F%AND 1)ORE%<>1THENshf%=-1 17010IFshf%>1THEN 17030shf%=+1 17040F%=OPENIN("WavePlayer:!SHFlag") 17050path$=GET$#F% 17060CLOSE#F% 17070IFshs%=0THENOSCLI"Set StrongHelp$Dir "+path$:shs%=TRUE 17080ENDIF 17110helpdir$="<StrongHelp$Dir>.HelpData.WavePlayer" 17120IFshs%<>0THEN 17130shs%=TRUE 17140SYS&20008,5,"<StrongHelp$Dir>.HelpData.WavePlayer"TOE%;F% 17150IFF%AND 1THENE%=0 17160IFE%=0THEN 17170SYS&20008,5,"<StrongHelp$Dir>.Manuals.WavePlayer"TOE%;F% 17180IFF%AND 1THENE%=0 17190IFE%<>0THENhelpdir$="<StrongHelp$Dir>.Manuals.WavePlayer" 17200ELSE 17210ENDIF 17220hpp%=(E%<>0) 17230ELSE 17240hpp%=FALSE 17250ENDIF 17330IFshs%=0AND shf%=+1THENW%=FNwarn_message(4):ENDPROC 17340IFshf%=0AND hpp%=0THENW%=FNwarn_message(5):ENDPROC 17350IFshs%AND hpp%=0THENW%=FNwarn_message(3):ENDPROC 17360IFshs%AND shf%=0AND hpp%THEN 17370W%=FNwarn_message(6) 17380IFW%=2THENENDPROC 17390shf%=+1 17400SYS&8,&A,"WavePlayer:!SHFlag",&FFD,,PAGE,PAGE+1 17410ENDIF 17440IFshs%AND shf%=+1AND hpp%THEN 17450SYS&20005,"RMEnsure StrongHelp 0 Filer_Run <StrongHelp$Dir>.!Run" 17460path$=FNmisc_realpath(helpdir$) 17470SYS&20005,"Filer_Run "+path$ 17480SYS&20008,5,"WavePlayer:!SHFlag"TO,,,,E% 17490IFE%<=1THEN 17500F%=OPENOUT("WavePlayer:!SHFlag") 17510BPUT#F%,FNmisc_realpath("<StrongHelp$Dir>") 17520CLOSE#F% 17530ENDIF 17540ENDIF 17550IFshs%=0THEN 17560W%=FNwarn_message(8) 17570ENDIF 17580ENDPROC 17640DEFPROCerror 17650LOCALERROR 17660ONERRORLOCALERROREXTERR,"Error in error trap - "+REPORT$+" @ "+STR$(ERL)+" - original error - "+oldrep$ 17670oldrep$=REPORT$+" @ "+STR$(ERL) 17690IFFNwarn_message(255)=1THEN 17700RESTOREERROR 17710ENDPROC 17720ENDIF 17730quit%=TRUE 17740ENDPROC
� >WavePlayer:!RunImage (� � 1997, Matthew Wilson of Paradise (6��,"Error whilst initialising - "+�$+" @ "+�(�) </ș&400C0,200,&4B534154,"Wave Player"�,task% P&quit%=�:pollfast%=0:quit_finish%=� Z0script_file%=0:script_adding%=�:script_np%=0 dvidc_tv=1000000 n vidc_vga=1000000*25175/24000 xvidc_ms=1500000 �ispc%=4*1024 ��w_warn%(2) ��sicon%64,caret%64 �0�q%256,temp1%8*1024,temp2%8*1024,icons%ispc% � !caret%=0 ��init_iconbar ��init_sprites ��init_windows ��init_slider ��init_volume ��init_code �init_menus �init_vidc "ș&10�env$ ,I%=�env$,"-file") 6�I%=0�I%=�env$,"-auto") @ �I%>0� J#ș&8,5,�env$,I%+6)�type%,,load% T �type%=2� ^q%!40=&1000 h� rq%!40=(load%�&FFF00)>>8 |� �#�wimp_message_load(�env$,I%+6)) �� � �wind_opencentre(wind_info%) �+ș&400D4,,wind_info%,temp1%!4,temp1%!16 �ș&42�info_c% �info_c%+=1000 �ș&406C2 �*Set WavePlayer$Running yes ���error � �pollfast%>0� &pollfast%-=1 0ș&400C7,,q%�R% :� D(�code_status%=0�delay%=5�delay%=1000 Nș&42�time% X@�time%>info_c%� info_c%>0�info_c%=-1:�wind_close(wind_info%) b ș&400E1,,q%,time%+delay%�R% l� v�slider_np%>0� �slider_np%-=1 �"�slider_np%=0��code_action(-1) �� ��setbuff_np%>0� �setbuff_np%-=1:pollfast%+=1 ��setbuff_np%=0� �$A%=code_buffsize%:�code_setbuff% ��code_final% ��code_init% �� �� ��script_np%>0� �script_np%-=1:pollfast%+=1 �script_np%=0� �misc_close(script_file%) script_adding%=� ����(-1) *'*Filer_Run <Wimp$ScrapDir>.WPScript 4� >� R ȎR%� \�0 f5�code_status%=0� slider_np%=0��slider_d%��vol_d%� popx%=slider_px%�2 z*pos%=�(code_readpos%)+code_counterpos% �slider_px%=pos%/slider_s �npx%=slider_px%�2 �+�opx%<>npx%��icon_update(wind_cont%,12) ��slider_px%>slider_sx%� �)�quit_finish%�quit%=���code_action(3) �� �� �+�vol_d%�(time%� 3)=0��volume_dragset(�) ��1:�wimp_redraw(!q%) ��2:ș&400C5,,q% ��3 �ș&400C6,,q% 3�!q%=wind_buff%�!q%=wind_form%��code_action(99) "�!q%=wind_vol%�!q%=wind_cont%� !�icon_select(wind_cont%,14,0) $�wind_close(wind_vol%) .� 8&�!q%=wind_vidc%��icon_restorecaret L#�4:�!q%=wind_info%�ș&400C6,,q% V�6 `�q%!8=2� j�wimp_makemenu(q%!12,q%!16) t� ~!�wimp_click(q%!12,q%!16,q%!8) �� ��7:�wimp_enddrag ��8 ��!q%=wind_vidc%� q%!4=7� �wind%=wind_vidc% ��wimp_clickvidc(-1,4) �� ��9:�wimp_menureply ��17,18:�wimp_message(q%!16) �� � �quit% skip%=� �skip%=� (�skip%� 2�code_action(5) <�code_final% Fș&1E,7,,code% P�misc_close(script_file%) Z�quit_finish%=-2� dș&42682 n� xF%=�("WavePlayer:!Options") � �#F%,vidc ��#F% �� �*Unset WavePlayer$Running �� ���init_iconbar temp1%!0=-1 temp1%!4=0 temp1%!8=0 "temp1%!12=34*2 ,temp1%!16=17*4 6&temp1%!20=(&17<<24)�(3<<12)�%11010 @!$(temp1%+24)="!waveplay"+�(0) Jș&400C2,,temp1%�ibar1% ^temp1%!0=-1 htemp1%!4=0 rtemp1%!8=0 |temp1%!12=18*2 �temp1%!16=17*4 �&temp1%!20=(&17<<24)�(3<<12)�%11010 �$(temp1%+24)="volume!"+�(0) �ș&400C2,,temp1%�ibar2% �� ���init_sprites � �len% �(ș&8,5,"WavePlayer:Sprites"�,,,,len% ��sprs%len%+16 �sprs%!0=len%+16 sprs%!8=16 )ș&2E,&10A,sprs%,"WavePlayer:Sprites" � D+��init_loadwindow(name$,�winhan%,sprs%) N0ș&400DB,,temp1%,free%,end%,-1,name$�,,free% Xtemp1%!64=sprs% bș&400C1,,temp1%�winhan% l� ���init_windows ��N% �$ș&400D9,,"WavePlayer:Templates" �!free%=icons%:end%=free%+ispc% �1�init_loadwindow("controls",wind_cont%,sprs%) �4�init_loadwindow("opts_buffer",wind_buff%,sprs%) �4�init_loadwindow("opts_format",wind_form%,sprs%) �-�init_loadwindow("info",wind_info%,sprs%) �.�init_loadwindow("volume",wind_vol%,sprs%) �2�init_loadwindow("vidcspeed",wind_vidc%,sprs%) /�init_loadwindow("warn_1",w_warn%(0),sprs%) /�init_loadwindow("warn_2",w_warn%(1),sprs%) /�init_loadwindow("warn_3",w_warn%(2),sprs%) *ș&400DA 4� \��init_menus f �len% p&ș&8,5,"WavePlayer:Menus"�,,,,len% z�menus%len% ��menus%<=0� �/���,"Not enough memory to start up (menus)" �� �&ș&8,&FF,"WavePlayer:Menus",menus% �menu_ib%=menus%+0 �menu_bits%=menus%+256 �menu_type%=menus%+512 �� ���init_slider �#sicon%!0=wind_cont%:sicon%!4=12 ș&400CE,,sicon% slider_x%=sicon%!8 slider_y%=sicon%!20-32 $%slider_sx%=sicon%!16-slider_x%-64 .slider_px%=0 8slider_d%=� Bslider_s=1 Lslider_np%=0 `"temp1%!0=wind_cont%:temp1%!4=7 jș&400C4,,temp1% t� ���init_volume ��V% �!temp1%!0=wind_vol%:temp1%!4=2 �ș&400CE,,temp1% �vol_x%=temp1%!8 �vol_y%=temp1%!12 �!vol_size%=temp1%!20-vol_y%-48 �vol_d%=� �!temp1%!0=wind_vol%:temp1%!4=1 ș&400C4,,temp1% � 2��init_code < �len% F%ș&8,5,"WavePlayer:Code"�,,,,len% Pș&1E,6,,,len%�,,code% Z$ș&8,&FF,"WavePlayer:Code",code% dcode_init%=code%+0 ncode_final%=code%+4 xcode_open%=code%+8 �code_close%=code%+12 �code_restart%=code%+16 �code_pause%=code%+20 �code_unpause%=code%+24 �code_setbuff%=code%+28 �code_readpos%=code%+32 �code_status%=-1 �code_loaded%=� �code_file%=0 �code_buffsize%=63*1024 �setbuff_np%=0 ��code_action(5) $A%=code_buffsize%:�code_setbuff% �code_init% � @��init_vidc J�F% TF%=�("WavePlayer:!Options") ^ �F%=0� hF%=�("WavePlayer:!Options") rvidc=1000000 | �#F%,vidc �� � �#F%,vidc �� ��#F% �Ȏvidc� �)�vidc_tv:�icon_select(wind_vidc%,2,1) �*�vidc_vga:�icon_select(wind_vidc%,3,1) �)�vidc_ms:�icon_select(wind_vidc%,4,1) � � �icon_select(wind_vidc%,5,1) �4�icon_text(wind_vidc%,7,�(�(.5+24000*vidc/1E6))) �� �� :ݤmisc_findfile(dir$,�N%) D�R% N1ș&2000C,10,dir$,temp1%,1,N%,256,"*"�,,,R%,N% X�R%<>1�="" b*�temp1%!16<>1�=�misc_findfile(dir$,N%) l=�misc_str(temp1%+20) ���misc_poll(�R%) � �more% �ș&400C7,,temp2%�R% � ȎR%� ��1 �ș&400C8,,temp2%�more% �ȕmore% �ș&400CA,,temp2%�more% �� ��17,18:�temp2%!16=0�quit%=� �� � *ݤmisc_str(adr%) 4 �str$ >ș256,adr%�str$ H =str$ pݤmisc_leaf(fn$) z�I% �ȕ�fn$,".")>0��fn$,":")>0 �%I%=�fn$,"."):�I%>0�fn$=�fn$,I%+1) �%I%=�fn$,":"):�I%>0�fn$=�fn$,I%+1) �� �I%=�fn$," -") ��I%>0�fn$=�fn$,I%) �=fn$ �ݤmisc_numstr(num) ��str$,I% �str$=�(num):I%=�str$,".") �I%��str$,I%,1)="�" =str$ 8��misc_close(�handle%) B"�handle%<>0�ș&2000D,0,handle% L handle%=0 V� ~ݤmisc_realpath(path$) ��F%,npath$ � ?temp1%=0 �,ș&29,&25,path$,temp1%,,,255�,,npath$;F% ��F%� 1�npath$=path$ �=npath$ �ݤmisc_path(fn$) � �I%,F$ � F$=fn$ �� I%=�fn$,".") �I%>0�fn$=�fn$,I%+1) �I%=0 =�F$,�(F$)-�(fn$)-1) Z��wind_opentop(winhan%) d!temp1%=winhan% nș&400CB,,temp1% xtemp1%!28=-1 �ș&400C5,,temp1% �� ���wind_opencentre(winhan%) ��x%,a%,y%,b%,sx%,sy% �ș&35,�,4�,,a% �ș&35,�,5�,,b% �ș&35,�,11�,,x% �ș&35,�,12�,,y% �x%=x%<<a%:y%=y%<<b% �!temp1%=winhan% ș&400CB,,temp1% sx%=temp1%!12-temp1%!4 sy%=temp1%!16-temp1%!8 "+temp1%!4=(x%-sx%)/2:temp1%!8=(y%-sy%)/2 ,-temp1%!12=(x%+sx%)/2:temp1%!16=(y%+sy%)/2 6temp1%!28=-1 @ș&400C5,,temp1% J� r��wind_openhere(winhan%) |�x%,y%,b%,sx%,sy% �ȗx%,y%,b% �!temp1%=winhan% �ș&400CB,,temp1% �sx%=(temp1%!12-temp1%!4) �sy%=(temp1%!16-temp1%!8) �temp1%!4=x%-sx%/2 �temp1%!8=y%-sy%*2/3 �temp1%!12=x%+sx%/2 �temp1%!16=y%+sy%/3 �temp1%!28=-1 �ș&400C5,,temp1% �� ��wind_openover(old%,new%) &!temp1%=old% 0ș&400CB,,temp1% :ș&400C6,,temp1% D!temp1%=new% Nș&400C5,,temp1% X� ���wind_close(winhan%) �!temp1%=winhan% �ș&400C6,,temp1% �� �$��icon_select(win%,icon%,state%) ��eor%,bic% � bic%=1 �eor%=-(state%<>0) �state%=2�bic%=0:eor%=1 temp1%!0=win% temp1%!4=icon% temp1%!8=eor%<<21 *temp1%!12=bic%<<21 4ș&400CD,,temp1% >� fݤicon_select(win%,icon%) p�state% ztemp1%!0=win% �temp1%!4=icon% �ș&400CE,,temp1% �=(temp1%!24�(1<<21))>>21 �!��icon_text(win%,icon%,text$) �temp1%!0=win% �temp1%!4=icon% �ș&400CE,,temp1% ��(temp1%!24�(1<<8))=0�� �$$(temp1%!28)=�text$,temp1%!36-1) temp1%!0=win% temp1%!4=icon% temp1%!8=0 $temp1%!12=0 .ș&400CD,,temp1% 8� `ݤicon_text(win%,icon%) jtemp1%!0=win% ttemp1%!4=icon% ~ș&400CE,,temp1% �=�misc_str(temp1%!28) �ݤicon_eval(win%,icon%) � �str$,num �temp1%!0=win% �temp1%!4=icon% �ș&400CE,,temp1% �str$=�misc_str(temp1%!28) �� ���:=0 num=�(str$) �� =num <'��icon_val(win%,icon%,val$,update%) Ftemp1%!0=win% Ptemp1%!4=icon% Zș&400CE,,temp1% d�(temp1%!24�(1<<8))=0�� n$(temp1%!32)=val$ x�update%=0�� �temp1%!0=win% �temp1%!4=icon% �temp1%!8=0 �temp1%!12=0 �ș&400CD,,temp1% �� ���icon_update(win%,icon%) �temp1%!0=win% �temp1%!4=icon% temp1%!8=0 temp1%!12=0 ș&400CD,,temp1% "� J��icon_clearall(win%) T�N% ^$ș&400D6,win%,temp2%,1<<21,1<<21 h N%=temp2% rȕ!N%>-1 |�icon_select(win%,!N%,0) � N%+=4 �� �� ���icon_selectall(win%) ��N% �$ș&400D6,win%,temp2%,1<<21,0<<21 � N%=temp2% �ȕ!N%>-1 ��icon_select(win%,!N%,1) � N%+=4 � � :ݤicon_nextsel(win%) D$ș&400D6,win%,temp2%,1<<21,1<<21 N=!temp2% v;��icon_pos(win%,icon%,�minx%,�miny%,�maxx%,�maxy%,loc%) � �x%,y% ��loc%=0� �loc%=temp1%:loc%!0=win% �ș&400CB,,loc% �� �(x%=loc%!4-loc%!20:y%=loc%!16-loc%!24 �temp1%!0=win% �temp1%!4=icon% �ș&400CE,,temp1% �temp1%!8+=x%:temp1%!16+=x% �temp1%!12+=y%:temp1%!20+=y% �"minx%=temp1%!8:miny%=temp1%!12 �#maxx%=temp1%!16:maxy%=temp1%!20 � *$��icon_setcaret(win%,icon%,pos%) 4�pos%<0� > temp1%!0=win%:temp1%!4=icon% Hș&400CE,,temp1% R pos%=�(�misc_str(temp1%!28)) \� f%ș&400D2,win%,icon%,-1,-1,-1,pos% p� �&��icon_storecaret(win%,icon%,pos%) ��pos%<0� � temp1%!0=win%:temp1%!4=icon% �ș&400CE,,temp1% � pos%=�(�misc_str(temp1%!28)) �� �ș&400D3,,caret% �%ș&400D2,win%,icon%,-1,-1,-1,pos% �� ��icon_restorecaret R�caret%!0<>0�ș&600D2,caret%!0,caret%!4,caret%!8,caret%!12,caret%!16,caret%!20 $caret%!0=0 .� jݤwarn_message(messcode%) t2�type%,s1%,s2%,s3%,s1$,s2$,s3$,mess$,ret%,esc% ~Ȏmesscode%� ��0 �Xmess$="Drag a sample file or a script file to the Wave Player icon to begin playing" �s1$="OK":s1%=�"O" �type%=1:ret%=1:esc%=1 ��1 Ămess$="There is a sample still playing - are you sure you want to quit, or do you want to wait until the sample has finished?" �s1$="Continue":s1%=�"C" �s2$="Wait":s2%=�"W" �s3$="Quit":s3%=�"Q" �type%=3:ret%=1:esc%=2 �2 �mess$="This storage media is very slow, and so playing the sample could halt the whole machine. Hold down Control and Escape if this happens" s1$="Stop":s1%=�"S" s2$="Play":s2%=�"P" (type%=2:ret%=1:esc%=1 <�3 F�mess$="StrongHelp has been located, but the help files have not been installed, or have been deleted. Run the help file installation program provided in the 'Help' directory." Ps1$="OK":s1%=�"O" Ztype%=1:ret%=1:esc%=1 n�4 x�mess$="StrongHelp cannot be located, but the help files have been installed. Try opening the filer window containing the application '!StrongHlp'." �s1$="OK":s1%=�"O" �type%=1:ret%=1:esc%=1 ��5 ��mess$="The installation of the StrongHelp help files has been reported to have failed or aborted. Try re-running 'Install' provided in the 'Help' directory." �s1$="OK":s1%=�"O" �type%=1:ret%=1:esc%=1 ��6 ܥmess$="The installation of the StrongHelp help files has previously failed. However, the help files seem to be present - do you want to try to start StrongHelp?" �s1$="Start":s1%=�"S" �s2$="Cancel":s2%=�"C" �type%=2:ret%=1:esc%=2 �7 �mess$="This storage media may be too slow, and so playing the sample could halt the whole machine, or make it very slow. Hold down Control and Escape if this happens" "s1$="Stop":s1%=�"S" ,s2$="Play":s2%=�"P" 6type%=2:ret%=1:esc%=1 J�8 TLmess$="To access the help, please look in the directory 'Help.TextHelp'" ^s1$="OK":s1%=�"O" htype%=1:ret%=1:esc%=1 |�9 �=mess$="This sample does not appear to be "+type$+" file." �s1$="OK":s1%=�"O" �type%=1:ret%=1:esc%=1 ��254 �+mess$="External error - "+�$+" @ "+�(�) �/s1$="Continue":s1%=�"C":s2$="Quit":s2%=�"Q" �type%=2:ret%=1:esc%=2 ��255 �*mess$="Program error - "+�$+" @ "+�(�) �/s1$="Continue":s1%=�"C":s2$="Quit":s2%=�"Q" �type%=2:ret%=1:esc%=2 �� Ȏtype%� (�1:=�warn_1(mess$,s1$,s1%,ret%,esc%) 0�2:=�warn_2(mess$,s1$,s1%,s2$,s2%,ret%,esc%) &8�3:=�warn_3(mess$,s1$,s1%,s2$,s2%,s3$,s3%,ret%,esc%) 0� :=0 b$ݤwarn_1(str$,s1$,s1%,ret%,esc%) l �W%,R%,S% vW%=w_warn%(0) ��icon_text(W%,0,str$) ��icon_text(W%,1,s1$) ��S%=15�1�-1 ��misc_poll(R%) �� ��wind_opencentre(W%) �ș&400D3,,temp1% �ș&400D2,W%,-1,20,20,-1,-1 �� ��misc_poll(R%) �3�(R%=6� temp2%!12=W%� temp2%!8<>2)�S%=temp2%!16 �%�(R%=8�(temp2%!24� 223)=s1%)�S%=1 �"�(R%=8� temp2%!24=&0D)�S%=ret% "�(R%=8� temp2%!24=&1B)�S%=esc% �S%<0�S%=0 "�S%=0�(R%=2�R%=3�R%=6�R%=8)��7 �S%�quit% * �quit%�=0 4Eș&400D2,temp1%!0,temp1%!4,temp1%!8,temp1%!12,temp1%!16,temp1%!20 > �R%<>6��icon_select(W%,S%,1) H�wind_close(W%) R�icon_select(W%,S%,0) \=S% �,ݤwarn_2(str$,s1$,s1%,s2$,s2%,ret%,esc%) � �W%,R%,S% �W%=w_warn%(1) ��icon_text(W%,0,str$) ��icon_text(W%,1,s1$) ��icon_text(W%,2,s2$) ��S%=15�1�-1 ��misc_poll(R%) �� ��wind_opencentre(W%) �ș&400D3,,temp1% �ș&400D2,W%,-1,20,20,-1,-1 �� �misc_poll(R%) 3�(R%=6� temp2%!12=W%� temp2%!8<>2)�S%=temp2%!16 %�(R%=8�(temp2%!24� 223)=s1%)�S%=1 $%�(R%=8�(temp2%!24� 223)=s2%)�S%=2 ."�(R%=8� temp2%!24=&0D)�S%=ret% 8"�(R%=8� temp2%!24=&1B)�S%=esc% B�S%<0�S%=0 L"�S%=0�(R%=2�R%=3�R%=6�R%=8)��7 V�(-99)��(-2)�� ` �S%�quit% j �quit%�=0 tEș&400D2,temp1%!0,temp1%!4,temp1%!8,temp1%!12,temp1%!16,temp1%!20 ~ �R%<>6��icon_select(W%,S%,1) ��wind_close(W%) ��icon_select(W%,S%,0) �=S% �4ݤwarn_3(str$,s1$,s1%,s2$,s2%,s3$,s3%,ret%,esc%) � �W%,R%,S% �W%=w_warn%(2) ��icon_text(W%,0,str$) ��icon_text(W%,1,s1$) ��icon_text(W%,2,s2$) �icon_text(W%,3,s3$) �S%=15�1�-1 �misc_poll(R%) � (�wind_opencentre(W%) 2ș&400D3,,temp1% <ș&400D2,W%,-1,20,20,-1,-1 F� P�misc_poll(R%) Z3�(R%=6� temp2%!12=W%� temp2%!8<>2)�S%=temp2%!16 d%�(R%=8�(temp2%!24� 223)=s1%)�S%=1 n%�(R%=8�(temp2%!24� 223)=s2%)�S%=2 x%�(R%=8�(temp2%!24� 223)=s3%)�S%=3 �"�(R%=8� temp2%!24=&0D)�S%=ret% �"�(R%=8� temp2%!24=&1B)�S%=esc% ��S%<0�S%=0 �"�S%=0�(R%=2�R%=3�R%=6�R%=8)��7 � �S%�quit% � �quit%�=0 �Eș&400D2,temp1%!0,temp1%!4,temp1%!8,temp1%!12,temp1%!16,temp1%!20 � �R%<>6��icon_select(W%,S%,1) ��wind_close(W%) ��icon_select(W%,S%,0) �=S% "*��drag_solid(win%,icon%,sprite$,sprs%) , �x%,y% @temp1%!0=win% Jș&400CB,,temp1% T0x%=temp1%!4-temp1%!20:y%=temp1%!16-temp1%!24 ^temp1%!4=icon% hș&400CE,,temp1% rtemp1%!8+=x%:temp1%!16+=x% |temp1%!12+=y%:temp1%!20+=y% �temp1%!24=0:temp1%!28=0 �+temp1%!32=&7FFFFFFF:temp1%!36=&7FFFFFFF �ș&6,1,1 �1ș&42400,&01,sprs%,sprite$,temp1%+8,temp1%+24 �� �?��drag_slider(win%,parent%,cx%,cy%,csx%,csy%,sprite$,sprs%) ��x%,y%,px1%,py1%,px2%,py2% �temp1%!0=win% �ș&400CB,,temp1% 0x%=temp1%!4-temp1%!20:y%=temp1%!16-temp1%!24 temp1%!4=parent% &ș&400CE,,temp1% 0*px1%=temp1%!8+x%+4:py1%=temp1%!12+y%+4 :+px2%=temp1%!16+x%-4:py2%=temp1%!20+y%-4 N)temp1%!8=x%+cx%:temp1%!16=x%+cx%+csx% X*temp1%!12=y%+cy%:temp1%!20=y%+cy%+csy% b!temp1%!24=px1%:temp1%!28=py1% l!temp1%!32=px2%:temp1%!36=py2% �ș&6,1,1 �1ș&42400,&20,sprs%,sprite$,temp1%+8,temp1%+24 �� ���wimp_redraw(wind%) ��more%,draw% �ș&400C8,,q%�more% !�wind%=wind_cont%� !draw%=�slider_d% !!temp1%!0=slider_px%+slider_x% ! temp1%!4=slider_y% !*temp1%!8=temp1%!0+64 !4temp1%!12=temp1%!4+32 !>temp1%!16=&102 !Htemp1%!20=temp1%+64 !Rtemp1%!24=sprs% !\temp1%!28=12 !f$(temp1%+64)="slider"+�(0) !p� !z�wind%=wind_vol%� !�draw%=�vol_d% !�temp1%!0=vol_x% !�temp1%!4=vol_y%+vol_pos !�temp1%!8=vol_x%+32 !�temp1%!12=vol_y%+vol_pos+48 !�temp1%!16=&102 !�temp1%!20=temp1%+64 !�temp1%!24=sprs% !�temp1%!28=12 !�$(temp1%+64)="vslider"+�(0) !�� !�ȕmore% "�draw%�ș&400E2,,temp1% "ș&400CA,,q%�more% "� "$� "L#��wimp_click(wind%,icon%,butt%) "VȎwind%� "`�-2:�wimp_clickibar(icon%) "j,�wind_cont%:�wimp_clickcont(icon%,butt%) "t,�wind_buff%:�wimp_clickbuff(icon%,butt%) "~,�wind_form%:�wimp_clickform(icon%,butt%) "�"�wind_info%:�wind_close(wind%) "�*�wind_vol%:�wimp_clickvol(icon%,butt%) "�,�wind_vidc%:�wimp_clickvidc(icon%,butt%) "�� "�� "���wimp_clickibar(icon%) "� �x%,y% "�Ȏicon%� "��ibar1% # �code_loaded%� # �wind_opentop(wind_cont%) #� #W%=�warn_message(0) #(� #2�ibar2% #<�volume_getstate #F&!temp1%=wind_vol%:ș&400CB,,temp1% #P"x%=q%!0-(temp1%!12-temp1%!4)/2 #Zy%=96+(temp1%!16-temp1%!8) #dș&400D4,,wind_vol%,x%,y% #n� #x� #�!��wimp_clickcont(icon%,butt%) #��x%,sx%,sy%,old% #��wind_opentop(wind%) #�Ȏicon%� #� �0,3,4,5:�code_action(icon%) #��1 #�-�slider_px%>=8�slider_px%-=8�slider_px%=0 #��icon_update(wind%,12) #�slider_np%=10 $�2 $�slider_px%<=slider_sx%-8� $"slider_px%+=8 $,� $6slider_px%=slider_sx% $@� $J�icon_update(wind%,12) $Tslider_np%=10 $h �6,12 $r�code_status%=4� $|old%=slider_px% $��code_action(3) $�slider_px%=old% $�� $�temp1%!0=wind% $�ș&400CB,,temp1% $�)x%=q%!0-temp1%!4-slider_px%-slider_x% $��x%<0�x%>=64� $�slider_px%+=x%-32 $��slider_px%<0�slider_px%=0 $�0�slider_px%>slider_sx%�slider_px%=slider_sx% $�� $��icon_update(wind%,12) $�N�drag_slider(wind%,6,slider_x%+slider_px%,slider_y%,64,32,"pslider",sprs%) %slider_d%=� %slider_dx%=q%!0 %&�14 %0�icon_select(wind%,14)� %:�wind_close(wind_vol%) %D�icon_select(wind%,14,0) %N� %X&!temp1%=wind_vol%:ș&400CB,,temp1% %b"!temp2%=wind%:ș&400CB,,temp2% %l1sx%=temp1%!12-temp1%!4:sy%=temp1%!16-temp1%!8 %v/temp1%!4=temp2%!12+2:temp1%!8=temp2%!16-sy% %�.temp1%!12=temp1%!4+sx%:temp1%!16=temp2%!16 %�temp1%!28=-1 %�ș&400C5,,temp1% %��icon_select(wind%,14,1) %�� %�� %�� %�!��wimp_clickbuff(icon%,butt%) %�-�@%,step%,time%,himem%,nt%,speed,x%,y%,z% %�Ȏicon%� &�6 &step%=-1+7*�(-1) &3code_buffsize%=1024*(step%+code_buffsize%�1024) & 0�code_buffsize%<8*1024�code_buffsize%=8*1024 &*@%="+f10.3" &49�icon_text(wind_buff%,5,�(code_buffsize%/1024)+" Kb") &>setbuff_np%=2 &R�7 &\step%=1-7*�(-1) &f3code_buffsize%=1024*(step%+code_buffsize%�1024) &p@%="+f10.3" &z9�icon_text(wind_buff%,5,�(code_buffsize%/1024)+" Kb") &�setbuff_np%=2 &��8 &�code_buffsize%=vidc/D% &�,�C%�%1000�code_buffsize%+=code_buffsize% &�,�C%�%0001�code_buffsize%+=code_buffsize% &�@%="+f10.3" &�9�icon_text(wind_buff%,5,�(code_buffsize%/1024)+" Kb") &�setbuff_np%=2 &��9 &�code_buffsize%=2*vidc/D% &�,�C%�%1000�code_buffsize%+=code_buffsize% ',�C%�%0001�code_buffsize%+=code_buffsize% '@%="+f10.3" '9�icon_text(wind_buff%,5,�(code_buffsize%/1024)+" Kb") '$setbuff_np%=2 '8 �10,11 'B�icon%=10�time%=10�time%=50 'Lhimem%=� 'V�=himem%+130*1024 '`�=0 'j.ș&C,3,code_file%,himem%,128*1024,0�,,,nt% 't�=0��=1 '~speed=�/(128*1024-nt%) '��=himem% '�*code_buffsize%=256*((time%/speed)�256) '�@%="+f10.3" '�9�icon_text(wind_buff%,5,�(code_buffsize%/1024)+" Kb") '�setbuff_np%=2 '�-�16:�wind_openover(wind_buff%,wind_form%) '��17 '��wind_close(wind_form%) '��wind_close(wind_buff%) '��code_action(99) '��18:�code_beginplay(�) ( �19:�code_beginplay(�) (�20 (%�icon_pos(wind%,20,z%,z%,x%,y%,0) ((ș&400D4,,menu_type%,x%,y% (2menu_c%=menu_type% (F� (P� (x!��wimp_clickform(icon%,butt%) (��x%,y%,z%,step% (�Ȏicon%� (��6 (�$�icon_pos(wind%,6,z%,z%,x%,y%,0) (�ș&400D4,,menu_bits%,x%,y% (�menu_c%=menu_bits% (��8,9 (�step%=1-7*�(-1) (�D%-=(icon%*2-17)*step% (��D%<10�D%=10 (��D%>200�D%=200 (�@%="+g10.9" )(�icon_text(wind%,7,�(vidc�D%)+" Hz") ) �10,11 )"!C%=(C%�%1011)�((icon%-10)<<2) ),(�icon_select(wind%,10,(icon%=10)� 1) )6(�icon_select(wind%,11,(icon%=11)� 1) )J �12,13 )T!C%=(C%�%1101)�((icon%-12)<<1) )^(�icon_select(wind%,12,(icon%=12)� 1) )h(�icon_select(wind%,13,(icon%=13)� 1) )| �14,15 )�!C%=(C%�%1110)�((icon%-14)<<0) )�(�icon_select(wind%,14,(icon%=14)� 1) )�(�icon_select(wind%,15,(icon%=15)� 1) )�-�16:�wind_openover(wind_form%,wind_buff%) )��17 )��wind_close(wind_form%) )��wind_close(wind_buff%) )��code_action(99) )��18:�code_beginplay(�) )��19:�code_beginplay(�) )��20 *%�icon_pos(wind%,20,z%,z%,x%,y%,0) *ș&400D4,,menu_type%,x%,y% *menu_c%=menu_type% *0� *:� *b��wimp_clickvol(icon%,but%) *lȎicon%� *v�9 *��icon_select(wind%,9)� *��volume_set *�� *�ș&40180,1 *�� *�)�10:ș&40143,�icon_select(wind%,10)+1 *�� *��icon%<>2�� *��y% *�temp1%!0=wind% +ș&400CB,,temp1% +$y%=q%!4-temp1%!16-vol_y%-vol_pos +�y%<0�y%>=48� + vol_pos+=y%-24 +*�vol_pos<0�vol_pos=0 +4(�vol_pos>vol_size%�vol_pos=vol_size% +>� +H�icon_update(wind%,2) +RF�drag_slider(wind%,0,vol_x%,vol_y%+vol_pos,32,48,"pvslider",sprs%) +\vol_d%=� +fvol_dy%=q%!4 +p� +�!��wimp_clickvidc(icon%,butt%) +�Ȏicon%� +�&�2:vidc=vidc_tv:�icon_restorecaret +�'�3:vidc=vidc_vga:�icon_restorecaret +�&�4:vidc=vidc_ms:�icon_restorecaret +��5 +�"vidc=�icon_eval(wind%,7)/0.024 +� �icon_storecaret(wind%,7,-1) +��-1 +�"vidc=�icon_eval(wind%,7)/0.024 +��icon_restorecaret ,icon%=5 ,� ,�icon_clearall(wind%) ,$�icon_select(wind%,icon%,1) ,.� ,V ��wimp_makemenu(wind%,icon%) ,`Ȏwind%� ,j�-2 ,t"ș&400D4,,menu_ib%,q%!0-64,274 ,~menu_c%=menu_ib% ,��wind_cont% ,��wind_buff% ,��wind_form% ,�� ,�� ,���wimp_enddrag ,��V% ,��slider_d%� ,�slider_d%=� - ș&400CF,,temp1% - #slider_px%+=temp1%!0-slider_dx% -�icon_update(wind_cont%,12) -slider_np%=2 -(� -<�vol_d%� -Fvol_d%=� -P�volume_dragset(�) -Z� -d� -���wimp_menureply -�Ȏmenu_c%� -� �menu_ib%:�wimp_menureply_ib -�$�menu_bits%:�wimp_menureply_bits -�$�menu_type%:�wimp_menureply_type -�� -�� -���wimp_menureply_ib -� Ȏ!q%� .#�0:�wind_opencentre(wind_info%) .�1:�help .#�2:�wind_opencentre(wind_vidc%) ."�3:quit%=�wimp_prequit .,� .6� .^��wimp_menureply_bits .h�!q%=1� .rC%=C%�%1000 .|&�icon_text(wind_form%,5,"16 bits") .�� .�C%=C%�%0111 .�%�icon_text(wind_form%,5,"8 bits") .�� .�� .���wimp_menureply_type .� �type$ .� Ȏ!q%� .�,�0:W%=�code_type_D3C:type$="an Armadeus" .�*�1:W%=�code_type_ED0:type$="a DS Edit" /=�2:W%=�code_type_CB5:type$="a Desktop Tracker or Tracker" /*�3:W%=�code_type_FB1:type$="an MS WAV" /-�4:W%=�code_type_38D:type$="a SuperSonic" /&� /0,�W%=���code_fillinfo�W%=�warn_message(9) /:� /b��wimp_message(mc%) /l�shutdown% /v Ȏmc%� /��0:quit%=� /�+�3:�wimp_message_load(�misc_str(q%+44)) /��5 /�1�q%!40=&FB1�q%!40=&D3C�q%!40=&CB5�q%!40=&38D� /�q%!12=q%!8 /�ș&400E7,17,q%,q%!4 /� �code_load(�misc_str(q%+44)) /�� /��q%!40=&0F0� /�q%!12=q%!8 /�ș&400E7,17,q%,q%!4 /�(�wimp_message_load(�misc_str(q%+44)) /�� 0�8 0shutdown%=q%!20 0 q%!12=q%!8 0*ș&400E7,17,q%,q%!4 04�wimp_prequit� 0>quit%=� 0H�shutdown%=0�ș&42682 0R� 0\.�quit_finish%� shutdown%=0�quit_finish%=-2 0f� 0p� 0���wimp_message_load(fn$) 0� �t$,N% 0�Ȏq%!40� 0� �&0F0 0��misc_close(script_file%) 0�script_file%=�(fn$) 0�script_fn$=fn$ 0��#script_file%>0� 0��code_load(�#script_file%) 0�� 0��misc_close(script_file%) 1� 1 �&1000 1$�misc_close(script_file%) 1.ș&406C3,1 18)script_fn$="<Wimp$ScrapDir>.WPScript" 1Bscript_file%=�(script_fn$) 1LN%=0 1V� 1`t$=�misc_findfile(fn$,N%) 1j%�t$<>""��#script_file%,fn$+"."+t$ 1t �t$="" 1~�misc_close(script_file%) 1�q%!40=&0F0 1�"�wimp_message_load(script_fn$) 1�ș&406C2 1� 1��script_adding%��(-1)� 1��script_adding%� 1��#script_file%,fn$ 1�script_np%=2:pollfast%=1 1�� 1��misc_close(script_file%) 1�)script_fn$="<Wimp$ScrapDir>.WPScript" 2 script_file%=�(script_fn$) 2 ș&8,&12,script_fn$,&0F0 2�#script_file%,fn$ 2script_adding%=� 2(script_np%=2:pollfast%=1 22� 2<� 2F�misc_close(script_file%) 2P�code_load(fn$) 2Z� 2d� 2n� 2�ݤwimp_prequit 2�"�code_loaded%� code_status%=0� 2�W%=�warn_message(1) 2��W%=2�quit_finish%=� 2�=(W%=3) 2�� 2�=� 2�� 3��code_action(act%) 3" �os%,ptr% 3, �act%=99� 36 act%=5 3@� 3J�code_loaded%�act%=5 3T�code_status%=act%�� 3^�code_status%=3� act%=4�� 3h� 3|os%=code_status% 3� �act%>=0� 3�+�icon_select(wind_cont%,code_status%,0) 3�#�icon_select(wind_cont%,act%,1) 3�code_status%=act% 3�� 3�Ȏact%� 3��0 3�(�os%=4��code_unpause%��code_restart% 3��3 3��code_pause% 3��#code_file%=code_header% 4code_counterpos%=0 4slider_px%=0 4�icon_update(wind_cont%,12) 4&�script_file%>0� paused%=0� 4:��#script_file%� 4D�misc_close(script_file%) 4N)ș&20008,6,"<Wimp$ScrapDir>.WPScript" 4X� 4b�code_load(�#script_file%) 4l� 4v� 4��4:�code_pause% 4��5 4��code_close% 4�(�misc_close(code_file%):code_file%=0 4�code_loaded%=� 4��script_file%=0�R%=6� 4��wind_close(wind_cont%) 4��wind_close(wind_form%) 4��wind_close(wind_buff%) 4�� 5�-1 5"ptr%=4*(slider_s*slider_px%�4) 5&�(code_header%+ptr%)>�#code_file%� 5 $ptr%=�#code_file%-code_header%-4 5*� 54(�ptr%<code_header%�ptr%=code_header% 5>"�#code_file%=code_header%+ptr% 5Hcode_counterpos%=ptr% 5R�os%=0��code_restart% 5\� 5f� 5���code_load(fn$) 5�*�type%,play%,unk%,@%,t$,obj%,I%,pause% 5�ș&406C0 5�script_adding%=� 5��code_action(5) 5�@�fn$,1)="."� script_file%<>0�fn$=�misc_path(script_fn$)+fn$ 5�I%=�fn$,"-buffersize=") 5� �I%>0� 5�t$=�fn$,I%+12) 6I%=�t$," -") 6�I%>0�t$=�t$,I%) 6 code_buffsize%=1024*�(�(t$)) 6$$A%=code_buffsize%:�code_setbuff% 6.�code_final% 68�code_init% 6B� 6VI%=�fn$,"-pause") 6`�I%>0�pause%=��pause%=�(-3) 6tI%=�fn$,"-volume=") 6~ �I%>0� 6�t$=�fn$,I%+8) 6�I%=�t$," -") 6��I%>0�t$=�t$,I%) 6�vol_pos=�(t$)*2.56 6��volume_set 6�� 6�ș&8,5,fn$�obj%,,type% 6��obj%<>1�ș&406C2:� 6�type%=type%>>8 6��(type%�&FFF000)=&FFF000� 7 type%=type%�&FFF 7 � 7type%=0 7� 72code_file%=�(fn$) 7<�code_file%=0�ș&406C2:� 7Punk%=�:play%=� 7Z� 7d��:unk%=� 7n�unk%� 7xcode_name$=�misc_leaf(fn$) 7�5code_loaded%=�("FNcode_type_"+�"00"+�~(type%),3)) 7��code_loaded%=��;; 7��� 7�play%=(��(-2))� play% 7�� 7�play%=� 7�code_type$="unknown" 7�B%=�#code_file% 7�C%=%0000 7�D%=48*vidc/1000000 7�code_header%=0 7�� 8�play%� 8�code_beginplay(pause%) 8� 8"�code_fillinfo 86�wind_close(wind_cont%) 8@ �wind_opencentre(wind_form%) 8Jcode_loaded%=� 8Tslider_px%=0 8^� 8hș&406C1 8r� 8���code_fillinfo 8��@% 8�'�icon_text(wind_form%,2,code_type$) 8�&�C%�%1000�t$="16 bits"�t$="8 bits" 8��icon_text(wind_form%,5,t$) 8�@%="+g10.9" 8�-�icon_text(wind_form%,7,�(vidc�D%)+" Hz") 8�/�icon_select(wind_form%,10,((C%>>2)� 1)� 1) 8�,�icon_select(wind_form%,11,((C%>>2)� 1)) 8�/�icon_select(wind_form%,12,((C%>>1)� 1)� 1) 8�,�icon_select(wind_form%,13,((C%>>1)� 1)) 9*�icon_select(wind_form%,14,(C%� 1)� 1) 9'�icon_select(wind_form%,15,(C%� 1)) 9&'�icon_text(wind_buff%,2,code_type$) 90@%="+f10.3" 9:9�icon_text(wind_buff%,5,�(code_buffsize%/1024)+" Kb") 9D� 9lݤcode_type_FB1 9v�channels%,bits%,freq%,nt% 9�!ș&C,3,code_file%,temp1%,64,0 9�/�temp1%!0<>&46464952�temp1%!8<>&45564157�=� 9�channels%=(temp1%!20)>>16 9�freq%=temp1%!24 9�bits%=(temp1%!32)>>16 9�"�channels%=2�C%=%0001�C%=%0000 9�$�bits%=8�C%=C%�%0010�C%=C%�%1000 9�D%=vidc/freq% 9��#code_file%=16+3 9�temp1%?4=13 :� :�#code_file%=�#code_file%-3 :ș&C,4,code_file%,temp1%,4 : �$temp1%="data" :*ș&C,4,code_file%,temp1%,4 :4code_header%=�#code_file% :>B%=!temp1%+�#code_file% :Hcode_total=B%/freq% :Rcode_type$="MS WAV" :f�#code_file%=B% :ptemp1%?4=13 :z� :��#code_file%=�#code_file%-3 :�%ș&C,4,code_file%,temp1%,4�,,,nt% :��$temp1%="DISP"� :�ș&C,4,code_file%,temp1%,4 :�%�#code_file%=�#code_file%+!temp1% :�� :��$temp1%="ISBJ"�nt%>0 :��$temp1%="ISBJ"� :�ș&C,4,code_file%,temp1%,4 :�&ș&C,4,code_file%,temp1%+4,!temp1% :�?(temp1%+4+!temp1%)=13 :�code_name$=$(temp1%+4) :�� ;�#code_file%=code_header% ;=� ;Bݤcode_type_D3C ;C�#code_file%=0 ;LB%=�#code_file% ;VC%=%0000 ;`"D%=(vidc*�#code_file%)/1000000 ;jcode_header%=1 ;tcode_type$="Armadeus" ;~code_total=B%*D%/vidc ;�=� ;�ݤcode_type_38D ;� ș&C,3,code_file%,temp1%,4,0 ;��temp1%!0<>&53505553�=� ;��#code_file%=4 ;�C%=%0000 ;��#code_file%=0�C%=C%�%0100 ;�!�#code_file%=&80�C%=C%�%0010 ;��#code_file%=1�C%=C%�%0001 <