DIRECTORY Jukebox USING [ TuneID, IntervalSpec, VoiceTime ]; BluejayUtils: CEDAR DEFINITIONS = { TuneID: TYPE = Jukebox.TuneID; DescribeTune: PROC[tuneID: TuneID] RETURNS [exists: BOOL, size: INT]; DescribeInterval: PROC[intervalSpec: Jukebox.IntervalSpec, minSilence: Jukebox.VoiceTime _ 1] RETURNS [ exists: BOOL, intervals: LIST OF Jukebox.IntervalSpec]; DeleteTune: PROC[tuneID: TuneID] RETURNS [existed: BOOL]; NewTune: PROC RETURNS [tuneID: TuneID]; TunesInJukebox: PROC RETURNS [nTunes: INT]; InitializeJukebox: PROC; -- takes a long time to run, usually. Initialize: PROC; Uninitialize: PROC; }. †BluejayUtils.mesa Last Edited by: Swinehart, June 10, 1986 8:53:12 am PDT Doug Terry, July 30, 1986 2:50:38 pm PDT size is in chirps, undefined if exists=FALSE Describe the loud and silence intervals within the specified interval, by providing a list of the loud ones. Implementation tries to keep things unlocked; nonexistence of an interval might arise due to tunes in transition. MinSilence is the smallest silence interval to be considered significant, except that leading and trailing intervals are always significant. Zero means Jukebox isn't open. Doug Terry, July 30, 1986 2:50:38 pm PDT changes to: DIRECTORY, DescribeInterval ΚM˜J™™7Icode™(—J™šΟk ˜ Jšœœ%˜2—J˜Jšœœ˜#˜Jšœœ˜J˜—š Οn œœœ œœ˜EJšœ'™,—J˜J™ίJ™ŒJ˜šžœœ$˜:šœ#œ˜,Jšœœ œœ˜7—J™—Jšž œœœ œ˜9J˜Jšžœœœ˜'J˜šžœœœ œ˜+J™—J˜JšžœœΟc%˜>J˜Jšž œœ˜Jšž œœ˜J˜J˜™(Kšœ Οr™'—K™—…—h;