Closed gogins closed 2 years ago
There should be something like a fix_negative_duration
method that is used everywhere, and an option not to use it.
As the [] operator is not virtual with respect to Eigen::VectorXd
, it would potentially be inconsistent to call correct_negative_duration
from there. Consequently, I will call it from the Score class.
I have done this as far as I can see. There may still be potential inconsistencies, whenever an Event iterator is used to transform the Events.
Make it so that if duration is negative, the onset of the duration is made the new onset (start time) of the note, and the note still has the same absolute duration.
Logically, it should still be possible to NOT do this.