<> <> <> <> <<>> <> <<>> DIRECTORY Rope USING [ROPE], VoiceRopeServer USING [VoiceRope, VoiceRopeInterval, IntervalSpecs]; VoiceRope: CEDAR DEFINITIONS = { <<>> ROPE: TYPE ~ Rope.ROPE; <<>> <> <<>> VoiceRope: TYPE = VoiceRopeServer.VoiceRope; VoiceRopeInterval: TYPE = VoiceRopeServer.VoiceRopeInterval; <> <> <> <> <> <<];>> <<>> IntervalSpecs: TYPE = VoiceRopeServer.IntervalSpecs; <> <> <<>> <> Handle: TYPE = REF HandleRec; HandleRec: TYPE = RECORD [ -- Used to be opaque, but changed for now <> <> Complain: PROC[complaint: ROPE] ]; Open: PROC [voiceRopeDBName: ROPE _ NIL, localName: ROPE _ NIL, Complain: PROC[complaint: ROPE] _ NIL] RETURNS [handle: Handle]; <> <> Record: PROC[handle: Handle_NIL] RETURNS [voiceRope: VoiceRope]; <> Play: PROC[handle: Handle_NIL, voiceRope: VoiceRope, queueIt: BOOL_TRUE, failOK: BOOL_FALSE, wait: BOOL_FALSE]; <> < play after all other record/playback requests are satisfied.>> < playing is optional; leave connection open if tune doesn't exist.>> < wait until things appear to be started properly, or have failed.>> Stop: PROC[handle: Handle _ NIL]; <> <<>> <> <> <<>> <> <<>> InterestClass: TYPE ~ ROPE; Retain: PROC [handle: Handle _ NIL, vr: VoiceRope, class: InterestClass, refID: ROPE, other: ROPE _ NIL]; <> Forget: PROC [handle: Handle _ NIL, vr: VoiceRope, class: InterestClass, refID: ROPE]; <> GetByInterest: PROC [handle: Handle _ NIL, class: InterestClass, refID: ROPE] RETURNS [voiceRope: VoiceRope]; <> <> <> Cat: PROC [handle: Handle _ NIL, vr1, vr2, vr3, vr4, vr5: VoiceRope _ NIL] RETURNS [new: VoiceRope]; <> Substr: PROC [handle: Handle _ NIL, vr: VoiceRope, start: INT _ 0, len: INT _ LAST[INT]] RETURNS [new: VoiceRope]; <> Replace: PROC [handle: Handle _ NIL, vr: VoiceRope, start: INT _ 0, len: INT _ LAST[INT], with: VoiceRope _ NIL] RETURNS [new: VoiceRope]; <> Length: PROC [handle: Handle _ NIL, vr: VoiceRope] RETURNS [len: INT]; <> <> DescribeRope: PROC [handle: Handle _ NIL, vr: VoiceRope, minSilence: INT _ -1] RETURNS [noise: IntervalSpecs]; <<>> <> }. <> <> <> <> <> <> <> <> <> <> <> <> <> <>