From 79e40650843d8e32fea7bbd7d628cb4a0e51c21b Mon Sep 17 00:00:00 2001 From: Thomas White Date: Tue, 21 Oct 2014 16:53:23 +0200 Subject: Restore "processing" of series --- src/whirligig.c | 40 ++++++++++++++++++++++++++-------------- 1 file changed, 26 insertions(+), 14 deletions(-) (limited to 'src') diff --git a/src/whirligig.c b/src/whirligig.c index be88d18d..88394e01 100644 --- a/src/whirligig.c +++ b/src/whirligig.c @@ -161,28 +161,27 @@ static void process_series(struct image *images, signed int *ser, } -static void check_for_series(struct image *win, signed int *ser, - IntegerMatrix **m, int ws, int is_last_frame) +static void find_ser(struct window *win, int sn, int is_last_frame) { int i; int ser_len = 0; int ser_start = 0; int in_series = 0; - for ( i=0; ijoin_ptr; i++ ) { - if ( in_series && ((win[i].serial == 0) || (ser[i] == -1)) ) { + if ( in_series && win->ser[sn][i] == -1 ) { - if ( ser_len > 2 ) { - process_series(win+ser_start, ser+ser_start, - m+ser_start, ser_len); - } + process_series(win->img+ser_start, + win->ser[sn]+ser_start, + win->mat[sn]+ser_start, + ser_len); in_series = 0; } - if ( (win[i].serial != 0) && (ser[i] != -1) ) { + if ( win->ser[sn][i] != -1 ) { if ( in_series ) { ser_len++; } else { @@ -192,14 +191,23 @@ static void check_for_series(struct image *win, signed int *ser, } } - //STATUS("%3i: serial %i, series %i, matrix %p, start %i, len %i\n", - // i, win[i].serial, ser[i], m[i], ser_start, ser_len); + } + if ( is_last_frame && (ser_len > 1) ) { + process_series(win->img+ser_start, + win->ser[sn]+ser_start, + win->mat[sn]+ser_start, + ser_len); } +} + + +static void find_and_process_series(struct window *win, int is_last_frame) +{ + int i; - if ( is_last_frame && (ser_len > 2) ) { - process_series(win+ser_start, ser+ser_start, - m+ser_start, ser_len); + for ( i=0; i