DIRECTORY Rope, ViewVoiceRope, VoiceRope; ViewVoiceRopeImpl: CEDAR PROGRAM IMPORTS VoiceRope EXPORTS ViewVoiceRope ~ BEGIN OPEN ViewVoiceRope; handle: VoiceRope.Handle; Open: PUBLIC PROC [voiceRopeDBName: Rope.ROPE _ NIL, voiceRopeDBInstance: Rope.ROPE _ NIL, localName: Rope.ROPE _ NIL] RETURNS [] ~ { handle _ VoiceRope.Open[voiceRopeDBName, voiceRopeDBInstance, localName]; }; Record: PUBLIC PROC [] RETURNS [voiceRope: ID] ~ { voiceRope _ VoiceRope.Record[handle].ropeID; }; Play: PUBLIC PROC [refID: Rope.ROPE_NIL, refIDType: Rope.ROPE_NIL, voiceRope: ID_NIL, queueIt: BOOL_TRUE, failOK: BOOL_FALSE, wait: BOOL_FALSE] RETURNS [] ~ { VoiceRope.Play[handle, Vr[voiceRope], queueIt, failOK, wait]; }; Stop: PUBLIC PROC [] RETURNS [] ~ { VoiceRope.Stop[handle]; }; Retain: PUBLIC PROC [voiceRope: ID, refID: Rope.ROPE, refIDType: Rope.ROPE] RETURNS [] ~ { VoiceRope.Retain[handle, Vr[voiceRope], refID, refIDType]; }; Forget: PUBLIC PROC [refID: Rope.ROPE, refIDType: Rope.ROPE] RETURNS [] ~ { VoiceRope.Forget[handle, refID, refIDType]; }; Cat: PUBLIC PROC [vr1, vr2, vr3, vr4, vr5: ID _ NIL] RETURNS [new: ID] ~ { new _ VoiceRope.Cat[handle, Vr[vr1], Vr[vr2], Vr[vr3], Vr[vr4], Vr[vr5]].ropeID; }; Substr: PUBLIC PROC [vr: ID, start: INT _ 0, len: INT _ LAST[INT]] RETURNS [new: ID] ~ { new _ VoiceRope.Substr[handle, Vr[vr], start, len].ropeID; }; Replace: PUBLIC PROC [vr: ID, start: INT _ 0, len: INT _ LAST[INT], with: ID _ NIL] RETURNS [new: ID] ~ { new _ VoiceRope.Replace[handle, Vr[vr], start, len, Vr[with]].ropeID; }; Length: PUBLIC PROC [vr: ID] RETURNS [len: INT] ~ { len _ VoiceRope.Length[handle, Vr[vr]]; }; DescribeRope: PUBLIC PROC [vr: ID, minSilence: INT _ -1] RETURNS [noise: VoiceRope.IntervalSpecs] ~ { noise _ VoiceRope.DescribeRope[handle, Vr[vr], minSilence]; }; Vr: PROC [id: ID] RETURNS [vr: VoiceRope.VoiceRope] ~ { IF id = NIL THEN vr _ NIL ELSE vr _ NEW[VoiceRope.VoiceRopeInterval _ [id, 0, LAST[INT]]]; }; END. ΦViewVoiceRopeImpl.mesa Copyright c 1986 by Xerox Corporation. All rights reserved. Doug Terry, April 9, 1986 9:48:04 pm PST Solely to use ViewRec for testing voice ropes. Doug Terry, April 1, 1986 4:30:06 pm PST changes to: DIRECTORY, ViewVoiceRopeImpl, IMPORTS, EXPORTS, ~, Open, Record, Play, Stop, Retain, Forget, Cat, Substr, Replace, Length Doug Terry, April 1, 1986 4:30:33 pm PST changes to: DIRECTORY, ViewVoiceRopeImpl, IMPORTS, EXPORTS, ~, Open, Record, Play, Stop, Retain, Forget, Cat, Substr, Replace, Length, END Doug Terry, April 9, 1986 8:50:58 pm PST changes to: Record, Play, Cat, Substr, Replace, Length, DescribeRope, Retain, Vr Doug Terry, April 9, 1986 9:48:04 pm PST changes to: Vr Κ-˜codešœ™Kšœ Οmœ1™