diff options
author | Joshua Leung <aligorith@gmail.com> | 2009-07-24 10:51:33 +0400 |
---|---|---|
committer | Joshua Leung <aligorith@gmail.com> | 2009-07-24 10:51:33 +0400 |
commit | dbd5c5b8a13795a32f6d5bb1f4ae3c2b89058b47 (patch) | |
tree | 8df4a74a18f48cfc72c36f9d52bf8ac7b2809055 /source/blender/editors/transform | |
parent | 0f4fd4f5b17d4fff97cc3cde4cc7d144137154ca (diff) |
2.5 - Animation Tweaks (KeyingSets/NLA)
* Insert Keyframes menu now only displays the 'active keyingset' entry when there are some KeyingSets.
* Moved the validation code for auto-blending/extend modes to NLA editor code, and included calls for this in many of the editing tools for NLA strips.
* Removed obsolete 'ID_IPO' entries from RNA-ID wrapping (these were commented out anyway).
Diffstat (limited to 'source/blender/editors/transform')
-rw-r--r-- | source/blender/editors/transform/transform_conversions.c | 46 |
1 files changed, 14 insertions, 32 deletions
diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index 4c91ca9af4a..1a0b16695e1 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -4779,7 +4779,6 @@ void special_aftertrans_update(TransInfo *t) /* get channels to work on */ ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype); - /* these should all be ipo-blocks */ for (ale= anim_data.first; ale; ale= ale->next) { AnimData *adt= ANIM_nla_mapping_get(&ac, ale); FCurve *fcu= (FCurve *)ale->key_data; @@ -4826,43 +4825,26 @@ void special_aftertrans_update(TransInfo *t) { ListBase anim_data = {NULL, NULL}; bAnimListElem *ale; + short filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NLATRACKS); - /* firstly, make the strips normal again */ - { - short filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NLATRACKS); - - /* get channels to work on */ - ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype); + /* get channels to work on */ + ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype); + + for (ale= anim_data.first; ale; ale= ale->next) { + NlaTrack *nlt= (NlaTrack *)ale->data; - for (ale= anim_data.first; ale; ale= ale->next) { - NlaTrack *nlt= (NlaTrack *)ale->data; - - /* make sure strips are in order again */ - BKE_nlatrack_sort_strips(nlt); - - /* remove the temp metas */ - BKE_nlastrips_clear_metas(&nlt->strips, 0, 1); - } + /* make sure strips are in order again */ + BKE_nlatrack_sort_strips(nlt); - /* free temp memory */ - BLI_freelistN(&anim_data); + /* remove the temp metas */ + BKE_nlastrips_clear_metas(&nlt->strips, 0, 1); } + /* free temp memory */ + BLI_freelistN(&anim_data); + /* perform after-transfrom validation */ - { - short filter= (ANIMFILTER_VISIBLE | ANIMFILTER_ANIMDATA | ANIMFILTER_FOREDIT); - - /* get blocks to work on */ - ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype); - - for (ale= anim_data.first; ale; ale= ale->next) { - /* performing auto-blending, extend-mode validation, etc. */ - BKE_nla_validate_state(ale->data); - } - - /* free temp memory */ - BLI_freelistN(&anim_data); - } + ED_nla_postop_refresh(&ac); } } else if (t->obedit) { |