362c1f4c3b5ce9e3fce11167a51fbe4cdb2174de
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 implement filter module

Stefan Schuermans authored 10 years ago

101)         <li><a href="filter.html">Filter</a></li>
Stefan Schuermans rename FlexiPix to EtherPix

Stefan Schuermans authored 7 years ago

102)         <li><a href="etherpix.html">EtherPix</a></li>
Stefan Schuermans implemented loveletter module

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 10 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

112)         <li><a href="scaler.html">Scaler</a></li>
Stefan Schuermans implement passing on only a...

Stefan Schuermans authored 6 years ago

113)         <li><a href="syncnamesplitter.html">Synchronization Name Splitter</a></li>
Stefan Schuermans implement sync stream printer

Stefan Schuermans authored 10 years ago

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

Stefan Schuermans authored 10 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 10 years ago

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

Stefan Schuermans authored 12 years ago

124)       </ul>
125)     </p>
126)     <h2>Copyright / Copyleft</h2>
127)     <p>
128)       Blinker<br>
Stefan Schuermans update copyright header

Stefan Schuermans authored 5 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

137)           Blinker GIT repository
138)         </a>
139)       </li>
140)       <li>
Stefan Schuermans fixed links

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

142)           BlinkenLib GIT repository
143)         </a>
144)       </li>
145)       <li>
Stefan Schuermans fixed links

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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

Stefan Schuermans authored 12 years ago

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