To implement a consistent notification mechanism whereby Boundary (User Interface) objects make changes directly to Entity (Document) objects and use a notification (Observer) mechanism within the Entities to inform the rest of the system of changes.
To remove the call to TrackButtons::slotUpdateTracks() in TrackEditor::paintEvent(). At one point, this resulted in a substantial performance improvement when recording MIDI. However, this is no longer the case. So we are now pursuing this goal in the interests of code quality. We'll get back to MIDI record performance once this project is complete.
This project is limited to those areas of the system touched by TrackButtons.