<> <> <> <> <> DIRECTORY MusicDefs; Beam: CEDAR DEFINITIONS = BEGIN OPEN MusicDefs; Add: PROC[beam: BeamPTR, x: VariousPTR]; AddBeam: PROC[b: BeamPTR, new: BeamPTR] ~ INLINE { Add[b, new] }; AddChord: PROC[b: BeamPTR, c: ChordPTR] ~ INLINE { Add[b, c] }; AddNote: PROC[b: BeamPTR, n: NotePTR] ~ INLINE { Add[b, n] }; Remove: PROC[beam: BeamPTR, n: NotePTR, c: ChordPTR, b: BeamPTR]; SetStems: PROC[b: BeamPTR]; SetSyncs: PROC[b: BeamPTR]; Sort: PROC[b: BeamPTR]; Grace: PROC[b: BeamPTR] RETURNS[BOOL]; InVoice: PROC[b: BeamPTR, voice: NAT] RETURNS[BOOL]; Draw: PROC[b: BeamPTR] RETURNS[INTEGER, INTEGER]; Drawn: PROC[b: BeamPTR] RETURNS[BOOL]; <<>> <<(formerly) inline procedures>> GetHeapIndex: PROC[p: BeamPTR] RETURNS[NAT]; Height: PROC[b: BeamPTR, time: Time] RETURNS[h: INTEGER]; Length: PROC[b: BeamPTR] RETURNS[NAT]; time: PROC[chord: VariousPTR] RETURNS[Time]; END.