<> <> <> DIRECTORY <> Rope USING [ROPE], Basics USING [UnsafeBlock]; PlayOps: DEFINITIONS = { PlayTuneProc: TYPE = PROCEDURE [ music: Rope.ROPE, file, random: BOOLEAN _ FALSE, beepProc: BeepProc _ NIL, chunkSize: CARDINAL _ 75]; <> BeepProc: TYPE = PROC[beepFreq: CARDINAL, beepTime: CARDINAL, notify: BOOL_FALSE, pause: BOOL_FALSE]; --Hertz and millisecs PlayString: PlayTuneProc; PlayBlock: PROCEDURE [ musicBlock: Basics.UnsafeBlock, random: BOOLEAN _ FALSE, beepProc: BeepProc, --callback proc provided by caller chunkSize: CARDINAL _ 75, quietFinish: BOOLEAN _ TRUE --wh: Window.Handle _ NIL--]; }.