[Bf-blender-cvs] [1fd7b380f4c] master: VSE: remove lazy loading for strip crop and transform

Richard Antalik noreply at git.blender.org
Thu May 23 21:36:07 CEST 2019


Commit: 1fd7b380f4cf8a0489b405de2819f228a4da5ea2
Author: Richard Antalik
Date:   Thu May 23 11:50:15 2019 -0700
Branches: master
https://developer.blender.org/rB1fd7b380f4cf8a0489b405de2819f228a4da5ea2

VSE: remove lazy loading for strip crop and transform

Lazy loading prevented showing values in UI.
Now we just gray them out if not used.

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

M	release/scripts/startup/bl_ui/space_sequencer.py
M	source/blender/blenkernel/BKE_blender_version.h
M	source/blender/blenkernel/intern/sequencer.c
M	source/blender/blenloader/intern/versioning_280.c

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

diff --git a/release/scripts/startup/bl_ui/space_sequencer.py b/release/scripts/startup/bl_ui/space_sequencer.py
index 14c5eb6aa22..134995bf469 100644
--- a/release/scripts/startup/bl_ui/space_sequencer.py
+++ b/release/scripts/startup/bl_ui/space_sequencer.py
@@ -847,13 +847,10 @@ class SEQUENCER_PT_adjust_offset(SequencerButtonsPanel, Panel):
         layout.use_property_split = True
         layout.use_property_decorate = False
 
-        if strip.use_translation:
-            col = layout.column(align=True)
-            col.prop(strip.transform, "offset_x", text="Position X")
-            col.prop(strip.transform, "offset_y", text="Y")
-            col.active = strip.use_translation
-        else:
-            layout.separator()
+        col = layout.column(align=True)
+        col.prop(strip.transform, "offset_x", text="Position X")
+        col.prop(strip.transform, "offset_y", text="Position Y")
+        col.active = strip.use_translation
 
 
 class SEQUENCER_PT_adjust_crop(SequencerButtonsPanel, Panel):
@@ -877,14 +874,12 @@ class SEQUENCER_PT_adjust_crop(SequencerButtonsPanel, Panel):
         layout.use_property_split = True
         layout.use_property_decorate = False
 
-        if strip.use_crop:
-            col = layout.column(align=True)
-            col.prop(strip.crop, "min_x")
-            col.prop(strip.crop, "max_x")
-            col.prop(strip.crop, "max_y")
-            col.prop(strip.crop, "min_y")
-        else:
-            layout.separator()
+        col = layout.column(align=True)
+        col.prop(strip.crop, "min_x")
+        col.prop(strip.crop, "max_x")
+        col.prop(strip.crop, "max_y")
+        col.prop(strip.crop, "min_y")
+        col.active = strip.use_crop
 
 
 class SEQUENCER_PT_effect(SequencerButtonsPanel, Panel):
diff --git a/source/blender/blenkernel/BKE_blender_version.h b/source/blender/blenkernel/BKE_blender_version.h
index 3fae40d6c7b..7461a1b1051 100644
--- a/source/blender/blenkernel/BKE_blender_version.h
+++ b/source/blender/blenkernel/BKE_blender_version.h
@@ -27,7 +27,7 @@
  * \note Use #STRINGIFY() rather than defining with quotes.
  */
 #define BLENDER_VERSION 280
-#define BLENDER_SUBVERSION 71
+#define BLENDER_SUBVERSION 72
 /** Several breakages with 280, e.g. collections vs layers. */
 #define BLENDER_MINVERSION 280
 #define BLENDER_MINSUBVERSION 0
diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c
index 92f951ec637..29e9776407d 100644
--- a/source/blender/blenkernel/intern/sequencer.c
+++ b/source/blender/blenkernel/intern/sequencer.c
@@ -5352,6 +5352,15 @@ static void seq_load_apply(Main *bmain, Scene *scene, Sequence *seq, SeqLoadInfo
   }
 }
 
+static Strip *seq_strip_alloc()
+{
+  Strip *strip = MEM_callocN(sizeof(Strip), "strip");
+  strip->transform = MEM_callocN(sizeof(struct StripTransform), "StripTransform");
+  strip->crop = MEM_callocN(sizeof(struct StripCrop), "StripCrop");
+
+  return strip;
+}
+
 Sequence *BKE_sequence_alloc(ListBase *lb, int cfra, int machine)
 {
   Sequence *seq;
@@ -5460,7 +5469,7 @@ Sequence *BKE_sequencer_add_image_strip(bContext *C, ListBase *seqbasep, SeqLoad
   seq->blend_mode = SEQ_TYPE_ALPHAOVER;
 
   /* basic defaults */
-  seq->strip = strip = MEM_callocN(sizeof(Strip), "strip");
+  seq->strip = strip = seq_strip_alloc();
 
   seq->len = seq_load->len ? seq_load->len : 1;
   strip->us = 1;
@@ -5515,7 +5524,7 @@ Sequence *BKE_sequencer_add_sound_strip(bContext *C, ListBase *seqbasep, SeqLoad
   BKE_sequence_base_unique_name_recursive(&scene->ed->seqbase, seq);
 
   /* basic defaults */
-  seq->strip = strip = MEM_callocN(sizeof(Strip), "strip");
+  seq->strip = strip = seq_strip_alloc();
   /* We add a very small negative offset here, because
    * ceil(132.0) == 133.0, not nice with videos, see T47135. */
   seq->len = (int)ceil((double)info.length * FPS - 1e-4);
@@ -5647,7 +5656,7 @@ Sequence *BKE_sequencer_add_movie_strip(bContext *C, ListBase *seqbasep, SeqLoad
   }
 
   /* basic defaults */
-  seq->strip = strip = MEM_callocN(sizeof(Strip), "strip");
+  seq->strip = strip = seq_strip_alloc();
   seq->len = IMB_anim_get_duration(anim_arr[0], IMB_TC_RECORD_RUN);
   strip->us = 1;
 
diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c
index c4e3390d65f..a783e35f652 100644
--- a/source/blender/blenloader/intern/versioning_280.c
+++ b/source/blender/blenloader/intern/versioning_280.c
@@ -715,6 +715,23 @@ static void do_version_constraints_copy_scale_power(ListBase *lb)
   }
 }
 
+static void do_versions_seq_alloc_transform_and_crop(ListBase *seqbase)
+{
+  for (Sequence *seq = seqbase->first; seq != NULL; seq = seq->next) {
+    if (seq->strip->transform == NULL) {
+      seq->strip->transform = MEM_callocN(sizeof(struct StripTransform), "StripTransform");
+    }
+
+    if (seq->strip->crop == NULL) {
+      seq->strip->crop = MEM_callocN(sizeof(struct StripCrop), "StripCrop");
+    }
+
+    if (seq->seqbase.first != NULL) {
+      do_versions_seq_alloc_transform_and_crop(&seq->seqbase);
+    }
+  }
+}
+
 void do_versions_after_linking_280(Main *bmain)
 {
   bool use_collection_compat_28 = true;
@@ -3487,6 +3504,14 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain)
     }
   }
 
+  if (!MAIN_VERSION_ATLEAST(bmain, 280, 72)) {
+    for (Scene *scene = bmain->scenes.first; scene; scene = scene->id.next) {
+      if (scene->ed != NULL) {
+        do_versions_seq_alloc_transform_and_crop(&scene->ed->seqbase);
+      }
+    }
+  }
+
   {
     /* Versioning code until next subversion bump goes here. */
   }



More information about the Bf-blender-cvs mailing list