When requested by sending the message ``makescore'' to the detector, those data are read by the function detector_create_score_from_file(), which is defined as a standard jmax inlet method (for more details about jMax and jMax objects, see [FD99], [Dec01] and the jMax documentation). Data are read on a classical way, using standard input/output functions:
BEGIN
Open file
get first event type
while ( not END_OF_FILE and enough space)
switch (event type)
case TYPE_NOTE:
get (pitch)
get (duration upper value)
get (duration lower value)
get (accent)
get (measure number)
get (beat number)
get (fraction)
calculate duration in ms
calculate start time in ms
add event to jMax track
break;
case TEMPO_CONTROLER
LEGATO_PARAM_CONTROLER
DURATION_TOL_CONTROLER
DYNAMICS_CONTROLER:
calculate time in ms
get(controler value)
break;
case TIME_SIGNATURE_CONTROLER:
calculate time in ms
get(upper value)
get(lower value)
break;
//end of switch
//end of while
close file
END