File: ibniz.rst

package info (click to toggle)
ibniz 1.18-1
  • links: PTS
  • area: main
  • in suites: buster, jessie, jessie-kfreebsd, stretch
  • size: 356 kB
  • ctags: 350
  • sloc: ansic: 1,854; perl: 619; makefile: 57
file content (88 lines) | stat: -rw-r--r-- 2,755 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
=========
 ibniz
=========

----------------------------------------------------------
Virtual machine for compact low-level audiovisual programs
----------------------------------------------------------

:Author: Originally written by Ville-Matias Heikkila <viznut@low.fi>, Man page by maxigas <maxigas@anargeek.net>, based on the original ibniz.txt.
:Date:   2013-09-23
:Copyright: zlib
:Version: 1.18
:Manual section: 1
:Manual group: real time audio-video synthesis

SYNOPSIS
========

  ibniz [OPTION]... [CODE]

DESCRIPTION
===========

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.

OPTIONS
=======

--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.

COMMAND LINE OPTIONS
====================

-h       Dump help on command line usage
-v       Dump version info
-c CODE  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

EXAMPLES
========

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``

SEE ALSO
========

* `ibniz.txt </usr/share/doc/ibniz/ibniz.txt>`