--Author: John Maxwell
--last modified: October 6, 1981 2:04 PM

DIRECTORY MusicDefs: FROM "MusicDefs";

Voice: DEFINITIONS =
BEGIN
OPEN MusicDefs;

StatePTR:TYPE = POINTER TO State;
State:TYPE = ARRAY[0..10) OF RECORD[found,grace,graced:BOOLEAN,duration,sum:Time];

Check:PROCEDURE;
Correct:PROCEDURE[time1,time2:Time];
Set:PROCEDURE[voice:CARDINAL]; -- takes selection as a parameter

--procedures for enumerating voices
ClearState:PROCEDURE[vs:StatePTR]=INLINE {vs↑←ALL[[FALSE,FALSE,FALSE,0,0]]};
SetState:PROCEDURE[vs:StatePTR,s:SyncPTR,
m:INTEGER←128,separate:BOOLEAN←FALSE] RETURNS[max:Time];

END.