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

Reply via email to