2021-01-18 19:55:01 (UTC-03:00)
Marcel Rodrigues <marcelgmr@gmail.com>
Merge pull request #13 from rdebath/patch-fixes Various fixes -- MIN/MAX delay controls, empty frame.
diff --git a/gif.c b/gif.c index 544574c..8fd6607 100644 --- a/gif.c +++ b/gif.c @@ -232,6 +232,7 @@ add_frame(GIF *gif, uint16_t d) } else if (!get_bbox(gif, &w, &h, &x, &y)) { /* image's not changed; save one pixel just to add delay */ + if (!d) return; w = h = 1; x = y = 0; } diff --git a/main.c b/main.c index 77ea103..bac0a10 100644 --- a/main.c +++ b/main.c @@ -131,7 +131,7 @@ convert_script() int w, h; int i, c; float d; - uint16_t rd; + uint16_t rd, id = 0; float lastdone, done; char pb[options.barsize+1]; char fl[512]; @@ -229,11 +229,12 @@ convert_script() } } d += (MIN(t, options.maxdelay) * 100.0 / options.divisor); - rd = (uint16_t) (d + 0.5); + rd = (uint16_t) MIN((int)(d + 0.5), 65535); if (i && rd >= MIN_DELAY) { render(term, font, gif, rd); d = 0; } + if (i == 0) { id = rd; rd = 0; d = 0; } while (n--) { read(fd, &ch, 1); parse(term, ch); @@ -242,6 +243,7 @@ convert_script() term->mode &= ~M_CURSORVIS; i++; } + rd += id; if (options.barsize) { while (lastdone < options.barsize-2) { putchar('#'); @@ -249,7 +251,7 @@ convert_script() } putchar('\n'); } - render(term, font, gif, MAX(rd, MIN_DELAY)); + render(term, font, gif, MAX(rd, 1)); close_gif(gif); free(term); return 0;