Each error must be stored somewhere if we want to print a report at the end of the play. For each one, we need to know the error type, the note where the error has been done, and the ``value'' of the error (played pitch for a wrong note, time offset for a rhythm error...).
Errors that refer to more than one note like general dynamic errors need to refer to 2 indexes: note where the error begins, and note where the error stops.
The following structure has been implemented to store performed errors:
The main structure vmt_t contains an array of error_t. This array is filled on each new detected (and classified) error, and when the report is printed, all the data are got from this array.