DIRECTORY Imager USING [Context], MusicDefs USING [Accidental, LookCommand, NotePTR, ScorePTR, SheetPTR, Time, TimeSignature], Rope USING [ROPE]; Score: CEDAR DEFINITIONS = BEGIN OPEN MusicDefs; ROPE: TYPE ~ Rope.ROPE; Initialize: PROC[score: ScorePTR, context: Imager.Context]; BuildCache: PROC[score: ScorePTR, time: Time]; Draw: PROC[score: ScorePTR, erase: BOOL _ TRUE]; Redraw: PROC[score: ScorePTR, t1, t2: Time]; Print: PROC[score: ScorePTR, splines: BOOL]; SetKey: PROC[score: ScorePTR, key: INTEGER, time1, time2: Time]; GetKey: PROC[score: ScorePTR, t: Time] RETURNS[key: INTEGER]; GetAccidental: PROC[score: ScorePTR, n: NotePTR] RETURNS[Accidental]; SetMetronome: PROC[score: ScorePTR, m: INTEGER, time1, time2: Time]; GetMetronome: PROC[score: ScorePTR, t: Time] RETURNS[metronome: INTEGER]; DrawMetronome: PROC[score: ScorePTR, metronome: INTEGER, time: Time]; SetTimeSignature: PROC[score: ScorePTR, ts: TimeSignature, time1, time2: Time]; GetTimeSignature: PROC[score: ScorePTR, t: Time] RETURNS[TimeSignature]; DrawTimeSignature: PROC[score: ScorePTR, ts: TimeSignature, time: Time]; SetStyle: PROC[score: ScorePTR, index: INTEGER, t1, t2: Time]; GetStyle: PROC[score: ScorePTR, time: Time] RETURNS[INTEGER]; SetClef: PROC[score: ScorePTR, pitch, staff: INTEGER, time: Time]; SetOctava: PROC[score: ScorePTR, pitch, staff, height: INTEGER, t1, t2: Time]; Justify: PROC[score: ScorePTR, begin, end: Time]; LogicalToPhysical: PROC[score: ScorePTR, begin, end: Time]; ScalePhysical: PROC[score: ScorePTR, n: INTEGER]; ShowLogical: PROC[score: ScorePTR, firstEvent, lastEvent: CARDINAL]; Look: PROC[score: ScorePTR, look: LookCommand, switch: BOOL_ TRUE, n: INTEGER _ 0]; AddToPitch: PROC[key, pitch, delta: INTEGER] RETURNS[INTEGER]; KeyHeight: PROC[key, pitch: INTEGER] RETURNS[INTEGER]; NormalAcc: PROC[key, pitch: INTEGER] RETURNS[Accidental]; PriorNote: PROC[score: ScorePTR, pitch, height: INTEGER, index: CARDINAL] RETURNS[NotePTR]; ShowPitch: PROC[sheet: SheetPTR, pitch: INTEGER, spelled: Accidental, key: INTEGER] RETURNS[INTEGER]; FileIn: PROC[fileName: ROPE] RETURNS[ScorePTR]; FileOut: PROC[score: ScorePTR, fileName: ROPE] RETURNS[BOOL]; FileStats: PROC[score: ScorePTR]; InitializeSynthesizer: PROC; StartListening: PROC[score: ScorePTR]; StartPlaying: PROC[score: ScorePTR, first: CARDINAL, physical: BOOL, displayCursor: PROC[score: ScorePTR, time: Time]]; StopListening: PROC[score: ScorePTR]; StopPlaying: PROC[score: ScorePTR]; Test: PROC[score: ScorePTR] RETURNS[errors: BOOL]; END. hScore.mesa Copyright (C) 1983, 1984 Xerox Corporation. All rights reserved. Author: John Maxwell Last Edited by: Maxwell, November 21, 1983 9:39 am Last Edited by: Doug Wyatt, June 16, 1984 3:14:12 pm PDT **************************************************************************** procedures **************************************************************************** key specific procedures **************************************************************************** utility procedures **************************************************************************** displayCursor may raise Piece.Overflow ʯ˜šœ ™ Jšœ@™@Jšœ™Jšœ2™2Jšœ8™8J™—šÏk ˜ Jšœœ ˜Jšœ œM˜\Jšœœœ˜J˜—Jšœœ ˜Jšœ˜Jšœ ˜J˜Jšœœœ˜J˜JšœL™LJšœ ™ JšœL™LJ˜JšÏn œœ+˜;Jšž œœ˜.Jšžœœœœ˜0Jšžœœ ˜,Jšžœœœ˜,J˜Jšžœœœ˜AJšžœœœœ˜=Jšž œœœ ˜EJ˜Jšž œœœ˜DJšž œœœ œ˜IJšž œœœ˜EJ˜Jšžœœ9˜OJšžœœœ˜HJšžœœ1˜HJ˜Jšžœœœ˜>Jšžœœœœ˜=Jšžœœ œ˜BJšž œœ(œ˜NJ˜Jšžœœ$˜1Jšžœœ$˜;Jšž œœœ˜2Jšž œœ)œ˜DJ˜Jš žœœ-œœœ˜SJ˜Jšœ™Jš ž œœœœœ˜>Jš ž œœ œœœ˜6Jšž œœ œœ ˜9Jš ž œœ!œ œœ ˜[Jš ž œœœœœœ˜eJ˜JšœL™LJšœ™JšœL™LJ˜Jšžœœ œœ ˜/Jš žœœœœœ˜=Jšž œœ˜"Jšžœœ˜Jšžœœ˜&šž œœœ œ˜EJšœœ ˜3Jšœ&™&—Jšž œœ˜%Jšž œœ˜#Jšžœœœ œ˜2J˜Jšœ˜—…— ê