aboutsummaryrefslogtreecommitdiff
path: root/Gem/pix_record-help.pd
blob: 0861e733df58efcd660e539d4596d36ff3b0c016 (plain)
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
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
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
#N canvas 435 61 682 509 10;
#X declare -lib Gem;
#X text 433 9 GEM object;
#X obj 9 375 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
0;
#X text 18 374 Arguments:;
#X obj 8 56 cnv 15 430 310 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 449 53 cnv 15 170 410 empty empty empty 20 12 0 14 -228992 -66577
0;
#X text 453 36 Example:;
#X obj 479 429 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 0 450 300 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X msg 67 70 set destroy;
#X msg 132 112 create \, 1;
#X msg 198 112 destroy;
#X msg 156 71 set create;
#X obj 67 41 route create;
#X connect 2 0 7 0;
#X connect 3 0 1 0;
#X connect 4 0 0 0;
#X connect 5 0 0 0;
#X connect 6 0 1 0;
#X connect 7 0 3 0;
#X connect 7 0 4 0;
#X connect 7 1 6 0;
#X connect 7 1 5 0;
#X restore 484 468 pd gemwin;
#X msg 484 449 create;
#X text 480 428 Create window:;
#X obj 451 194 cnv 15 167 230 empty empty empty 20 12 0 14 -24198 -66577
0;
#X obj 451 59 gemhead;
#X obj 451 128 pix_film;
#X obj 515 128 t f;
#X obj 464 81 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#N canvas 0 0 450 300 open 0;
#X obj 85 49 inlet;
#X obj 85 237 outlet;
#X obj 85 145 openpanel;
#X msg 85 179 open \$1;
#X msg 259 213 auto 1;
#X obj 268 179 loadbang;
#X connect 0 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 1 0;
#X connect 4 0 1 0;
#X connect 5 0 4 0;
#X restore 464 100 pd open;
#X text 485 74 open a supported;
#X text 486 85 movie-clip;
#X text 64 385 <none>;
#X text 50 12 Synopsis: [pix_record];
#X text 71 31 Class: pix object (output);
#X text 29 57 Description: write a sequence of pixes to a movie file
;
#X obj 451 403 pix_record;
#X obj 451 167 pix_draw;
#X obj 451 148 pix_invert;
#X text 18 104 You can choose the codec you want to use either via
a graphical dialog or by directly sending a "codec" with either the
name or the enumeration number of the codec. Use "codeclist" to query
the available codecs \, their names and their number.;
#X obj 470 343 cnv 15 145 25 empty empty empty 20 12 0 14 -225271 -66577
0;
#X msg 480 347 bang;
#X msg 552 347 auto \$1;
#X obj 533 348 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X obj 470 199 cnv 15 145 65 empty empty empty 20 12 0 14 -225271 -66577
0;
#X msg 476 224 codeclist;
#X msg 472 203 dialog;
#X obj 472 244 t a;
#X obj 460 271 cnv 15 155 65 empty empty empty 20 12 0 14 -225271 -66577
0;
#X msg 463 292 file /tmp/mymovie.mov;
#X obj 464 273 bng 15 250 50 0 empty empty empty 0 -6 0 8 -258699 -1
-1;
#N canvas 0 0 450 300 savepanel 0;
#X obj 114 62 inlet;
#X obj 114 254 outlet;
#X obj 114 199 t b a;
#X obj 114 125 savepanel;
#X msg 114 162 set file \$1;
#X connect 0 0 3 0;
#X connect 2 0 1 0;
#X connect 2 1 1 0;
#X connect 3 0 4 0;
#X connect 4 0 2 0;
#X restore 484 272 pd savepanel;
#X msg 520 315 record \$1;
#X obj 500 317 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X obj 463 315 t a;
#X text 14 73 [pix_write] writes a series of pixes into a movie file.
You can set the file to write to via the "file" message.;
#X text 18 174 When file and codec are specified \, you can open the
writing connection with the message "record 1".;
#X text 18 202 To actually do record a frame into the file \, send
the object a "bang" message. If you want to record a consecutive number
of frames \, use the "auto" message. This allows you to have full control
on which frames are to be recorded.;
#X text 17 269 The recording is finished and the file flushed to disk
\, after a "record 0" message is received. You might not be able to
access the file for reading before recording has finished.;
#X text 526 150 (do something);
#X text 515 168 (monitoring);
#X text 22 339 NOTE: currently only quicktime MOVies can be recorded.
This might change in the future (watch the console!);
#X obj 8 414 cnv 15 430 30 empty empty empty 20 12 0 14 -233017 -66577
0;
#N canvas 6 49 459 361 MESSAGES 0;
#X obj 9 15 cnv 15 430 340 empty empty empty 20 12 0 14 -233017 -66577
0;
#X text 34 17 Inlets:;
#X text 34 293 Outlets:;
#X text 12 307 Outlet 1: gemlist;
#X text 18 31 Inlet 1: gemlist;
#X text 18 50 Inlet 1: file <filename>: specify the file for writing
;
#X text 18 62 Inlet 1: record <0|1>: start recording (no actual grabbing
is done!) or stop recording (flush movie to disk);
#X text 18 91 Inlet 1: bang: grab the next incoming pix.;
#X text 18 103 Inlet 1: auto <0|1>: start/stop grabbing all incoming
pixes;
#X text 12 321 Outlet 2: number of frames written;
#X text 12 335 Outlet 3: info on available codecs/properties;
#X text 18 148 Inlet 1: codeclist: enumerate a list of available codecs
to the outlet#3;
#X text 18 178 Inlet 1: codec <int>: select codec #<int> from the codec-list
(and enumerate codec-properties to outlet#3);
#X text 18 203 Inlet 1: codec <symbol>: select codec by short name
(and enumerate codec-properties to outlet#3);
#X text 18 233 Inlet 1: set <symbol> <float>: set a property named
<symbol> to the value <float>. properties are persistent across codec-changes.
properties unknown to the currently selected coded are ignored.;
#X text 18 123 Inlet 1: dialog: popup a dialog to select the codec
(if available);
#X restore 83 420 pd MESSAGES;
#X floatatom 527 405 3 0 0 0 - - -;
#X msg 532 244 codec mjpa;
#X msg 552 225 codec 3;
#N canvas 129 512 599 344 PROPERTIES 0;
#N canvas 607 622 561 319 PropertyLogic 0;
#X obj 54 6 inlet;
#X obj 293 70 r \$0-nfo;
#X obj 54 45 route codeclist codec;
#X obj 126 67 f;
#N canvas 82 113 577 363 codecs 0;
#X obj 54 222 i;
#X text 90 229 numcodecs;
#X obj 241 132 max;
#X obj 241 154 t f f;
#X obj 54 8 inlet bang;
#X obj 241 47 inlet info;
#X obj 241 69 route codec;
#X obj 241 91 unpack 0 s;
#X msg 154 76 0;
#N canvas 504 68 565 365 id2name 0;
#X obj 95 197 list prepend;
#X obj 95 176 t b f;
#X obj 95 219 list split;
#X obj 195 286 symbol;
#X msg 195 261 symbol \$1;
#X obj 95 91 route float;
#X obj 128 238 route bang;
#X obj 95 69 inlet ID;
#X obj 338 77 route reset;
#X obj 338 55 inlet name#N | reset;
#X obj 412 128 list prepend;
#X obj 412 150 t l l;
#X obj 195 308 outlet name;
#X obj 412 107 symbol;
#X obj 338 99 t b;
#X connect 0 0 2 0;
#X connect 1 0 0 0;
#X connect 1 1 2 1;
#X connect 2 1 6 0;
#X connect 3 0 12 0;
#X connect 4 0 3 0;
#X connect 5 0 1 0;
#X connect 6 1 4 0;
#X connect 7 0 5 0;
#X connect 8 0 14 0;
#X connect 8 1 13 0;
#X connect 9 0 8 0;
#X connect 10 0 11 0;
#X connect 11 0 0 1;
#X connect 11 1 10 1;
#X connect 13 0 10 0;
#X connect 14 0 11 0;
#X restore 347 249 pd id2name;
#X obj 154 54 t b b;
#X msg 347 220 reset;
#X obj 77 76 s \$0-ctl;
#X msg 77 53 codeclist;
#X obj 54 30 t b b b;
#X obj 434 41 inlet query;
#X obj 434 63 t f;
#X obj 54 311 s \$0-numcodecs;
#X obj 347 292 s \$0-numcodecs;
#X msg 347 271 label \$1;
#X msg 146 113 label;
#X msg 54 292 set 0 \, number \$1;
#X connect 0 0 21 0;
#X connect 2 0 3 0;
#X connect 3 0 0 1;
#X connect 3 1 2 1;
#X connect 4 0 14 0;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 7 0 2 0;
#X connect 7 1 9 1;
#X connect 8 0 3 0;
#X connect 9 0 19 0;
#X connect 10 0 8 0;
#X connect 10 1 11 0;
#X connect 10 1 20 0;
#X connect 11 0 9 0;
#X connect 13 0 12 0;
#X connect 14 0 0 0;
#X connect 14 1 13 0;
#X connect 14 2 10 0;
#X connect 15 0 16 0;
#X connect 16 0 9 0;
#X connect 19 0 18 0;
#X connect 20 0 18 0;
#X connect 21 0 17 0;
#X restore 77 210 pd codecs;
#N canvas 1512 420 639 552 properties 0;
#X obj 283 56 inlet info;
#X obj 66 57 inlet codec;
#X msg 66 137 codec \$1;
#X obj 66 79 route float;
#X obj 66 159 s \$0-ctl;
#N canvas 506 60 565 365 id2name 0;
#X obj 95 197 list prepend;
#X obj 95 176 t b f;
#X obj 95 219 list split;
#X obj 195 286 symbol;
#X msg 195 261 symbol \$1;
#X obj 95 91 route float;
#X obj 128 238 route bang;
#X obj 95 69 inlet ID;
#X obj 338 77 route reset;
#X obj 338 55 inlet name#N | reset;
#X obj 412 128 list prepend;
#X obj 412 150 t l l;
#X obj 195 308 outlet name;
#X obj 412 107 symbol;
#X obj 338 99 t b;
#X connect 0 0 2 0;
#X connect 1 0 0 0;
#X connect 1 1 2 1;
#X connect 2 1 6 0;
#X connect 3 0 12 0;
#X connect 4 0 3 0;
#X connect 5 0 1 0;
#X connect 6 1 4 0;
#X connect 7 0 5 0;
#X connect 8 0 14 0;
#X connect 8 1 13 0;
#X connect 9 0 8 0;
#X connect 10 0 11 0;
#X connect 11 0 0 1;
#X connect 11 1 10 1;
#X connect 13 0 10 0;
#X connect 14 0 11 0;
#X restore 347 249 pd id2name;
#X msg 347 200 reset;
#X msg 301 249 label;
#X obj 66 101 t b f b;
#X msg 347 271 label \$1;
#X obj 301 200 t b b;
#X obj 283 79 route numprops property;
#X obj 236 354 s \$0-numproperties;
#X msg 236 326 number \$1 \, set 0;
#X obj 283 100 t f;
#X obj 507 250 r \$0-selprop;
#X obj 507 277 route float;
#X obj 342 459 s \$0-makeprop;
#X msg 342 437 set set \$1 \, adddollar 1;
#X obj 507 299 t f f;
#N canvas 505 64 565 365 id2name 0;
#X obj 95 197 list prepend;
#X obj 95 176 t b f;
#X obj 95 219 list split;
#X obj 95 91 route float;
#X obj 128 238 route bang;
#X obj 95 69 inlet ID;
#X obj 338 77 route reset;
#X obj 338 55 inlet name#N | reset;
#X obj 412 128 list prepend;
#X obj 412 150 t l l;
#X obj 195 308 outlet name;
#X obj 412 107 symbol;
#X obj 338 99 t b;
#X obj 195 286 symbol;
#X msg 195 261 symbol \$1;
#X connect 0 0 2 0;
#X connect 1 0 0 0;
#X connect 1 1 2 1;
#X connect 2 1 4 0;
#X connect 3 0 1 0;
#X connect 4 1 14 0;
#X connect 5 0 3 0;
#X connect 6 0 12 0;
#X connect 6 1 11 0;
#X connect 7 0 6 0;
#X connect 8 0 9 0;
#X connect 9 0 0 1;
#X connect 9 1 8 1;
#X connect 11 0 8 0;
#X connect 12 0 9 0;
#X connect 13 0 10 0;
#X connect 14 0 13 0;
#X restore 427 249 pd id2name;
#X obj 347 222 t a a;
#X obj 397 126 list;
#X msg 397 181 symbol \$1(\$2:\$3);
#X obj 397 149 t l s;
#X connect 0 0 11 0;
#X connect 1 0 3 0;
#X connect 2 0 4 0;
#X connect 3 0 8 0;
#X connect 5 0 9 0;
#X connect 6 0 21 0;
#X connect 7 0 12 0;
#X connect 8 1 2 0;
#X connect 8 2 10 0;
#X connect 9 0 12 0;
#X connect 10 0 7 0;
#X connect 10 1 6 0;
#X connect 11 0 14 0;
#X connect 11 1 22 0;
#X connect 13 0 12 0;
#X connect 14 0 13 0;
#X connect 15 0 16 0;
#X connect 16 0 19 0;
#X connect 18 0 17 0;
#X connect 19 0 5 0;
#X connect 19 1 20 0;
#X connect 20 0 18 0;
#X connect 21 0 5 1;
#X connect 21 1 20 1;
#X connect 22 0 24 0;
#X connect 23 0 5 1;
#X connect 24 0 23 0;
#X connect 24 1 20 1;
#X restore 254 200 pd properties;
#X obj 126 95 t b f f b;
#X msg 186 116 2;
#X obj 293 92 list prepend 0;
#X msg 100 159 1;
#X obj 293 134 route 0 1 2;
#X obj 54 137 t b b b;
#X msg 54 159 0;
#X obj 100 181 t f;
#X msg 126 117 0;
#X obj 126 139 t f;
#X obj 293 156 s \$0-nfoprint;
#N canvas 4 49 450 300 reset 0;
#X obj 99 217 s \$0-numcodecs;
#X obj 99 195 t a a;
#X obj 219 217 s \$0-numproperties;
#X obj 99 28 inlet;
#X obj 99 50 t b b;
#X msg 99 173 number 0 \, label;
#X obj 270 180 s \$0-makeprop;
#X msg 270 154 set;
#X connect 1 0 0 0;
#X connect 1 1 2 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 4 1 7 0;
#X connect 5 0 1 0;
#X connect 7 0 6 0;
#X restore 174 266 pd reset;
#X msg 174 246 bang;
#X text 219 242 <-- clear for saving;
#X connect 0 0 2 0;
#X connect 1 0 8 0;
#X connect 2 0 11 0;
#X connect 2 1 3 0;
#X connect 3 0 6 0;
#X connect 6 0 14 0;
#X connect 6 1 5 0;
#X connect 6 2 4 2;
#X connect 6 3 7 0;
#X connect 7 0 15 0;
#X connect 8 0 10 0;
#X connect 9 0 13 0;
#X connect 10 0 16 0;
#X connect 10 1 4 1;
#X connect 10 2 5 1;
#X connect 11 0 12 0;
#X connect 11 1 4 0;
#X connect 11 2 9 0;
#X connect 12 0 13 0;
#X connect 13 0 8 1;
#X connect 14 0 15 0;
#X connect 15 0 8 1;
#X connect 18 0 17 0;
#X restore 68 269 pd PropertyLogic;
#X msg 68 25 codeclist;
#X text 142 25 INIT: query all available codecs;
#X text 86 51 select an available codec (and query available properties)
;
#X msg 96 245 set framerate \$1;
#X floatatom 96 227 3 0 100 0 - - -;
#X obj 82 71 cnv 15 100 60 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 87 80 hradio 15 1 0 1 empty \$0-numcodecs empty 0 -8 0 10 -262144
-1 -1 0;
#X msg 87 100 codec \$1;
#X obj 82 152 cnv 15 200 70 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 87 160 hradio 15 1 0 1 \$0-selprop \$0-numproperties empty 0
-8 0 10 -262144 -1 -1 0;
#X msg 87 202;
#X floatatom 87 182 0 0 0 0 - #0-propvalue -;
#X obj 297 185 r \$0-makeprop;
#X text 87 138 set a codec-property;
#X text 121 227 override the framerate (default: Gem's framerate);
#X connect 1 0 0 0;
#X connect 4 0 0 0;
#X connect 5 0 4 0;
#X connect 7 0 8 0;
#X connect 8 0 0 0;
#X connect 11 0 0 0;
#X connect 12 0 11 0;
#X connect 13 0 11 0;
#X restore 243 420 pd PROPERTIES;
#X obj 553 386 r \$0-ctl;
#X obj 621 261 s \$0-ctl;
#X obj 620 332 s \$0-ctl;
#N canvas 6 49 515 369 print 0;
#X obj 102 176 inlet;
#X obj 102 198 s \$0-nfo;
#X obj 102 220 r \$0-nfoprint;
#X obj 102 242 print INFO;
#X text 62 90 actually you can just hook a [print] to the 3rd outlet.
;
#X text 64 115 here it's a bit more complicated \, as we want to filter
out the messages generated from the [pd PROPERTIES] window.;
#X connect 0 0 1 0;
#X connect 2 0 3 0;
#X restore 553 403 pd print;
#X obj 518 8 declare -lib Gem;
#X connect 7 0 8 0;
#X connect 8 0 7 0;
#X connect 11 0 12 0;
#X connect 12 0 24 0;
#X connect 12 2 13 0;
#X connect 13 0 12 1;
#X connect 14 0 15 0;
#X connect 15 0 12 0;
#X connect 22 1 50 0;
#X connect 22 2 57 0;
#X connect 23 0 22 0;
#X connect 24 0 23 0;
#X connect 27 0 22 0;
#X connect 28 0 22 0;
#X connect 29 0 28 0;
#X connect 31 0 33 0;
#X connect 32 0 33 0;
#X connect 33 0 55 0;
#X connect 35 0 40 0;
#X connect 36 0 37 0;
#X connect 37 0 35 0;
#X connect 38 0 40 0;
#X connect 39 0 38 0;
#X connect 40 0 56 0;
#X connect 51 0 33 0;
#X connect 52 0 33 0;
#X connect 54 0 22 0;