changes needed for EDL import to work again.
authorCampbell Barton <ideasman42@gmail.com>
Wed, 2 Jan 2013 16:15:45 +0000 (16:15 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Wed, 2 Jan 2013 16:15:45 +0000 (16:15 +0000)
- add sequence.update(data=False) function.
- made some sequence vars editable.
- correct some comments.

also rename rna function sequence.getStripElem() --> strip_elem_from_frame()

release/scripts/modules/bpy_extras/object_utils.py
release/scripts/startup/bl_operators/add_mesh_torus.py
release/scripts/startup/bl_ui/space_sequencer.py
source/blender/blenkernel/intern/sequencer.c
source/blender/editors/space_sequencer/sequencer_add.c
source/blender/editors/transform/transform_conversions.c
source/blender/makesrna/intern/rna_sequencer.c
source/blender/makesrna/intern/rna_sequencer_api.c
source/blender/python/intern/bpy_interface.c

index 46731b8..4e1385c 100644 (file)
@@ -26,7 +26,6 @@ __all__ = (
 
 
 import bpy
-import mathutils
 
 from bpy.props import BoolProperty, FloatVectorProperty
 
@@ -80,7 +79,7 @@ def add_object_align_init(context, operator):
             rotation = space_data.region_3d.view_matrix.to_3x3().inverted()
             rotation.resize_4x4()
         else:
-            rotation = mathutils.Matrix()
+            rotation = Matrix()
 
         # set the operator properties
         if operator:
index 552247f..63e796e 100644 (file)
@@ -19,7 +19,6 @@
 # <pep8-80 compliant>
 import bpy
 from bpy.types import Operator
-import mathutils
 
 from bpy.props import (FloatProperty,
                        IntProperty,
@@ -31,9 +30,7 @@ from bpy_extras import object_utils
 
 def add_torus(major_rad, minor_rad, major_seg, minor_seg):
     from math import cos, sin, pi
-
-    Vector = mathutils.Vector
-    Quaternion = mathutils.Quaternion
+    from mathutils import Vector, Quaternion
 
     PI_2 = pi * 2.0
     z_axis = 0.0, 0.0, 1.0
index d6f8de9..64ad565 100644 (file)
@@ -433,7 +433,7 @@ class SEQUENCER_PT_edit(SequencerButtonsPanel, Panel):
         elem = False
 
         if strip.type == 'IMAGE':
-            elem = strip.getStripElem(frame_current)
+            elem = strip.strip_elem_from_frame(frame_current)
         elif strip.type == 'MOVIE':
             elem = strip.elements[0]
 
@@ -595,7 +595,7 @@ class SEQUENCER_PT_input(SequencerButtonsPanel, Panel):
 
             # Current element for the filename
 
-            elem = strip.getStripElem(context.scene.frame_current)
+            elem = strip.strip_elem_from_frame(context.scene.frame_current)
             if elem:
                 split = layout.split(percentage=0.2)
                 split.label(text="File:")
index 69c125b..a5c1c99 100644 (file)
@@ -633,7 +633,7 @@ void BKE_sequence_calc(Scene *scene, Sequence *seq)
        }
 }
 
-/* note: caller should run calc_sequence(scene, seq) after */
+/* note: caller should run BKE_sequence_calc(scene, seq) after */
 void BKE_sequence_reload_new_file(Scene *scene, Sequence *seq, int lock_range)
 {
        char str[FILE_MAX];
index 6219a90..0ade57b 100644 (file)
@@ -871,7 +871,7 @@ static int sequencer_add_effect_strip_exec(bContext *C, wmOperator *op)
                if (BKE_sequence_test_overlap(ed->seqbasep, seq)) BKE_sequence_base_shuffle(ed->seqbasep, seq, scene);
        }
 
-       BKE_sequencer_update_changed_seq_and_deps(scene, seq, 1, 1); /* runs calc_sequence */
+       BKE_sequencer_update_changed_seq_and_deps(scene, seq, 1, 1); /* runs BKE_sequence_calc */
 
 
        /* not sure if this is needed with update_changed_seq_and_deps.
index 82ad236..12b0341 100644 (file)
@@ -4090,7 +4090,7 @@ static void SeqTransInfo(TransInfo *t, Sequence *seq, int *recursive, int *count
                                /* Meta's can only directly be moved between channels since they
                                 * don't have their start and length set directly (children affect that)
                                 * since this Meta is nested we don't need any of its data in fact.
-                                * calc_sequence() will update its settings when run on the toplevel meta */
+                                * BKE_sequence_calc() will update its settings when run on the toplevel meta */
                                *flag = 0;
                                *count = 0;
                                *recursive = TRUE;
index e849e84..a41551f 100644 (file)
@@ -1401,26 +1401,26 @@ static void rna_def_sequence(BlenderRNA *brna)
 
        prop = RNA_def_property(srna, "frame_offset_start", PROP_INT, PROP_TIME);
        RNA_def_property_int_sdna(prop, NULL, "startofs");
-       RNA_def_property_clear_flag(prop, PROP_EDITABLE); /* overlap tests */
+//     RNA_def_property_clear_flag(prop, PROP_EDITABLE); /* overlap tests */
        RNA_def_property_ui_text(prop, "Start Offset", "");
        RNA_def_property_update(prop, NC_SCENE | ND_SEQUENCER, "rna_Sequence_update");
        
        prop = RNA_def_property(srna, "frame_offset_end", PROP_INT, PROP_TIME);
        RNA_def_property_int_sdna(prop, NULL, "endofs");
-       RNA_def_property_clear_flag(prop, PROP_EDITABLE); /* overlap tests */
+//     RNA_def_property_clear_flag(prop, PROP_EDITABLE); /* overlap tests */
        RNA_def_property_ui_text(prop, "End Offset", "");
        RNA_def_property_update(prop, NC_SCENE | ND_SEQUENCER, "rna_Sequence_update");
        
        prop = RNA_def_property(srna, "frame_still_start", PROP_INT, PROP_TIME);
        RNA_def_property_int_sdna(prop, NULL, "startstill");
-       RNA_def_property_clear_flag(prop, PROP_EDITABLE); /* overlap tests */
+//     RNA_def_property_clear_flag(prop, PROP_EDITABLE); /* overlap tests */
        RNA_def_property_range(prop, 0, MAXFRAME);
        RNA_def_property_ui_text(prop, "Start Still", "");
        RNA_def_property_update(prop, NC_SCENE | ND_SEQUENCER, "rna_Sequence_update");
        
        prop = RNA_def_property(srna, "frame_still_end", PROP_INT, PROP_TIME);
        RNA_def_property_int_sdna(prop, NULL, "endstill");
-       RNA_def_property_clear_flag(prop, PROP_EDITABLE); /* overlap tests */
+//     RNA_def_property_clear_flag(prop, PROP_EDITABLE); /* overlap tests */
        RNA_def_property_range(prop, 0, MAXFRAME);
        RNA_def_property_ui_text(prop, "End Still", "");
        RNA_def_property_update(prop, NC_SCENE | ND_SEQUENCER, "rna_Sequence_update");
index 7602ec9..69d35a3 100644 (file)
@@ -37,6 +37,8 @@
 #include "DNA_scene_types.h"
 #include "DNA_sequence_types.h"
 
+#include "BLI_utildefines.h"
+
 #ifdef RNA_RUNTIME
 
 //#include "DNA_anim_types.h"
 
 #include "WM_api.h"
 
+static void rna_Sequence_update_rnafunc(ID *id, Sequence *self, int do_data)
+{
+       if (do_data) {
+               BKE_sequencer_update_changed_seq_and_deps((Scene *)id, self, true, true);
+               // new_tstripdata(self); // need 2.6x version of this.
+       }
+       BKE_sequence_calc((Scene *)id, self);
+       BKE_sequence_calc_disp((Scene *)id, self);
+}
+
 static void rna_Sequence_swap_internal(Sequence *seq_self, ReportList *reports, Sequence *seq_other)
 {
        const char *error_msg;
@@ -389,7 +401,13 @@ void RNA_api_sequence_strip(StructRNA *srna)
        FunctionRNA *func;
        PropertyRNA *parm;
 
-       func = RNA_def_function(srna, "getStripElem", "BKE_sequencer_give_stripelem");
+       func = RNA_def_function(srna, "update", "rna_Sequence_update_rnafunc");
+       RNA_def_function_flag(func, FUNC_USE_SELF_ID);
+       RNA_def_function_ui_description(func, "Update the strip dimensions");
+       parm = RNA_def_boolean(func, "data", false, "Frame",
+                              "Update strip data");
+
+       func = RNA_def_function(srna, "strip_elem_from_frame", "BKE_sequencer_give_stripelem");
        RNA_def_function_ui_description(func, "Return the strip element from a given frame or None");
        parm = RNA_def_int(func, "frame", 0, -MAXFRAME, MAXFRAME, "Frame",
                           "The frame to get the strip element from", -MAXFRAME, MAXFRAME);
index 08eb29a..d71c85b 100644 (file)
@@ -818,7 +818,7 @@ typedef struct {
 } dealloc_obj;
 
 /* call once __file__ is set */
-void bpy_module_delay_init(PyObject *bpy_proxy)
+static void bpy_module_delay_init(PyObject *bpy_proxy)
 {
        const int argc = 1;
        const char *argv[2];
@@ -856,6 +856,9 @@ static void dealloc_obj_dealloc(PyObject *self)
        dealloc_obj_Type.tp_free(self);
 }
 
+PyMODINIT_FUNC
+PyInit_bpy(void);
+
 PyMODINIT_FUNC
 PyInit_bpy(void)
 {