timeline: Add clip markers display and management
This lays ground for implementing the beat detection feature, which will heavily utilize elements implemented here.
Mostly finished. Looking for feedback, both UX- and code-quality wise, as I know there are lots of things to possibly improve in that regard.
Important: depends on changes coming in the 1.20 GES release.
Short description:
- Adds
ClipMarkersBox, inheriting from the already existing (timeline)MarkersBox, which makes it possible to display and manage (add / move / remove) markers on each clip (or more precisely - source). - Clips are displayed per-source, so audio markers are separate from the video ones, for example.
-
MarkerListManageris introduced to act as central point of handling marker lists on a given element - initializes a default list on the source it's attached to, exposes methods for adding / removing lists, changing their snappability, as well as takes care of changing the active one (turning off snapppability when a list is not visible, for example) - Adds necessary settings (
MarkerProperties, leveragingMarkerListManager) to manage which list we want to display (or hide, if we don't need any markers), change whether we want them to be snappable, etc. - Moves marker-seeking / adding keyboard shortcut actions to the
TimelineContainer, which takes into account all selected clips when performing an action, or focuses on the timeline markers if no clips are selected.
Edited by Piotr Brzeziński