<> <> <> <> <> DIRECTORY MusicDefs USING [BeamHeapPTR, BeamPTR, ScorePTR, SheetPTR, SyncPTR, Time, VariousPTR]; Beam: CEDAR DEFINITIONS = BEGIN OPEN MusicDefs; Draw: PROC[score: ScorePTR, b: BeamPTR] RETURNS[INTEGER, INTEGER]; Drawn: PROC[score: ScorePTR, b: BeamPTR] RETURNS[BOOLEAN]; AddItem: PROC[score: ScorePTR, beam: BeamPTR, item: VariousPTR]; RemoveItem: PROC[score: ScorePTR, beam: BeamPTR, item: VariousPTR, free: BOOLEAN _ TRUE]; <> <> New: PROC[score: ScorePTR, length: CARDINAL] RETURNS[beam: BeamPTR]; Free: PROC[score: ScorePTR, b: BeamPTR]; <> Grace: PROC[b: BeamPTR] RETURNS[BOOLEAN]; InVoice: PROC[b: BeamPTR, voice: CARDINAL] RETURNS[BOOLEAN]; SetStems: PROC[sheet: SheetPTR, b: BeamPTR]; SetSyncs: PROC[b: BeamPTR]; GetSyncs: PROC[b: BeamPTR] RETURNS[sync1, sync2: SyncPTR]; <> Sort: PROC[b: BeamPTR]; GetHeapIndex: PROC[heap: BeamHeapPTR, p: BeamPTR] RETURNS[NAT]; Height: PROC[sheet: SheetPTR, b: BeamPTR, time: Time] RETURNS[h: INTEGER]; Length: PROC[b: BeamPTR] RETURNS[CARDINAL] = INLINE {RETURN[b.length]}; time: PROC[chord: VariousPTR] RETURNS[Time]; END.