- Shots now attempt to stay connected to each other when modifed.
-- Shots appear "connected" in the shot track so that when one moves, the previous one shrinks and next next shot grows.
-- Holes are filled for deleted shots
- Various low level shot rendering fixes
[CL 2643816 by Matt Kuhlenschmidt in Main branch]
Top level key area nodes were not being handled correctly by the entity walker. Changed HandleKeyAreaNode to require the owner node for bounds testing purposes.
[CL 2643401 by Andrew Rodham in Main branch]
- Added FSequencerSnapField to simplify snapping calculations and related code.
- Formalised IMarqueeVisitor as a more generic ISequencerEntityVisitor that can be used to walk a range of visible sequencer entities
- Updated FMoveKeys drag operation to use FSequencerSnapField and corrected snapping code
- Track area geometry is now cached in SSequencerTrackArea to simplify SSequencer::GetVirtualTrackArea
- Fixed grouped keys swallowing each other when dragging other keys over the top
[CL 2643241 by Andrew Rodham in Main branch]
Conceptual changes:
- SSection is no longer responsible for drag operations. This alleviates mouse capture fighting and event ordering issues to do with both SSequencerTrackArea and SSection wanting to potentially handle drag-like events.
- ISequencerEditTool can be implemented to define interaction logic for the sequencer as a whole.
- There is only ever one tool active at a time. This is set by SSequencer::SetEditTool.
- Edit tools are responsible for handling mouse input based on the current environment
- Sequencer hotspots define particular points of interest on the sequencer UI such as keys, sections etc. Hotspots can optionally define a drag protocol. This may or may not be honored by the current edit tool.
- FVirtualConvertor has been formalised as FVirtualTrackArea which provides logic for converting between virtual and physical track area space, as well as hit-testing logic.
We currently have two tools: move (V) and marquee (M) selection. Marquee selection has two modes (key and section selection) which can be toggled with the toolbar button, or by pressing the hotkey multiple times.
[CL 2640139 by Andrew Rodham in Main branch]