comparison doc/talk.py @ 301:6f8dd03e0d4a

add baypiggies talk
author Drew Perttula <drewp@bigasterisk.com>
date Mon, 27 Jun 2005 05:31:25 +0000
parents
children
comparison
equal deleted inserted replaced
300:71050b87f208 301:6f8dd03e0d4a
1 def light9_presentation():
2 """
3 Drew Perttula
4
5 drewp@bigasterisk.com
6
7 http://light9.bigasterisk.com
8
9
10 Goals of light9:
11
12 - control the brightness of many lights while playing music
13
14 - allow easy editing of the show
15
16 - allow easy maintenance of the code, even while the show is running
17
18
19
20
21
22
23
24
25 """
26
27
28
29
30
31
32
33
34
35 def dependencies():
36 """
37 Twisted - event loop and networking
38 TwistedWeb - xmlrpc protocol
39 tk, tix
40 pympd - my twisted interface to mpd
41 pydispatcher - signals
42
43 mpd - music player daemon
44
45 swig - interface to C code
46 darcs
47
48 *
49
50
51
52
53
54
55 """
56
57
58
59
60
61 def connections():
62 """
63 (play cmds)
64 ascoltami --------------> mpd ----------> audio out
65 | (timing)
66 v
67 curvecalc subcomposer keyboardcomposer
68 | | |
69 +--- | ----+
70 \----- | --------/
71 \--+---/
72 | (light levels)
73 v
74 * dmxserver
75 | (dmx levels)
76 ......... v ....................
77 . chippy .
78 . | (dmx) . external hardware
79 . v .
80 . dmx dimmer .
81 . | (juice) .
82 . v .
83 . light .
84 ................................
85 """
86
87
88 def metrics():
89 """
90 selected linecounts:
91 356 ascoltami (music player)
92 318 curvecalc (curve and expression editor)
93 279 keyboardcomposer
94 189 dmxserver (hardware output)
95 153 subcomposer
96 17 wavecurve (create smoothed waveforms from .wav)
97
98 311 light9/curve.py (curve widgets)
99 191 light9/FlyingFader.py (enhanced tk.Scale)
100 168 light9/Submaster.py
101 * 151 light9/zoomcontrol.py
102 137 light9/dmxchanedit.py
103 40 light9/wavepoints.py
104
105 65 light9/io/parport.c (dmx interface protocol)
106 50 light9/io/serport.i (i2c interface to sliders)
107
108 total in project: about 3200 in about 30 files
109
110 """
111
112
113
114 def future_projects():
115 """
116 A submaster server that talks with the other programs and
117 eliminates all the explicit saving and reloading of subs
118
119 More abstract output layer, to which I can add home lighting, for
120 example
121
122 Small timed 'clips' that can be triggered
123
124 Generalize to a whizzy, distributed real-time circuit simulator
125 node network with a 5GL editor and failsafe checkpointing and
126 redundancy
127 *
128
129
130
131 """
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153