[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