diff options
author | Joshua Leung <aligorith@gmail.com> | 2014-02-21 15:52:40 +0400 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2014-02-21 15:53:04 +0400 |
commit | 5f18d863a9782c728ae4e9809cadffdbfe16632f (patch) | |
tree | 81984115f97e9f97b58fbda99c9fc0641dc45f53 /source/blender/makesrna/intern/rna_nla.c | |
parent | 4ff3ec835e321747880456e33cce261422bc05a7 (diff) |
Bugfix: Toggling "auto-blends" option on NLA Strips doesn't update them immediately
Diffstat (limited to 'source/blender/makesrna/intern/rna_nla.c')
-rw-r--r-- | source/blender/makesrna/intern/rna_nla.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/source/blender/makesrna/intern/rna_nla.c b/source/blender/makesrna/intern/rna_nla.c index 4a95bd4e51b..07d221dd80d 100644 --- a/source/blender/makesrna/intern/rna_nla.c +++ b/source/blender/makesrna/intern/rna_nla.c @@ -231,6 +231,28 @@ static void rna_NlaStrip_blend_out_set(PointerRNA *ptr, float value) data->blendout = value; } +static void rna_NlaStrip_use_auto_blend_set(PointerRNA *ptr, int value) +{ + NlaStrip *data = (NlaStrip *)ptr->data; + + if (value) { + /* set the flag, then make sure a curve for this exists */ + data->flag |= NLASTRIP_FLAG_USR_INFLUENCE; + + /* validate state to ensure that auto-blend gets applied immediately */ + if (ptr->id.data) { + IdAdtTemplate *iat = (IdAdtTemplate *)ptr->id.data; + + if (iat->adt) { + BKE_nla_validate_state(iat->adt); + } + } + } + else { + data->flag &= ~NLASTRIP_FLAG_USR_INFLUENCE; + } +} + static int rna_NlaStrip_action_editable(PointerRNA *ptr) { NlaStrip *strip = (NlaStrip *)ptr->data; @@ -502,6 +524,7 @@ static void rna_def_nlastrip(BlenderRNA *brna) prop = RNA_def_property(srna, "use_auto_blend", PROP_BOOLEAN, PROP_NONE); RNA_def_property_boolean_sdna(prop, NULL, "flag", NLASTRIP_FLAG_AUTO_BLENDS); + RNA_def_property_boolean_funcs(prop, NULL, "rna_NlaStrip_use_auto_blend_set"); RNA_def_property_ui_text(prop, "Auto Blend In/Out", "Number of frames for Blending In/Out is automatically determined from " "overlapping strips"); |