Transition to QGraphicsView.
Lovely. All this work we put in and there were classes that did the things we needed it to all along.
QGraphicsView and QGraphicsScene
The QGraphicsView class provides a widget for displaying the contents of a QGraphicsScene. The QGraphicsScene class provides a surface for managing a large number of 2D graphical items.
QGraphicsView inherits QAbstractScrollArea and has options for avoiding repaints and such, and QGraphicsScene has item holders, caches, adding rects, selections, and grouping.
Additionally, QAbstractScrollArea::setViewportMargins() would be helpful, as long as we can figure out what they mean by putting widgets inside the margins.
We need to transition to this, unfortunately, if we ever plan to progress past this repainting hell which, as I found out, is still happening even after my optimizations.
I am working on it as we speak.
- [x] Basic visuals
- [x] Selection (partial, built-in feature)
- [ ] Moving and Snapping
- [ ] Antialiasing
- [ ] Creation/Deletion
- [ ] Hiding/showing layers
- [ ] Per channel/per track colors
- [ ] Syncing changes with
MidiFile - [ ] Convert
MiscWidgetas well
Progress! It is very messy, though.
Also, I found my display adapter, so I can hook up my MacBook to my external monitor, keyboard and mouse, so I can be more efficient.