906bf44692d5b70d0518fe2ed044aef6a77e4a10
Stefan Schuermans start page of documentation

Stefan Schuermans authored 12 years ago

1) <html>
2)   <head>
3)     <title>Blinker</title>
4)   </head>
5)   <body>
6)     <h1>Blinker</h1>
7)     <p>
8)       Blinker is a server for LED projects and Blinken-houses that are driven
9)       by Blinkenlights network streams.
10)     </p>
11)     <h2>Overview</h2>
12)     <p>
13)       Blinker is based on different modules, which can be connected via
14)       streams.
15)       Several types of modules are available, for example a movie player,
16)       a network stream sender, modules to mix and separate streams.
17)     </p>
18)     <h2>Getting Started</h2>
19)     <p>
20)       As Blinker uses BlinkenLib to perform the low-level operations
21)       on Blinken movies and Blinken streams, BlinkenLib has to be
22)       installed first.
23)     </p>
24)     <p>
25)       Go to the <code>src</code> directory and type <code>make</code>.
26)       This should compile Blinker and produce a binary <code>Blinker</code>
27)       in this directory.
28)     </p>
29)     <p>
30)       Start Blinker using the example configuration directory using
31)       <code>./Blinker ../example_cfg</code>.
32)       You should see a small test movie appearing on standard output
33)       (printed there by a printer module).
34)       Other movies are sent as MCUF streams over UDPv4, one stream
35)       is sent to <code>127.0.0.1:2323</code>.
36)     </p>
37)     <h2>Streams</h2>
38)     <p>
39)       Every stream is identified by a name and works like a TV program.
40)       A source creates the content and uses the stream to distribute
41)       it to its receivers.
42)       A single stream can have any number of receivers, they all receive the
43)       same content.
44)       Usually, there should be only one provider of content for a single
45)       stream.
46)       If multiple parties send video frames to the stream, the frames
47)       are mixed, which is most likely not what you want.
48)     </p>
Stefan Schuermans documentation for operator...

Stefan Schuermans authored 12 years ago

49)     <h2>Operator Connections</h2>
50)     <p>
51)       Some modules can react to events and/or send events to other modules.
52)       Suche events are delivered over so-called operator connections.
53)       A module can caonnect to another module listen for incoming operator
54)       connections.
55)       If this connection is accepted, both modules can exchange events over
56)       the connection until one of the modules choses to close the connection.
57)       <br>
58)       In the context of controlling Blinkenlights style displays over a phone
59)       connections, events can be keys pressed on the phone or requests to play
60)       a certain sound.
61)     </p>
Stefan Schuermans start page of documentation

Stefan Schuermans authored 12 years ago

62)     <h2>Configuration Directory</h2>
63)     <p>
64)       The configuration of blinker is not stored in a single file, but in a
65)       directory structure, reflecting the inner structure of Blinker's
66)       modules.
67)       This way, every module has got its own configuration directory
68)       containing single files each containing one simple setting.
69)       It the module has some internel structure, those config setting
70)       files are organized in a directory structure underneath the module's
71)       configuration directory.
72)     </p>
73)     <p>
74)       The main config directory contains a directory for each module
75)       class, e.g. <code>players</code> for movie player modules.
76)       Inside, there is an arbitrary number of subdirectories, one
77)       for each instantance of the player module.
78)       E.g. the <code>players/stereoscope</code> directory in the example
79)       configuration (<code>example_cfg</code> directory in the top level)
80)       contains the configuration of the movie player for Blinkenlights
81)       stereoscope movies.
82)     </p>
83)     <p>
84)       Reconfiguration can happen at runtime by just changing the configuration
85)       directory.
86)       Blinker will detect those changes and adapt its operation to the new
87)       configuration without restart.
88)       <br>
89)       Sometimes, especially after an invalid configuration has been seen by
90)       Blinker, changes are not automatically detected by Blinker.
91)       In this case, it is neccessary to <code>touch</code> the parent
92)       directory containing the setting file to make Blinker aware of
93)       the reconfiguration.
94)       (Solving this issue is planned.)
95)     </p>
96)     <h2>Modules</h2>
97)     <p>
98)       The following module types are available for instantiation:
99)       <ul>
Stefan Schuermans more documentation

Stefan Schuermans authored 12 years ago

100)         <li><a href="canvas.html">Canvas</a></li>
Stefan Schuermans added flexipix output suppo...

Stefan Schuermans authored 12 years ago

101)         <li><a href="flexipix.html">FlexiPix</a></li>
Stefan Schuermans implemented loveletter module

Stefan Schuermans authored 12 years ago

102)         <li><a href="loveletter.html">Loveletter</a></li>
Stefan Schuermans documentation for operator...

Stefan Schuermans authored 12 years ago

103)         <li><a href="opprinter.html">Operator Connection Printer</a></li>
Stefan Schuermans implemnted operator connect...

Stefan Schuermans authored 12 years ago

