Hello, I just pushed several changes to non-sequencer which vastly improve drawing performance and fixes a handful of bugs as well. I'd appreciate testing and feedback.
The github fork containing these changes is here: https://github.com/Element-Green/non Some change details: Previously many note editing operations (duration/velocity drag changes, box selecting, dragging several notes, etc) were extremely slow (selecting multiple notes could take over 4 seconds on my laptop). I found that the rounded boxes that were being used for the notes were mostly the culprit, which I assume resulted in some un-accelerated code path in my video drivers. Changing the notes to rectangles resulted in a huge improvement. In addition, several changes were made to allow for note event operations to update only the portion of the interface which actually changed. Many other drawing update optimization changes were made as well. One significant change to the interface is how selected notes are drawn. Previously selected notes were drawn twice with a luminance highlight overlay. I opted to just do a color average using the selection color and draw selected notes once. This results in a color difference from the way it was previously. A simple luminance calculation could be done here, but the current new method is functional at least. Bug fixes: Fixed a scroll corruption bug, which caused notes to disappear or get corrupted. Fixed bug that prevented notes from being set to a duration of 1. Note selection operations now don't store undo state. This resulted in extra undo operations being required in unexpected situations. Bug in note move operation which used the note value for the start position. Not storing undo state for selection operations seems like a good idea to me. Anyone have a different opinion? I'm still getting familiar with using non-sequencer, so I'm not really sure what other major bugs exist. I'm sure more will be uncovered as I play with it and learn more about the user interface. If you know of any major bugs, I'd be interested to know about them. non-sequencer looks very promising and I'm dedicated to helping to improve it. Best regards, Element Green
