Virtual machine for compact low-level audiovisual programs
ibniz [OPTION]... [CODE]
Virtual machine for compact low-level audiovisual programs
IBNIZ is a virtual machine designed for extremely compact low-level audiovisual programs. The leading design goal is usefulness as a platform for demoscene productions, glitch art and similar projects. Mainsteam software engineering aspects are considered totally irrelevant.
IBNIZ stands for Ideally Bare Numeric Impression giZmo. The name also refers to Gottfried Leibniz, the 17th-century polymath who, among all, invented binary arithmetic, built the first four-operation calculating machine, and believed that the world was designed with the principle that a minimal set of rules should yield a maximal diversity.
The IBNIZ virtual machine is basically a two-stack machine somewhat similar to Forth implementations but with the major difference that the stack is cyclical and also used as output buffer. The machine runs in an endless loop by default, with the loop counter variable(s) pushed on top of the stack on every loop cycle.
Each instruction is one character long, with the exception of 'loadimm' which consists of a string of hexadecimal digits. This also gives IBNIZ some flavor of an esoteric programming language.
--config=<file>
Read configuration settings from <file>, if it exists.
--version, -V
Show this program's version number and exit.
--help, -h
Show this help message and exit.
And a lot more standard docutils options.
-h
Dump help on command line usage
-v
Dump version info
-cCODE
Execute code
-n
No autorun of loaded code
The following extra options were added for creating the YouTube video:
-e
Dump user keystrokes to stdout
-p
Playback dumped user keystrokes from stdin
-M
Dump raw video to stdout and raw audio to stderr, 30 fps, non-realtime, yuv4mpeg2 and pcm_s16
Some commands used in this process, for reference:
./ibniz -e > events
./ibniz -M -p < events 2>vid.pcm | ffmpeg -y -i - -r 30 vid.avi
ffmpeg -i vid.avi -f s16le -ar 44100 -ac 1 -i vid.pcm -vcodec copy vidav.avi
ibniz.txt </usr/share/doc/ibniz/ibniz.txt>
Originally written by Ville-Matias Heikkila <[email protected]>, Man page by maxigas <[email protected]>, based on the original ibniz.txt.
zlib