DIRECTORY Containers USING [Container], IO USING [STREAM], Lark USING [CommandEvent, ConnectionSpec, disabled, Hertz, LarkModel, Machine, Milliseconds, SHHH, VoiceBuffer], LarkRpcControl USING [InterfaceRecord], LarkSmarts USING [NetAddress, SmartsHandle], PupDefs USING [PupSocket], PupTypes USING [PupAddress], Rope USING [ROPE], RPC USING [ShortROPE], TypeScript USING [TS], ViewerClasses USING [Viewer], ViewRec USING [RecordViewer], VoiceStream USING [Handle], VTables USING [VTable]; NewLark: DEFINITIONS = BEGIN BDat: TYPE = RECORD [ h: LarkHandle, on, off: Lark.CommandEvent _ [device: nothing, event: Lark.disabled], value: BOOL _ FALSE, other: REF ANY _ NIL ]; InputGain: TYPE = {dB0, dB5, dB10, dB15, dB20} _ dB0; OutputGain: TYPE = {dB0, dB3, dB6} _ dB0; WaveTable: TYPE = {dB0, dB3, dB6, dB9, dB12} _ dB9; ToneProc: TYPE = PROC [ self: LarkHandle, f1: Lark.Hertz _ 440, f2: Lark.Hertz _ 480, modulation: Lark.Hertz _ 0, on: Lark.Milliseconds _ 500, off: Lark.Milliseconds _ 500, repetitions: CARDINAL _ 1, waveTable: WaveTable _ dB9, queueIt: BOOLEAN_TRUE, notify: BOOLEAN _ TRUE ]; DialProc: TYPE = PROC [ self: LarkHandle, number: Rope.ROPE, on: Lark.Milliseconds _ 60, off: Lark.Milliseconds _ 60, waveTable: WaveTable _ dB9, queueIt: BOOLEAN _ TRUE, notify: BOOLEAN _ TRUE ]; TuneProc: TYPE = PROC [self: LarkHandle, music: Rope.ROPE, file: BOOLEAN]; PlayFileProc: TYPE = PROC [self: LarkHandle, fileName: Rope.ROPE]; PlaybackProc: TYPE = PROC [self: LarkHandle, message: INT, queue: BOOL _ TRUE]; RecordProc: TYPE = PROC [self: LarkHandle, seconds: INT] RETURNS [message: INT]; EchoProc: TYPE = PROC [self: LarkHandle, buffer: Lark.VoiceBuffer, controlIn1: BOOL, controlIn2: BOOL, decayTime: CARDINAL, g0: CARDINAL, g1: CARDINAL, g2: CARDINAL, g3: CARDINAL, g4: CARDINAL]; SetHostProc: TYPE = PROC [self: LarkHandle, host: Lark.Machine]; SocketProc: TYPE = PROC [self: LarkHandle, buffer: Lark.VoiceBuffer _ out1, socket: PupTypes.PupAddress]; BProc: TYPE = PROC [self: LarkHandle]; ControlRecord: TYPE = RECORD [ InGain1: InputGain, InGain2: InputGain, OutGain: OutputGain, PlayFile: PlayFileProc, Dial: DialProc, Tones: ToneProc, Tunes: TuneProc, Reset: BProc, Status: BProc, ConnStatus: BProc, Register: BProc, ToneStatus: BProc, Quit: BProc, SendAllXBar: BProc, OpenVFS: BProc, CloseVFS: BProc, Playback: PlaybackProc, Record: RecordProc, Echo: EchoProc, SetHost: SetHostProc, SetSocket: SocketProc ]; LarkDataObject: TYPE = RECORD [ in: IO.STREAM _ NIL, out: IO.STREAM _ NIL, container: Containers.Container, ts: TypeScript.TS, recordViewer: ViewerClasses.Viewer, vr: ViewRec.RecordViewer _ NIL, xbv: VTables.VTable _ NIL, cr: REF ControlRecord _ NIL, tsA, tsB: TypeScript.TS, procA, procB: PROCESS, inA, outA, inB, outB: IO.STREAM, msg: IO.STREAM _ NIL, shhh: Lark.SHHH, rName: RPC.ShortROPE _ NIL, instance: RPC.ShortROPE _ NIL, address: LarkSmarts.NetAddress, serverRname: RPC.ShortROPE _ NIL, clientRname: RPC.ShortROPE _ NIL, clientInstance: RPC.ShortROPE _ NIL, handle: LarkSmarts.SmartsHandle _ 0, model: Lark.LarkModel, registered: BOOL _ FALSE, pleaseStop: BOOL _ FALSE, process: PROCESS, tx1, tx2, tx3, rx1, rx2, rx3: Lark.ConnectionSpec, lark: LarkRpcControl.InterfaceRecord, socket: PupDefs.PupSocket _ NIL, stream: VoiceStream.Handle _ NIL, buttons: LIST OF REF BDat, cmds: LIST OF REF ANY ]; LarkHandle: TYPE = REF LarkDataObject; PlayFile: PROC [fileName: Rope.ROPE, him: PupTypes.PupAddress]; OpenVFS: BProc; CloseVFS: BProc; Playback: PlaybackProc; Record: RecordProc; END. Stewart, July 18, 1983 1:00 pm, added SetHost Stewart, December 27, 1983 4:56 pm, Cedar 5 ÄNewLark.mesa L. Stewart December 27, 1983 4:56 pm Last Edited by: Pier, April 19, 1984 4:05:27 pm PST VFS stuff VFS info housekeeping actual procedures, because it is not all in one module ʘJšœ ™ Jšœ$™$J™3J˜šÏk ˜ Jšœ œ ˜Jšœœœ˜JšœœSœ˜pJšœœ˜'Jšœ œ˜,Jšœœ ˜Jšœ œ˜Jšœœœ˜Jšœœ ˜Jšœ œœ˜Jšœœ ˜Jšœœ˜Jšœ œ ˜Jšœœ ˜J˜—Jšœ œ˜Jš˜J˜Jšœœœ_œœ œœœ˜—J˜Jšœ œ&˜5Jšœ œ˜)Jšœ œ$˜3J˜šÏnœœœ˜˜J˜—J˜J˜J˜J˜Jšœ œ˜J˜Jšœ œœ˜Jšœœ˜J˜J˜—šžœœœ˜J˜Jšœ œ˜J˜J˜J˜Jšœ œœ˜Jšœœ˜J˜J˜—Jš žœœœ œœ˜JJ˜Jšž œœœ#œ˜BJ˜Jšœ ™ J˜Jš ž œœœœ œœ˜OJ˜Jš ž œœœœœ œ˜PJ˜Jšžœœœ:œœ œœœœœœ˜ÂJ˜Jšž œœœ(˜@J˜Jšž œœœR˜iJ˜Jšžœœœ˜&J˜šœœœ˜J˜J˜J˜J˜J˜J˜J˜J˜ J˜J˜J˜J˜J˜ J˜J˜J˜J˜J˜J˜Jšœ˜J˜J˜J˜—šœœœ˜Jšœœœœ˜Jšœœœœ˜J˜ Jšœœ˜J˜#Jšœœ˜Jšœœ˜Jšœœœ˜Jšœœ˜Jšœœ˜Jšœœœ˜ Jšœœœœ˜Jšœ œ˜Jšœœ œ˜Jšœ œ œ˜J˜Jšœ œ œ˜!Jšœ œ œ˜!Jšœœ œ˜$J˜$J˜Jšœ œœ˜Jšœ œœ˜Jšœ œ˜J˜2J˜%Jšœ™Jšœœ˜ Jšœœ˜!Jšœ ™ Jšœ œœœ˜Jšœœœœ˜J˜J˜—Jšœ œœ˜&J˜Jšœ6™6J˜Jšžœœœ˜?J˜J˜J˜J˜J˜J˜Jšœ˜J˜-J˜+—…—.ô