71 lines
2.4 KiB
Markdown
71 lines
2.4 KiB
Markdown
|
# Chaining Lasers In Submission Tools for LJ
|
||
|
|
||
|
Alright everybody, ready for some fun? Here comes The Piping And Plumbing Your Way To The Top Show!
|
||
|
|
||
|
You're going to push so many points to this laser it will hog and cry...
|
||
|
|
||
|
BOOM | WIIIIIZ :: PHHHHHRACKRACKRACK ~~ WOOP ~~###~~ WIIT
|
||
|
|
||
|
|
||
|
## The basic loop
|
||
|
```
|
||
|
python3 generators/dummy.py -f 2 | python3 filters/kaleidoscope.py | python3 exports/toRedis.py -v
|
||
|
------------------------------ --------------------- -------------------
|
||
|
\/ \/ \/
|
||
|
Generator Filter Export
|
||
|
```
|
||
|
|
||
|
### 1. The Generator
|
||
|
|
||
|
Use it to produce some points in any manner, orderly or total chaos.
|
||
|
|
||
|
Don't be that boring Sinusoids bugger! Flash Maps of Dooms, Disbitnic sprites, Dismorphic HexaFonts all over the walls!
|
||
|
|
||
|
### 2. The Filter(s)
|
||
|
|
||
|
These babies will modify data on the wire by passing around the points and modifying them in sequence.
|
||
|
|
||
|
Want your Double Heavy Laser Cannons to Bounce Together Like They Been Drinking Jagerbombs For Two Hours? That's the place.
|
||
|
|
||
|
### 3. The Exporter
|
||
|
|
||
|
Now, this IS the most boring part. Send your points to whatever output system. Yawn. Are we there yet?
|
||
|
|
||
|
## Hacking around
|
||
|
|
||
|
Say what!? Why, this is exactly the place for that!
|
||
|
|
||
|
Take a seat and copy paste the "dummy.py" files, they present the basic structure you need to play around.
|
||
|
|
||
|
Just be cautious to use the `debug` method if you're the kind of miss that debugs by outputing data structures (who does not, yah know, sometimes?). Or you'll break the chain.
|
||
|
|
||
|
### Generators
|
||
|
|
||
|
They must send list of points to standard out. Don't forget the "flush" argument, or the piping will be breaking, ain't no Mario lazering.
|
||
|
|
||
|
* dummy.py : sends always the same list of points. The Monomaniac.
|
||
|
* @todo : read texts from redis and others
|
||
|
|
||
|
### Filters
|
||
|
|
||
|
These do listen and read on STDIN and do the same print'n'flush on STDOUT.
|
||
|
|
||
|
* kaleidoscope.py : mirrors the points based on a pivot
|
||
|
* @todo : fourier analysis and other realtime reaction
|
||
|
|
||
|
### Export
|
||
|
|
||
|
Read from STDIN and send to redis mostly
|
||
|
|
||
|
* toRedis.py : provide a key, server IP, etc.
|
||
|
|
||
|
### Common parameters
|
||
|
|
||
|
Every command can be called with a `-h/--help` flag to get some help
|
||
|
|
||
|
Every command has a `-v/--verbose` flag to send debug info to STDERR.
|
||
|
|
||
|
Generators have a `-f/--fps` param for FPS, to be fast but not so furious on your machine
|
||
|
|
||
|
Filters and Exports are their own beasts
|