NS BASIC Tech Note March 7, 1997 37. How to use the Sound Registry ----------------------------------------------------------------- Newton 2.0 has a sound registry that contains all the sounds that are stored in the Newton. In addition, you can get packages of sounds as shareware to add to the built in sounds. Check the AMUG web site for some. The list of built in sounds is kept in getglobals().soundRegistry._proto. Additional sounds are kept in getglobals().soundRegistry. The following program puts up a picker of all the available sounds and plays them. 1400 playsounds: REM 1410 LET pickitems=[] 1420 LET s=elements(getglobals().soundregistry) 1430 gosub addElements // 1440 LET s=elements(getglobals().soundregistry._proto) 1450 gosub addElements // 1460 LET wspec={pickitems: pickItems, GOTO: 'pickChosen} 1470 window w,wspec,"picker" 1480 show w 1490 stop 1500 pickChosen: REM 1510 LET i=wspec.viewValue 1520 playSound(getGlobals().soundRegistry.(intern(pickItems[i]))) 1590 GOTO 0100 2000 addElements: REM 2010 for i=0 to length(s)-1 2020 if s[i]<>"_proto" then addArraySlot(pickItems,s[i]) 2030 next i 2040 return