aatv - A simple aalib-based TV program for meteor/bktr devices on FreeBSD Robert Watson Introduction aatv renders meteor/bktr video input using aalib, an ascii art library available under the LGPL. There's support for a tuner, but I can't test it as I don't have a frame sync on my tuner port, causing aatv to hang waiting for a frame. If it doesn't work, try changing the device number in the source to something else. Building Install the aalib package/port, then build aatv. There are some compile-time toggles in aatv.c, such as "quiet" and "cleanup_on_sane_exit" which respectively prevent debugging/frame output to stdout, and cause the terminal to be cleaned up on exit. To build the aatv binary, just run: make Running aatv accepts various aalib arguments to set display type, permissible characters for output, etc. ./aatv You might want to consider things like: ./aatv -driver curses ./aatv -eight -inverse Usage Key Usage b Lower brightness B Raise brightness c Lower contrast C Raise contrast r Set RCA as source s Set SVideo as source t Set Tuner as source (probably broken) + Go up a channel (probably broken) - Go down a channel (probably broken) q Quit Currently, aatv doesn't support the tuner or extended bktr input types. It's really just a question of sticking the right ioctl's in video.c and adding keypresses to the event loop. Revision History 0.1 First revision, for what it was worth. 0.2 Basic tuner support, slightly better abstraction. 0.3 Use AUTOMODE instead of always picking NSTC, fix bug in mode setting abstraction. 0.4 Sort application defaults together in the source code; always check return values when setting defaults. 0.5 Use memory mapped buffer rather than read(2) by default. 0.6 Bugfixes in mapped and read models; mapped reading now no longer requires ioctls so may operate better in the presence of input channels without a frame sync signal (previously, ioctls would hang).