104)         <li><a href="opsplitter.html">Operator Connection Splitter</a></li>
Stefan Schuermans implemented output module t...

Stefan Schuermans authored 12 years ago

105)         <li><a href="output.html">Output</a></li>
Stefan Schuermans more documentation

Stefan Schuermans authored 12 years ago

106)         <li><a href="player.html">Player</a></li>
107)         <li><a href="printer.html">Printer</a></li>
Stefan Schuermans implemented priority based...

Stefan Schuermans authored 12 years ago

108)         <li><a href="priority.html">Priority</a></li>
Stefan Schuermans implement frame rate limiter

Stefan Schuermans authored 10 years ago

109)         <li><a href="ratelimiter.html">Rate Limiter</a></li>
Stefan Schuermans implemented resizer module

Stefan Schuermans authored 12 years ago

110)         <li><a href="resizer.html">Resizer</a></li>
Stefan Schuermans implemented scaler module

Stefan Schuermans authored 12 years ago

111)         <li><a href="scaler.html">Scaler</a></li>
Stefan Schuermans implement sync stream printer

Stefan Schuermans authored 10 years ago

112)         <li><a href="syncprinter.html">Synchronization Printer</a></li>
Stefan Schuermans documentation of stream tra...

Stefan Schuermans authored 10 years ago

113)         <li><a href="transformer.html">Transformer</a></li>
Stefan Schuermans documentation for operator...

Stefan Schuermans authored 12 years ago

114)         <li><a href="udp4phone.html">UDP4 Phone Connector</a></li>
Stefan Schuermans implemented stream receiver

Stefan Schuermans authored 12 years ago

115)         <li><a href="udp4receiver.html">UDP4 Receiver</a></li>
Stefan Schuermans more documentation

Stefan Schuermans authored 12 years ago

116)         <li><a href="udp4sender.html">UDP4 Sender</a></li>
Stefan Schuermans documentation of sync receiver

Stefan Schuermans authored 10 years ago

117)         <li><a href="udp4syncreceiver.html">UDP4 Synchronization Receiver</a></li>
118)         <li><a href="udp6phone.html">UDP6 Phone Connector</a></li>
119)         <li><a href="udp6receiver.html">UDP6 Receiver</a></li>
120)         <li><a href="udp6sender.html">UDP6 Sender</a></li>
121)         <li><a href="udp6syncreceiver.html">UDP6 Synchronization Receiver</a></li>
Stefan Schuermans start page of documentation

Stefan Schuermans authored 12 years ago

122)       </ul>
123)     </p>
124)     <h2>Copyright / Copyleft</h2>
125)     <p>
126)       Blinker<br>
Stefan Schuermans documentation of sync receiver

Stefan Schuermans authored 10 years ago

127)       Copyright 2011-2014 Stefan Schuermans &lt;stefan@blinkenarea.org&gt;<br>
Stefan Schuermans start page of documentation

Stefan Schuermans authored 12 years ago

128)       Copyleft GNU public license - http://www.gnu.org/copyleft/gpl.html<br>
129)       a blinkenarea.org project
130)     </p>
131)     <h2>Links</h2>
132)     <ul>
133)       <li>
Stefan Schuermans fixed links

Stefan Schuermans authored 12 years ago

134)         <a href="https://git.blinkenarea.org/?p=Blinker">
Stefan Schuermans start page of documentation

Stefan Schuermans authored 12 years ago

135)           Blinker GIT repository
136)         </a>
137)       </li>
138)       <li>
Stefan Schuermans fixed links

Stefan Schuermans authored 12 years ago

139)         <a href="https://git.blinkenarea.org/?p=BlinkenLib">
Stefan Schuermans start page of documentation

Stefan Schuermans authored 12 years ago

140)           BlinkenLib GIT repository
141)         </a>
142)       </li>
143)       <li>
Stefan Schuermans fixed links

Stefan Schuermans authored 12 years ago

144)         <a href="https://wiki.blinkenarea.org/index.php/Protocols">
Stefan Schuermans start page of documentation

Stefan Schuermans authored 12 years ago

145)           Information about Blinken protocols
146)         </a>
147)       </li>
148)       <li>
Stefan Schuermans fixed links

Stefan Schuermans authored 12 years ago

149)         <a href="https://wiki.blinkenarea.org/index.php/DateiformateEnglish">
Stefan Schuermans start page of documentation

Stefan Schuermans authored 12 years ago

150)           Information about Blinken movie file formats
151)         </a>
152)       </li>
153)       <li>
Stefan Schuermans fixed links

Stefan Schuermans authored 12 years ago

154)         <a href="https://www.blinkenarea.org/">
Stefan Schuermans start page of documentation

Stefan Schuermans authored 12 years ago

155)           BlinkenArea is a group of people building and operating Blinken stuff
156)         </a>
157)       </li>
158)       <li>
Stefan Schuermans fixed links

Stefan Schuermans authored 12 years ago

159)         <a href="http://www.blinkenlights.de/">