made sequence handle calculation into a function, (lines were being copied around)
This commit is contained in:
		@@ -51,6 +51,7 @@ void free_sequence(struct Sequence *seq);
 | 
			
		||||
void build_seqar(struct ListBase *seqbase, struct Sequence  ***seqar, int *totseq);
 | 
			
		||||
void free_editing(struct Editing *ed);
 | 
			
		||||
void calc_sequence(struct Sequence *seq);
 | 
			
		||||
void calc_sequence_disp(struct Sequence *seq);
 | 
			
		||||
void sort_seq(void);
 | 
			
		||||
void clear_scene_in_allseqs(struct Scene *sce);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -587,23 +587,7 @@ static PyObject *getIntAttr( BPy_Sequence *self, void *type )
 | 
			
		||||
/* internal functions for recursivly updating metastrip locatons */
 | 
			
		||||
static void intern_pos_update(Sequence * seq) {
 | 
			
		||||
	/* update startdisp and enddisp */
 | 
			
		||||
	if(seq->startofs && seq->startstill) seq->startstill= 0;
 | 
			
		||||
	if(seq->endofs && seq->endstill) seq->endstill= 0;
 | 
			
		||||
 | 
			
		||||
	seq->startdisp= seq->start + seq->startofs - seq->startstill;
 | 
			
		||||
	seq->enddisp= seq->start+seq->len - seq->endofs + seq->endstill;
 | 
			
		||||
 | 
			
		||||
	seq->handsize= 10.0;	/* 10 frames */
 | 
			
		||||
	if( seq->enddisp-seq->startdisp < 20 ) {
 | 
			
		||||
		seq->handsize= (float)(0.5*(seq->enddisp-seq->startdisp));
 | 
			
		||||
	}
 | 
			
		||||
	else if(seq->enddisp-seq->startdisp > 250) {
 | 
			
		||||
		seq->handsize= (float)((seq->enddisp-seq->startdisp)/25);
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	/* original Cambo code; replaced with c&p from function in blenkernel/sequence.c 
 | 
			
		||||
	seq->startdisp = seq->start + seq->startofs - seq->startstill;
 | 
			
		||||
	seq->enddisp = ((seq->start + seq->len) - seq->endofs )+ seq->endstill; */
 | 
			
		||||
	calc_sequence_disp(seq);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void intern_recursive_pos_update(Sequence * seq, int offset) {
 | 
			
		||||
 
 | 
			
		||||
@@ -213,6 +213,23 @@ void free_editing(Editing *ed)
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void calc_sequence_disp(Sequence *seq)
 | 
			
		||||
{
 | 
			
		||||
	if(seq->startofs && seq->startstill) seq->startstill= 0;
 | 
			
		||||
	if(seq->endofs && seq->endstill) seq->endstill= 0;
 | 
			
		||||
	
 | 
			
		||||
	seq->startdisp= seq->start + seq->startofs - seq->startstill;
 | 
			
		||||
	seq->enddisp= seq->start+seq->len - seq->endofs + seq->endstill;
 | 
			
		||||
	
 | 
			
		||||
	seq->handsize= 10.0;	/* 10 frames */
 | 
			
		||||
	if( seq->enddisp-seq->startdisp < 10 ) {
 | 
			
		||||
		seq->handsize= (float)(0.5*(seq->enddisp-seq->startdisp));
 | 
			
		||||
	}
 | 
			
		||||
	else if(seq->enddisp-seq->startdisp > 250) {
 | 
			
		||||
		seq->handsize= (float)((seq->enddisp-seq->startdisp)/25);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void calc_sequence(Sequence *seq)
 | 
			
		||||
{
 | 
			
		||||
	Sequence *seqm;
 | 
			
		||||
@@ -244,19 +261,7 @@ void calc_sequence(Sequence *seq)
 | 
			
		||||
			seq->enddisp= MIN3(seq->seq1->enddisp, seq->seq2->enddisp, seq->seq3->enddisp);
 | 
			
		||||
			seq->len= seq->enddisp - seq->startdisp;
 | 
			
		||||
		} else {
 | 
			
		||||
			if(seq->startofs && seq->startstill) seq->startstill= 0;
 | 
			
		||||
			if(seq->endofs && seq->endstill) seq->endstill= 0;
 | 
			
		||||
 | 
			
		||||
			seq->startdisp= seq->start + seq->startofs - seq->startstill;
 | 
			
		||||
			seq->enddisp= seq->start+seq->len - seq->endofs + seq->endstill;
 | 
			
		||||
 | 
			
		||||
			seq->handsize= 10.0;	/* 10 frames */
 | 
			
		||||
			if( seq->enddisp-seq->startdisp < 20 ) {
 | 
			
		||||
				seq->handsize= (float)(0.5*(seq->enddisp-seq->startdisp));
 | 
			
		||||
			}
 | 
			
		||||
			else if(seq->enddisp-seq->startdisp > 250) {
 | 
			
		||||
				seq->handsize= (float)((seq->enddisp-seq->startdisp)/25);
 | 
			
		||||
			}
 | 
			
		||||
			calc_sequence_disp(seq);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if(seq->strip && seq->len!=seq->strip->len) {
 | 
			
		||||
@@ -283,21 +288,7 @@ void calc_sequence(Sequence *seq)
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		if(seq->startofs && seq->startstill) seq->startstill= 0;
 | 
			
		||||
		if(seq->endofs && seq->endstill) seq->endstill= 0;
 | 
			
		||||
 | 
			
		||||
		seq->startdisp= seq->start + seq->startofs - seq->startstill;
 | 
			
		||||
		seq->enddisp= seq->start+seq->len - seq->endofs + seq->endstill;
 | 
			
		||||
 | 
			
		||||
		seq->handsize= 10.0;	/* 10 frames */
 | 
			
		||||
		if( seq->enddisp-seq->startdisp < 20 ) {
 | 
			
		||||
			seq->handsize= (float)(0.5*(seq->enddisp-seq->startdisp));
 | 
			
		||||
		}
 | 
			
		||||
		else if(seq->enddisp-seq->startdisp > 250) {
 | 
			
		||||
			seq->handsize= (float)((seq->enddisp-seq->startdisp)/25);
 | 
			
		||||
		}
 | 
			
		||||
		calc_sequence_disp(seq);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user