diff options
Diffstat (limited to 'source/blender/blenkernel/intern/sequence.c')
-rw-r--r-- | source/blender/blenkernel/intern/sequence.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/sequence.c b/source/blender/blenkernel/intern/sequence.c index f11aca32da7..71382a53d5d 100644 --- a/source/blender/blenkernel/intern/sequence.c +++ b/source/blender/blenkernel/intern/sequence.c @@ -3529,6 +3529,32 @@ void seq_update_muting(Editing *ed) } } + +/* XXX - hackish function needed for transforming strips! TODO - have some better solution */ +void seq_offset_animdata(Scene *scene, Sequence *seq, int ofs) +{ + char str[32]; + FCurve *fcu; + + if(scene->adt==NULL || ofs==0) + return; + + sprintf(str, "[\"%s\"]", seq->name+2); + + for (fcu= scene->adt->action->curves.first; fcu; fcu= fcu->next) { + if(strstr(fcu->rna_path, "sequence_editor.sequences_all[") && strstr(fcu->rna_path, str)) { + int i; + for (i = 0; i < fcu->totvert; i++) { + BezTriple *bezt= &fcu->bezt[i]; + bezt->vec[0][0] += ofs; + bezt->vec[1][0] += ofs; + bezt->vec[2][0] += ofs; + } + } + } +} + + Sequence *active_seq_get(Scene *scene) { Editing *ed= seq_give_editing(scene, FALSE); |