This patch is based onderived from D6846 by @tintwotin, and keeps mostly the same general look regarding handles and outlines.
After some discussion on blender.chat we agree that I would look into changing a bit the outline drawing code, and find a solution for macOs not accepting openGL lines wider than 1px.Discussion between us and on the #vse channel on blender.chat then expanded significantly the scope of the patch.
Before and after: {F8397671}
___
The aim is to make it easier to distinguish strips' state, and make the vse selection drawing more consistent with the one in other parts of blender, while modernizing the look a bit.
The changes in the patch are the following:
* Strips' outlines are now 2px wide and drawn as four separate boxes (for compatibility)**Selection indication** changed towards an outline based system, this in order to easily spot the selected strips and make the video sequencer more consistent with other parts of Blender:
* Selected strips have a 2px wide outline, white for the active strip, orange for the other ones (added to the theme). Before this was indicated by darkening the strip, and use white text.
* Unselected strips have a regular 1px outline, of a darker shade of the background color.
* **Active strip** is indicated by it having a white text and, when selected, a white outline.
{F8397788}
* **Handles**:
* Handles are now smaller and drawn as semi-transparent boxes //(their active zone is still the same as before, allowing for some margin of error during mouse selection)//.
* When selected they are highlighted with the same color scheme of the outlines //(white for active strip, orange for selected strips)//.
* Strips * They are no longer darkened when selectedt drawn when the strip is locked, they nowsince they have an orange outline (added to the theme)no function in that state.
* Text color only depends on the strip background color and doesn't change based on selection{F8397787}
* **Muted strips**:
* Increased transparency to better indicate the state.
* Active strip keeps a white outline * For the same reason text color gets dimmered //(slightly brighter for regular strips, slightly darker when non-selected (added to the theme)r for the active one)//.
* **Trim numbers**:
* Outlines for non-selected strips is equal for all ones and based on the editor background * They are now drawn inside the strip, in the lower part next to the handles, in order to make it easier to understand which label belong to which handle.
* Handles * They are smaller andnow only drawn as solid boxeswn when the strip is selected, without the small triangles in the middleto have more focus on the translating strips.
* Handles follow the same color scheme of the outlines (grey for unselected * They get hidden when there is not enough horizontal space, orange or white for selected)to avoid overlappings.
While the drawing size of the handles is changed, their active zone is currently not, in order to leave some margin of error during selection.{F8397675}
Before: {F8348358}* **Text drawing** changes:
* Drawn on the top-left part of the strip.
* Drawn in the center under a certain zoom level threshold.
* Not drawn when there is not enough space //(useful for a general view of the timeline)//.
{F8397697}
* **Color strips**: A generic color is added to the theme, while the actual color data of the strip is drawn on the bottom half, when there is enough vertical space.
This in order to better distinguish them on the timeline and making so that the strip text is always visible, no matter what color the strip is.
{F8397717}
* **Sound strips**:
* When waveforms drawing is active, both text and waveforms are shown, since this has been requested by users.
* If there is not enough vertical space, waveforms (if enabled) are preferred over text.
{F8397794}
* **Transition strips**:
* Removed theme color, transitions are now composed of two triangles and use their input strips colors, since this will make them easier to recognize.
* If one of the inputs is itself a transition, a fallback grey color is used.
* If the two input strips are of the same type, the right triangle is drawn slightly darker.
{F8397722}
* **F-curves**:
* Animation curves for opacity and volume properties are now shown on the strip as darker regions.
* A flag is added to the View menu to enable this //(active by default)//.
{F8397726}
* **Effect strips**:
* Changed theme colors to better indicate categories within the effects.
* Their input strips are now highlighted when the effect strip is the active one and selected, this makes it much easier to quickly see which strips are the inputs of effect strips.
{F8397729}
* When **Multicam strips** are the active one and selected, its source channel is highlighted, since it was hard to locate it otherwise.
{F8397735}
* **Strip offsets and hold still regions**:
* Hold still regions are now always drawn if existent, with a darker shade of the strip’s background color. This makes it easier to understand that the strip is till affecting the timeline, and to read the strip's text.
* As a consequence, “Show offsets” and “Special preview” now only show the offsets.
* Offsets are highlighted when the strip is selected //(previously they were darkened)//.
{F8397751}
* **Meta strips**:
* The insides of the meta range are no longer highlighted.
* A checkerboard pattern is now drawn on the outsides of the meta range, to indicate that the content only the content inside is currently visible.
{F8397754}
* **Missing media state** is now indicated by a red line drawn on the top part of the strip, still very visible but less aggressive than the previous diagonal strips pattern.
{F8397769}
After: {F8348359}