BluejayUtils.mesa
Last Edited by: Swinehart, September 19, 1984 9:05:53 pm PDT
DIRECTORY
Thrush USING [ Tune, IntervalSpec, IntervalSpecs, VoiceInterval, VoiceTime ];
BluejayUtils: CEDAR DEFINITIONS = {
Tune: TYPE = Thrush.Tune;
DescribeTune:
PROC[tune: Tune]
RETURNS [exists:
BOOL, size:
INT];
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.
DescribeInterval:
PROC[targetTune: Thrush.Tune, targetInterval: Thrush.VoiceInterval,
minSilence: Thrush.VoiceTime ← 1] RETURNS [exists: BOOL, intervals: Thrush.IntervalSpecs];
DeleteTune: PROC[tune: Tune] RETURNS [existed: BOOL];
NewTune: PROC RETURNS [tune: Tune];
TunesInJukebox:
PROC
RETURNS [nTunes:
INT];
Zero means Jukebox isn't open.
InitializeJukebox: PROC; -- takes a long time to run, usually.
Initialize: PROC;
Uninitialize: PROC;
}.