DIRECTORY Rope USING [ROPE], VoiceRope; ViewVoiceRope: CEDAR DEFINITIONS = { ID: TYPE = Rope.ROPE; Open: PROC [ voiceRopeDBName: Rope.ROPE _ NIL, localName: Rope.ROPE _ NIL ] RETURNS[--handle: Handle--]; Record: PROC[--handle: Handle_NIL--] RETURNS [voiceRope: ID]; Play: PROC[--handle: Handle_NIL,-- voiceRope: ID, queueIt: BOOL_TRUE, wait: BOOL_FALSE]; Stop: PROC[--handle: Handle--]; Retain: PROC [--handle: Handle _ NIL,-- vr: ID, class: Rope.ROPE, refID: Rope.ROPE, other: Rope.ROPE _ NIL]; Forget: PROC [--handle: Handle _ NIL,-- vr: ID, class: Rope.ROPE, refID: Rope.ROPE]; GetByInterest: PROC [--handle: Handle _ NIL,-- class: Rope.ROPE, refID: Rope.ROPE] RETURNS [voiceRope: ID]; Cat: PROC [--handle: Handle,-- vr1, vr2, vr3, vr4, vr5: ID _ NIL] RETURNS [new: ID]; Substr: PROC [--handle: Handle,-- vr: ID, start: INT _ 0, len: INT _ LAST[INT]] RETURNS [new: ID]; Replace: PROC [--handle: Handle,-- vr: ID, start: INT _ 0, len: INT _ LAST[INT], with: ID _ NIL] RETURNS [new: ID]; Length: PROC [--handle: Handle,-- vr: ID] RETURNS [len: INT]; DescribeRope: PROC [--handle: Handle,-- vr: ID, minSilence: INT _ -1] RETURNS [noise: VoiceRope.IntervalSpecs]; }. ΔViewVoiceRope.mesa Copyright Σ 1986, 1987 by Xerox Corporation. All rights reserved. Last Edited by: Swinehart, January 31, 1987 2:24:57 pm PST Polle Zellweger (PTZ) July 21, 1987 12:09:42 pm PDT Doug Terry, July 1, 1986 9:56:00 am PDT Solely for use with ViewRec. If voiceRopeDBName or localName is omitted, a default based on the user profile choice of Thrush Server is invented. If Complain is omitted, Log.Problem[...$Finch] is used. See VoiceDB for meaning of the names. In all the routines that follow, if handle is omitted, one will be invented using all the defaults. Creating and playing voice ropes Records a tune, registers it in the VoiceDB, returns its ID. NIL return value indicates that something went wrong. Play a specified voice rope. The boolean arguments are interpreted as follows: queueIt => play after all other record/playback requests are satisfied. wait => wait until things appear to be started properly, or have failed. Stops any recording or playback in progress. Interests in voice ropes Registers a new interest in the voice rope. The voice rope will be retained until either a corresponding Forget is done or the class' garbage collection process determines that the voice rope is no longer referenced, e.g. refID no longer exists. Taken together, the vr, class, and refID must be unique. Repeated calls of Retain with the same parameters (ignoring other) will only register a single interest. The specified refID of the specified class drops its interest in the voice rope. The voice rope is not necessarily deleted, however, since other interests in the same voice rope may exist. Returns any voice rope that is of interest to the given class and refID; returns NIL if no such voice rope exists. N.B.: System noises, like Beeps and intolerably cute rollback tunes are indexed in the interest database as refID's like "beep", "rollback", and so on, under the class "SysNoises". Editing voice ropes Information about voice ropes Fetch: PROC [--handle: Handle,-- vr: ID, index: INT] RETURNS [VoiceSample]; Swinehart, January 30, 1986 9:34:42 am PST Created from WalnutVoiceImpl routines; voice message facilities, without Walnut specifics Doug Terry, March 22, 1986 1:32:03 pm PST Changed recording and playback routines to deal in voice ropes instead of tunes; upgraded interest management; added facilities for editing voice ropes. Doug Terry, March 22, 1986 3:59:22 pm PST changes to: VoiceRope, Record, Play, Retain, Forget, Cat, Substr, Replace, Length Doug Terry, April 1, 1986 4:16:01 pm PST changes to: ViewVoiceRope, Record, Play, Stop, Retain, Forget, Cat, Substr, Replace, Length Doug Terry, April 9, 1986 8:53:37 pm PST changes to: DescribeRope, DIRECTORY Doug Terry, June 16, 1986 11:36:27 am PDT changes to: ViewVoiceRope, Record, Play, Stop, Retain, Forget, GetByInterest, Cat, Substr, Replace, Length Doug Terry, July 1, 1986 9:56:00 am PDT changes to: ViewVoiceRope Polle Zellweger (PTZ) July 21, 1987 12:09:42 pm PDT changes to: Play Κ>˜šœ™IcodešœB™BJ™:K™3K™'—J™J™J™šΟk œœœ ˜'J˜—šœœ œ˜%J˜šœœœ˜J™—šΟnœœ˜ JšœΦ™ΦJšœœœ˜!Jšœœ˜J˜JšœΟcœ˜—J˜J™c—head™ š žœœŸœœ œ˜=J™