1seq2gif 2======= 3[![Build Status](https://travis-ci.org/saitoha/seq2gif.svg?branch=master)](https://travis-ci.org/saitoha/seq2gif) 4[![Coverage Status](https://img.shields.io/coveralls/saitoha/seq2gif.svg)](https://coveralls.io/r/saitoha/seq2gif) 5 6 7Description 8------------ 9 10This software converts a sequences record file generated by [ttyrec](https://github.com/mjording/ttyrec) 11into a gif animation directly(without taking screenshots), 12by using portable built-in terminal emulation engine originated 13from [yaft](https://github.com/uobikiemukot/yaft). 14[yaft](https://github.com/uobikiemukot/yaft) provides rare terminal emulation 15features such as SIXEL/DRCS. 16 17 18Demo 19---- 20 21Play [sl](https://github.com/mtoyoda/sl). 22 23![img2sixel](https://raw.githubusercontent.com/saitoha/seq2gif/master/images/sl.gif) 24 25 26Show SIXEL animation with [img2sixel](https://github.com/saitoha/libsixel#img2sixel). 27 28![img2sixel](https://raw.githubusercontent.com/saitoha/seq2gif/master/images/sixel.gif) 29 30 31The following demo plays [sl](https://github.com/mtoyoda/sl) and records it with [ttyrec](https://github.com/mjording/ttyrec), and 32converts that record into a GIF animation using seq2gif, 33and converts that GIF into a SIXEL animation and plays it with [img2sixel](https://github.com/saitoha/libsixel#img2sixel). 34Furthermore, generates the log record of above experience using [ttyrec](https://github.com/mjording/ttyrec), and 35converts that log into the following GIF animation. 36 37![ttyrec](https://raw.githubusercontent.com/saitoha/seq2gif/master/images/ttyrec.gif) 38 39 40Download 41-------- 42Source package and Windows binary is [available](https://github.com/saitoha/seq2gif/releases/). 43 44 45Build and Install 46----------------- 47 48This software works in Windows, Linux, BSDs and OSX. 49If you want to build windows native build, [MinGW](http://www.mingw.org/) is required. 50 51``` 52 $ ./configure 53 $ make 54 # make install 55``` 56 57Usage 58----- 59 60``` 61Usage: seq2gif [Options] < ttyrecord > record.gif 62 seq2gif [Options] -i ttyrecord -o record.gif 63 64Options: 65-w WIDTH, --width=WIDTH specify terminal width in cell size. 66 (default: 80) 67-h HEIGHT, --height=HEIGHT specify terminal height in cell size. 68 (default: 24) 69-l DELAY, --last-frame-delay=DELAY specify delay in msec which is added 70 to the last frame. (default: 300) 71-f COLORNO --foreground-color=COLORNO specify foreground color palette. 72 number. 73-b COLORNO --background-color=COLORNO specify background color palette 74 number. 75-c COLORNO --cursor-color=COLORNO specify cursor color palette 76 number. 77-t TABSTOP --tabstop=TABSTOP specify hardware tabstop(default: 8) 78-j --cjkwidth treat East Asian Ambiguous width 79 characters (UAX#11) as wide. 80-r COUNT --repeat=COUNT specify animation repeat count. loop 81 infinitely if 0 is given. (default: 0) 82-i FILE --input=FILE specify input file name. use STDIN 83 if '-' is given. (default: '-') 84-o FILE --output=FILE specify output file name. use STDOUT 85 if '-' is given. (default: '-') 86-V, --version show version and license information. 87-H, --help show this help. 88``` 89 90 91Acknowledgements 92---------------- 93 94### recterm 95 96This program is derived from [recterm](https://github.com/uobikiemukot/recterm) 97written by haru <uobikiemukot at gmail dot com> ([@uobikiemukot](https://github.com/uobikiemukot/)) 98 99### yaft 100 101Some part of glyph data generator(glyph/*) is imported from [yaft](http://uobikiemukot.github.io/yaft/) 102written by haru <uobikiemukot at gmail dot com> ([@uobikiemukot](https://github.com/uobikiemukot/)) 103 104### gifsave89 105 106GIF encoder (gifsave89.c) is imported from [gifsave89](http://www.forkosh.com/gifsave90.html) 107distributed under GPLv3+ by [John Forkosh Associates, Inc.](http://www.forkosh.com)(john@forkosh.com) 108 109### milkjf 110This package includes a milkjf font and its derivative(gryph/milkjf.h). 111Original milkjf font was designed by japanfarm (Nihon-Nouen) and used on Sharp X68000 series. 112Chisato Yamauchi converted milkjf font to bdf for X Window System. 113haru([@uobikiemukot](https://github.com/uobikiemukot/)) converted it to a C-styled header file. 114 115### M+ BITMAP FONTS 116This package includes [M+ Bitmap Font](http://mplus-fonts.sourceforge.jp/mplus-bitmap-fonts/index.html) 117and its derivative(gryph/mplus.h). 118 119License: 120 121``` 122M+ BITMAP FONTS Copyright 2002-2005 COZ <coz@users.sourceforge.jp> 123 124LICENSE 125 126These fonts are free softwares. 127Unlimited permission is granted to use, copy, and distribute it, with 128or without modification, either commercially and noncommercially. 129THESE FONTS ARE PROVIDED "AS IS" WITHOUT WARRANTY. 130``` 131 132### GNU Unifont 133This package includes [GNU Unifont Glyphs](http://unifoundry.com/unifont.html) 134and its derivative(gryph/unifont.h). 135 136License: GPLv2+ 137http://unifoundry.com/LICENSE.txt 138 139 140``` 141M+ BITMAP FONTS Copyright 2002-2005 COZ <coz@users.sourceforge.jp> 142 143LICENSE 144 145These fonts are free softwares. 146Unlimited permission is granted to use, copy, and distribute it, with 147or without modification, either commercially and noncommercially. 148THESE FONTS ARE PROVIDED "AS IS" WITHOUT WARRANTY. 149``` 150 151### M+ BITMAP FONTS 152This package includes a C header file derived from M+ font(gryph/mplus.h). 153 154 155### Markus Kuhn's wcwidth 156This package includes Markus Kuhn's wcwidth(mk_wcwidth) 157 158``` 159Markus Kuhn -- 2007-05-26 (Unicode 5.0) 160 161Permission to use, copy, modify, and distribute this software 162for any purpose and without fee is hereby granted. The author 163disclaims all warranties with regard to this software. 164 165Latest version: http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c 166``` 167 168Contributors 169------------- 170 171- [@arakiken](https://bitbucket.org/arakiken/profile/repositories) 172- [IWAMOTO Kouichi(@ttdoda)](https://github.com/ttdoda) 173 174 175Similar Software 176---------------- 177 178### [sugyan/ttyrec2gif](https://github.com/sugyan/ttyrec2gif) 179 180This also generates GIF animation without taking screenshots, written in [Go](http://golang.org/). 181Using [j4k.co/terminal](http://godoc.org/j4k.co/terminal) as terminal emulation engine(). 182It is derived from [sugyan/ttygif](https://github.com/sugyan/tty2gif). 183 184 185### [uobikiemukot/recterm/tools/rec2gif.c](https://github.com/uobikiemukot/recterm/blob/master/tools/rec2gif.c) 186 187Additional tools which uses [yaft](https://github.com/uobikiemukot/yaft) terminal emulation engine, 188distributed with [uobikiemukot/recterm](https://github.com/uobikiemukot/recterm/). 189 190 191References 192---------- 193 194### [ttyrec](http://0xcc.net/ttyrec/index.html.en) 195 196A tty recorder. 197 198### [ttyrec4windows](https://github.com/mattn/ttyrec4windows) 199 200A Windows port for [ttyrec](http://0xcc.net/ttyrec/index.html.en) written in [Go](http://golang.org/). 201 202 203License 204------- 205 206![GPLv3](https://raw.githubusercontent.com/saitoha/seq2gif/master/images/gplv3.png) 207 208