DIRECTORY LoganBerry USING [Entry, OpenDB], RefID USING [nullID], Rope USING [ROPE]; ScriptDB: CEDAR DEFINITIONS = { Handle: TYPE = REF HandleRec; HandleRec: TYPE = RECORD [ scriptDB: LoganBerry.OpenDB_RefID.nullID, scriptFileDB: LoganBerry.OpenDB_RefID.nullID, scriptDBName: Rope.ROPE, scriptFileDBName: Rope.ROPE ]; TuneList: TYPE = LoganBerry.Entry; Header: TYPE = LoganBerry.Entry; ID: TYPE = Rope.ROPE; Error: ERROR [ec: ATOM, explanation: Rope.ROPE _ NIL]; Open: PROC [dbName: Rope.ROPE] RETURNS [handle: Handle _ NIL]; Read: PROC [handle: Handle, ropeID: ID] RETURNS [header: Header, length: INT, struct: TuneList]; Write: PROC [handle: Handle, struct: TuneList] RETURNS [ropeID: ID, length: INT]; SimpleTuneList: PROC [tuneID: VoiceTemp.TuneID, start: INT, length: INT, key: Thrush.EncryptionKey] RETURNS [list: TuneList]; NextTuneOnList: PROC [list: TuneList] RETURNS [tuneID: VoiceTemp.TuneID, start: INT, length: INT, key: Thrush.EncryptionKey, rest: TuneList]; TuneListInterval: PROC [list: TuneList, start: INT, length: INT] RETURNS [new: TuneList]; }. ΠScriptDB.mesa Copyright c 1986 by Xerox Corporation. All rights reserved. Routines for storing scripts in a database and manipulating their structure. This interface is internal to the script package. Modelled on VoiceRopeDB.mesa of June 25, 1986. Database operations Prepares the given database for service. Returns the structure of the given voice rope. Writes the voice rope information into the database. Voice rope structure Builds a tune list with a single tune's information. Returns information about the next tune on the list; assumes that list really points to a properly structured TuneList so doesn't bother to check attribute types. The rest of the list is returned so this routine can be repetitively called to get all the tunes on the list. Returns the tune list representing the structure of the voice rope interval. Warning: this operation modifies the original list! Doug Terry, June 3, 1986 3:30:54 pm PDT Created internal DB interface. changes to: DIRECTORY, VoiceRopeDB, OpenDB, ReadVoiceRope, WriteVoiceRope, SimpleTuneList, NextTuneOnList, TuneListInterval Swinehart, June 25, 1986 9:26:15 am PDT New Thrush changes to: DIRECTORY , SimpleTuneList , NextTuneOnList , TuneListInterval  Κ˜šœ ™ Icodešœ Οmœ1™J™(—K˜š œžœžœžœ˜`K™.—K˜š œžœ$žœžœ˜QK™4——™š  œžœ#žœ žœžœ˜}K™4—K˜š  œžœžœ#žœ žœ-˜K™‘—K˜š  œžœžœ žœžœ˜YK™—J˜—Jšœ˜K™™'K™Kšœ Οro™{—™'K™ Kš œ ‘ œ‘œ‘œ‘œ‘™S—K™—…—6