[Bf-blender-cvs] [271231f58ee] master: VSE: Strip drawing improvements

Richard Antalik noreply at git.blender.org
Thu Mar 19 00:46:22 CET 2020


Commit: 271231f58ee376b576d72e3ecdb68899bb84d724
Author: Richard Antalik
Date:   Thu Mar 19 00:24:09 2020 +0100
Branches: master
https://developer.blender.org/rB271231f58ee376b576d72e3ecdb68899bb84d724

VSE: Strip drawing improvements

This patch include changes:
- Thicker and clearer selection indication
- Slimmer handles
- More transparent muted strips
- Trim frame number is drawn inside the strip
- Strip text is drawn in upper part of strip
- Color strips now have specific color, with chosen color drawn under strip text
- Transition strip will use color of input strips showing direction of transition
- Selecting effect strip will highlight input strips
- Selecting multicam strips will highlight target channel
- Missing media state is now indicated by a red line drawn on the top part of the strip
- A checkerboard pattern is now drawn on the outsides of the meta range
- Hold still regions are now always drawn if existent, with a darker shade of the strip’s background color

Author: Alessio Monti di Sopra <a.monti>

Reviewed By: ISS

Differential Revision: https://developer.blender.org/D6883

===================================================================

M	release/datafiles/userdef/userdef_default_theme.c
M	release/scripts/presets/interface_theme/blender_light.xml
M	source/blender/blenkernel/intern/sequencer.c
M	source/blender/blenloader/intern/versioning_userdef.c
M	source/blender/editors/include/UI_resources.h
M	source/blender/editors/interface/resources.c
M	source/blender/editors/space_sequencer/CMakeLists.txt
M	source/blender/editors/space_sequencer/sequencer_draw.c
M	source/blender/editors/space_sequencer/sequencer_edit.c
M	source/blender/editors/space_sequencer/sequencer_select.c
M	source/blender/makesdna/DNA_userdef_types.h
M	source/blender/makesrna/intern/rna_userdef.c

===================================================================

