onTimeOffset moving a note start before the beginning of the score causes corruption during MIDI export

• Oct 14, 2014 - 10:32
Type
Functional
Severity
S4 - Minor
Status
active
Project

Steps:
1- Open attached file (1.3 file);
2- Export to midi;
3- Open the midi file -> crash (corrupted midi?)

Windows 8.1, commit 753d232

Notes:
Based on one of the files from #35276: Exported MIDI doesn't feature all tracks.
The problem seems to be related to the user-defined onTimeOffset and offTimeOffset properties set for the note. I couldn't find a way to edit these parameters in 2.0Nightly; are these parameters even imported correctly?

Attachment Size
GhostsHighNoon2_reduced.mscx 4.21 KB

Comments

They are *supposed* to be imported correctly - I've seen the code - but I haven't tested it. They are not directly supported for editing in 2.0, though - instead, there is a concept of note events (might be multiple events for each note, as for trills or tremolo) each with a "start" and "len" that at one time you could edit in the "chord articulation editor", now the "pianoroll editor" except it is disabled by default apparently. So it's unclear to me what the plan is for 2.0.

Title onTimeOffset from 1.3 file can cause corruption during MIDI export onTimeOffset moving a note start before the beginning of the score causes corruption during MIDI export

Thank you Marc for the information, I managed to reproduce the bug from scratch:
1- Create a new score;
2- Add 1/4 note at the beginning of the score;
3- Open Pianoroll Editor by right-clicking on the staff;
4- Select the note event and set onTime to a negative value (at least -3);
5- Export to MIDI;
6- Open the MIDI file -> crash since the MIDI is corrupted!

Windows 8.1, commit d175629

Notes:
The note with the negative onTime does not play when pressing play, since its start event happens before the beginning of the score.