diff options
author | Peter Schlaile <peter@schlaile.de> | 2006-06-05 23:04:19 +0400 |
---|---|---|
committer | Peter Schlaile <peter@schlaile.de> | 2006-06-05 23:04:19 +0400 |
commit | 4467c2633737de12b45cae1ff64bab80486b9447 (patch) | |
tree | 60d4b93454bbcdf9ded5203a02525c8e5a067c1f /source/blender/src/editipo.c | |
parent | e7ee6c3ec45532fecb55faf0b1014636534b594b (diff) |
== Sequencer & IPOs ==
This code enables IPO-pinning for Sequence-strips again, by working
around the missing libdata in blenloader/intern/readfile.c.
Bad hack(tm). Maybe we find a way, to make Sequence-strips true libdata?
It also fixes two places in IPO-editing where frame-locking wasn't handled.
Diffstat (limited to 'source/blender/src/editipo.c')
-rw-r--r-- | source/blender/src/editipo.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/source/blender/src/editipo.c b/source/blender/src/editipo.c index 74cd4cb8f1a..b3b43c0a348 100644 --- a/source/blender/src/editipo.c +++ b/source/blender/src/editipo.c @@ -2127,7 +2127,7 @@ void insertkey_editipo(void) else if(id && GS(id->name)==ID_SEQ) { Sequence *last_seq = get_last_seq(); /* editsequence.c */ - if(last_seq) { + if(last_seq && (last_seq->flag & SEQ_IPO_FRAME_LOCKED) == 0) { cfra= (float)(100.0*(cfra-last_seq->startdisp)/((float)(last_seq->enddisp-last_seq->startdisp))); } } @@ -3039,11 +3039,13 @@ void ipo_snap(short event) Sequence *seq; seq= (Sequence *)G.sipo->from; - if(seq) { + if(seq && (seq->flag & SEQ_IPO_FRAME_LOCKED) == 0) { dx= (float)(CFRA-seq->startdisp); dx= (float)(100.0*dx/((float)(seq->enddisp-seq->startdisp))); dx-= bezt->vec[1][0]; + } else { + dx= G.scene->r.framelen*CFRA - bezt->vec[1][0]; } } else dx= G.scene->r.framelen*CFRA - bezt->vec[1][0]; |