diff --git a/release/datafiles/userdef/userdef_default_theme.c b/release/datafiles/userdef/userdef_default_theme.c
index f87e6e9d86d..cc03d870137 100644
--- a/release/datafiles/userdef/userdef_default_theme.c
+++ b/release/datafiles/userdef/userdef_default_theme.c
@@ -641,13 +641,17 @@ const bTheme U_theme_default = {
     .facedot_size = 4,
     .movie = RGBA(0x4d6890ff),
     .movieclip = RGBA(0x8f4c4cff),
+    .mask = RGBA(0x666666ff),
     .image = RGBA(0x8f744bff),
     .scene = RGBA(0x828f50ff),
     .audio = RGBA(0x4c8f8fff),
-    .effect = RGBA(0x598f4cff),
+    .effect = RGBA(0x514a73ff),
     .transition = RGBA(0x8f4571ff),
     .meta = RGBA(0x5b4d91ff),
     .text_strip = RGBA(0x824c8fff),
+    .color_strip = RGBA(0x8f8f8fff),
+    .active_strip = RGBA(0xd9d9d9ff),
+    .selected_strip = RGBA(0xff8f0dff),
     .gp_vertex_size = 3,
     .gp_vertex_select = RGBA(0xff8500ff),
     .anim_preview_range = RGBA(0xa14d0066),
@@ -810,6 +814,7 @@ const bTheme U_theme_default = {
     .vertex_size = 3,
     .outline_width = 1,
     .facedot_size = 4,
+    .grid_levels = 2,
     .syntaxl = RGBA(0x565656ff),
     .syntaxs = RGBA(0x975b5bff),
     .syntaxb = RGBA(0xccb83dff),
@@ -827,7 +832,6 @@ const bTheme U_theme_default = {
     .nodeclass_pattern = RGBA(0x6c696fff),
     .nodeclass_layout = RGBA(0x6c696fff),
     .movie = RGBA(0x1a1a1acc),
-    .grid_levels = 2,
     .gp_vertex_size = 3,
     .gp_vertex = RGBA(0x97979700),
     .gp_vertex_select = RGBA(0xff8500ff),
diff --git a/release/scripts/presets/interface_theme/blender_light.xml b/release/scripts/presets/interface_theme/blender_light.xml
index 89c88757852..fb0f730fa6e 100644
--- a/release/scripts/presets/interface_theme/blender_light.xml
+++ b/release/scripts/presets/interface_theme/blender_light.xml
@@ -779,10 +779,13 @@
         image_strip="#8f744b"
         scene_strip="#828f50"
         audio_strip="#4c8f8f"
-        effect_strip="#598f4c"
-        transition_strip="#8f4571"
+        effect_strip="#4c456c"
         meta_strip="#5b4d91"
+        mask_strip="#8f5656"
         text_strip="#824c8f"
+        color_strip="#8f8f8f"
+        active_strip="#d9d9d9"
+        selected_strip="#ff6a00"
         frame_current="#5680c2"
         time_scrub_background="#292929e6"
         keyframe="#ff8500"
diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c
index a11326ef099..b5e2b96d239 100644
--- a/source/blender/blenkernel/intern/sequencer.c
+++ b/source/blender/blenkernel/intern/sequencer.c
@@ -806,14 +806,6 @@ void BKE_sequence_calc_disp(Scene *scene, Sequence *seq)
   seq->startdisp = seq->start + seq->startofs - seq->startstill;
   seq->enddisp = seq->start + seq->len - seq->endofs + seq->endstill;
 
-  seq->handsize = 10.0; /* 10 frames */
-  if (seq->enddisp - seq->startdisp < 10) {
-    seq->handsize = (float)(0.5 * (seq->enddisp - seq->startdisp));
-  }
-  else if (seq->enddisp - seq->startdisp > 250) {
-    seq->handsize = (float)((seq->enddisp - seq->startdisp) / 25);
-  }
-
   if (seq->type == SEQ_TYPE_META) {
     seq_update_sound_bounds_recursive(scene, seq);
   }
diff --git a/source/blender/blenloader/intern/versioning_userdef.c b/source/blender/blenloader/intern/versioning_userdef.c
index 205106d7820..0f749785a47 100644
--- a/source/blender/blenloader/intern/versioning_userdef.c
+++ b/source/blender/blenloader/intern/versioning_userdef.c
@@ -207,6 +207,10 @@ static void do_versions_theme(const UserDef *userdef, bTheme *btheme)
    */
   {
     /* Keep this block, even when empty. */
+    FROM_DEFAULT_V4_UCHAR(space_sequencer.active_strip);
+    FROM_DEFAULT_V4_UCHAR(space_sequencer.selected_strip);
+    FROM_DEFAULT_V4_UCHAR(space_sequencer.color_strip);
+    FROM_DEFAULT_V4_UCHAR(space_sequencer.mask);
   }
 
 #undef FROM_DEFAULT_V4_UCHAR
diff --git a/source/blender/editors/include/UI_resources.h b/source/blender/editors/include/UI_resources.h
index c1de697b0c5..7e510edd95b 100644
--- a/source/blender/editors/include/UI_resources.h
+++ b/source/blender/editors/include/UI_resources.h
@@ -205,10 +205,12 @@ typedef enum ThemeColorID {
   TH_SEQ_SCENE,
   TH_SEQ_AUDIO,
   TH_SEQ_EFFECT,
-  TH_SEQ_TRANSITION,
   TH_SEQ_META,
   TH_SEQ_TEXT,
   TH_SEQ_PREVIEW,
+  TH_SEQ_COLOR,
+  TH_SEQ_ACTIVE,
+  TH_SEQ_SELECTED,
 
   TH_EDGE_SHARP,
   TH_EDITMESH_ACTIVE,
diff --git a/source/blender/editors/interface/resources.c b/source/blender/editors/interface/resources.c
index 4d8bfe6b418..6e18352bad3 100644
--- a/source/blender/editors/interface/resources.c
+++ b/source/blender/editors/interface/resources.c
@@ -665,9 +665,6 @@ const uchar *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid)
         case TH_SEQ_EFFECT:
           cp = ts->effect;
           break;
-        case TH_SEQ_TRANSITION:
-          cp = ts->transition;
-          break;
         case TH_SEQ_META:
           cp = ts->meta;
           break;
@@ -677,6 +674,15 @@ const uchar *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid)
         case TH_SEQ_PREVIEW:
           cp = ts->preview_back;
           break;
+        case TH_SEQ_COLOR:
+          cp = ts->color_strip;
+          break;
+        case TH_SEQ_ACTIVE:
+          cp = ts->active_strip;
+          break;
+        case TH_SEQ_SELECTED:
+          cp = ts->selected_strip;
+          break;
 
         case TH_CONSOLE_OUTPUT:
           cp = ts->console_output;
diff --git a/source/blender/editors/space_sequencer/CMakeLists.txt b/source/blender/editors/space_sequencer/CMakeLists.txt
index da7d9e2a8f3..8105891e157 100644
--- a/source/blender/editors/space_sequencer/CMakeLists.txt
+++ b/source/blender/editors/space_sequencer/CMakeLists.txt
@@ -17,6 +17,7 @@
 
 set(INC
   ../include
+  ../../blenfont
   ../../blenkernel
   ../../blenlib
   ../../blentranslation
diff --git a/source/blender/editors/space_sequencer/sequencer_draw.c b/source/blender/editors/space_sequencer/sequencer_draw.c
index 864e518f182..93abf7a15e7 100644
--- a/source/blender/editors/space_sequencer/sequencer_draw.c
+++ b/source/blender/editors/space_sequencer/sequencer_draw.c
@@ -75,6 +75,8 @@
 #include "WM_api.h"
 #include "WM_types.h"
 
+#include "BLF_api.h"
+
 #include "MEM_guardedalloc.h"
 
 /* own include */
@@ -83,11 +85,12 @@
 #define SEQ_LEFTHANDLE 1
 #define SEQ_RIGHTHANDLE 2
 
-#define SEQ_HANDLE_SIZE_MIN 7.0f
-#define SEQ_HANDLE_SIZE_MAX 40.0f
+#define SEQ_HANDLE_SIZE 8.0f
 
 #define SEQ_SCROLLER_TEXT_OFFSET 8
 
+#define MUTE_ALPHA 120
+
 /* Note, Don't use SEQ_BEGIN/SEQ_END while drawing!
  * it messes up transform, - Campbell */
 #undef SEQ_BEGIN
@@ -99,7 +102,6 @@ static Sequence *special_seq_update = NULL;
 void color3ubv_from_seq(Scene *curscene, Sequence *seq, unsigned char col[3])
 {
   unsigned char blendcol[3];
-  SolidColorVars *colvars = (SolidColorVars *)seq->effectdata;
 
   switch (seq->type) {
     case SEQ_TYPE_IMAGE:
@@ -119,7 +121,7 @@ void color3ubv_from_seq(Scene *curscene, Sequence *seq, unsigned char col[3])
       break;
 
     case SEQ_TYPE_MASK:
-      UI_GetThemeColor3ubv(TH_SEQ_MASK, col); /* TODO */
+      UI_GetThemeColor3ubv(TH_SEQ_MASK, col);
       break;
 
     case SEQ_TYPE_SCENE:
@@ -130,22 +132,13 @@ void color3ubv_from_seq(Scene *curscene, Sequence *seq, unsigned char col[3])
       }
       break;
 
-    /* transitions */
+    /* Transitions use input colors, fallback for when the input is a transition itself. */
     case SEQ_TYPE_CROSS:
     case SEQ_TYPE_GAMCROSS:
     case SEQ_TYPE_WIPE:
-      UI_GetThemeColor3ubv(TH_SEQ_TRANSITION, col);
-
-      /* slightly offset hue to distinguish different effects */
-      if (seq->type == SEQ_TYPE_CROSS) {
-        rgb_byte_set_hue_float_offset(col, 0.04);
-      }
-      if (seq->type == SEQ_TYPE_GAMCROSS) {
-        rgb_byte_set_hue_float_offset(col, 0.08);
-      }
-      if (seq->type == SEQ_TYPE_WIPE) {
-        rgb_byte_set_hue_float_offset(col, 0.12);
-      }
+      col[0] = 130;
+      col[1] = 130;
+      col[2] = 130;
       break;
 
     /* effects */
@@ -164,47 +157,50 @@ void color3ubv_from_seq(Scene *curscene, Sequence *seq, unsigned char col[3])
     case SEQ_TYPE_COLORMIX:
       UI_GetThemeColor3ubv(TH_SEQ_EFFECT, col);
 
-      /* slightly offset hue to distinguish different effects */
+      /* Slightly offset hue to distinguish different effects. */
       if (seq->type == SEQ_TYPE_ADD) {
-        rgb_byte_set_hue_float_offset(col, 0.04);
+        rgb_byte_set_hue_float_offset(col, 0.03);
       }
       else if (seq->type == SEQ_TYPE_SUB) {
-        rgb_byte_set_hue_float_offset(col, 0.08);
+        rgb_byte_set_hue_float_offset(col, 0.06);
       }
       else if (seq->type == SEQ_TYPE_MUL) {
-        rgb_byte_set_hue_float_offset(col, 0.12);
+        rgb_byte_set_hue_float_offset(col, 0.13);
       }
       else if (seq->type == SEQ_TYPE_ALPHAOVER) {
         rgb_byte_set_hue_float_offset(col, 0.16);
       }
       else if (seq->type == SEQ_TYPE_ALPHAUNDER) {
-        rgb_byte_set_hue_float_offset(col, 0.20);
+        rgb_byte_set_hue_float_offset(col, 0.23);
       }
       else if (seq->type == SEQ_TYPE_OVERDROP) {
-        rgb_byte_set_hue_float_offset(col, 0.24);
+        rgb_byte_set_hue_float_offset(col, 0.26);
       }
-      else if (seq->type == SEQ_TYPE_GLOW) {
-        rgb_byte_set_hue_float_offset(col, 0.28);
+      else if (seq->type == SEQ_TYPE_COLORMIX) {
+        rgb_byte_set_hue_float_offset(col, 0.33);
       }
-      else if (seq->type == SEQ_TYPE_TRANSFORM) {
-        rgb_byte_set_hue_float_offset(col, 0.36);
+      else if (seq->type == SEQ_TYPE_GAUSSIAN_BLUR) {
+        rgb_byte_set_hue_float_offset(col, 0.43);
       }
-      else if (seq->type == SEQ_TYPE_MULTICAM) {
-        rgb_byte_set_hue_float_offset(col, 0.32);
+      else if (seq->type == SEQ_TYPE_GLOW) {
+        rgb_byte_set_hue_float_offset(col, 0.46);
       }
       else if (seq->type == SEQ_TYPE_ADJUSTMENT) {
-        rgb_byte_set_hue_float_offset(col, 0.40);
+        rgb_byte_set_hue_float_offset(col, 0.55);
       }
-      else if (seq->type == SEQ_TYPE_GAUSSIAN_BLUR) {
-        rgb_byte_set_hue_float_offset(col, 0.42);
+      else if (seq->type == SEQ_TYPE_SPEED) {
+        rgb_byte_set_hue_float_offset(col, 0.65);
   

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list