--Author: John Maxwell
--last modified: October 15, 1981 9:17 AM

DIRECTORY
MusicDefs: FROM "MusicDefs";

Note: DEFINITIONS IMPORTS MusicDefs =
BEGIN
OPEN MusicDefs;

default:INTEGER = 1000;

Delete:PROCEDURE[n:NotePTR,free:BOOLEAN];
Draw:PROCEDURE[n:NotePTR,stem:INTEGER←default];
DrawHead:PROCEDURE[n:NotePTR,x,y,dotX:INTEGER];
DrawTie:PROCEDURE[n:NotePTR];
Duration:PROCEDURE[n:NotePTR,metrenome:INTEGER] RETURNS[Time];
GetBackTie:PROCEDURE[n:NotePTR] RETURNS[NotePTR];
SetAccidental:PROCEDURE[n:NotePTR,a:Accidental];
SetEmbellishment:PROCEDURE[n:NotePTR,e:Embellishment];

-- inline procedures

Delta:PROCEDURE[n:NotePTR] RETURNS[INTEGER] =INLINE
{IF show.display#graphical THEN RETURN[0] ELSE
RETURN[n.delta + (IF FindChord[n]=NIL THEN 0 ELSE FindChord[n].delta)]};

FindChord:PROCEDURE[n:NotePTR] RETURNS[c:ChordPTR] = INLINE
{RETURN[n.chord]};

GetSyncIndex:PROCEDURE[a:SyncPTR,p:NotePTR] RETURNS[CARDINAL] = INLINE
{FOR i:CARDINAL IN [0..syncLength) DO IF a.event[i]=p THEN RETURN[i]; ENDLOOP; ERROR};

Width:PROC[n:NotePTR] RETURNS[INTEGER] = INLINE
{RETURN[IF n.grace THEN 6 ELSE IF n.value=whole THEN 10 ELSE 8]};

END..