You are here

Add new comment

Ah yes - the final result here is exactly what I would expect to see, apart from the truncated final note. OK, it's a rather bizarre starting point, but the logic of what I was suggesting would produce this result. So the system is almost working as intended.

Let us say that the user selects a number of notes. (Whether or not there are other unselected notes occurring at the same time is irrelevant.)

Let us number these notes from 1 to N, in chronological order of their NoteOn events.

Then:
NoteOff for note 1 should be set to occur at the same time as NoteOn for note 2.
NoteOff for note 2 should be set to occur at the same time as NoteOn for note 3.
...
NoteOff for note (N-1) should be set to occur at the same time as NoteOn for note N.
NoteOff for note N should not be changed.

Similarly for the articulated effect: here, we would need to specify a time interval (either positive or negative), and each note's NoteOff event should be set to occur at that interval before the next note's NoteOn. (Or you might want to reverse the effect of the sign of the time interval, but for me positive for a gap and negative for an overlap seems correct, since the overlap option would be much less used, I imagine, than the gap option.)