aboutsummaryrefslogtreecommitdiff
path: root/Gem/examples/04.pix/05.film.pd
blob: 8332716ee75a4e877d1e926162c09e5e8125b733 (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
#N canvas 61 44 827 553 12;
#X obj 90 186 gemhead;
#X floatatom 220 155 5 0 0 0 - - -;
#X msg 150 156 auto \$1;
#X obj 150 137 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
1;
#X floatatom 124 261 5 0 0 0 - - -;
#X msg 197 392 -1 -2 -1 -2 8 -2 1 -2 1;
#X obj 90 467 pix_convolve 3 3;
#X text 472 233 load and play-back a movie;
#X text 368 28 win32:;
#X text 212 134 frame;
#N canvas 243 65 604 505 README 0;
#X text 49 38 the pix_film is the same as pix_movie but does not texture
the movie immediately onto a Geo.;
#X text 50 77 therefore it is possible to manipulate the frames;
#X text 48 106 the pix_film object will return the movie in it's (more
or less) native color-space. most of the times \, this will probably
be not RGBA but RGB or BGR (on windows machines).;
#X text 48 153 do not worry about this. however \, most of the pix-manips
will only work correctly on RGBA-pixes. if this is the case and you
send it a non-RGBA picture it will say something like "pix_object cannot
handle gray image".;
#X text 49 226 to avoid this \, you can convert your pix-buff to RGBA
using "pix_rgba". this will be a no-cost operation if the pix_buf already
is in RGBA.;
#X text 36 334 you might notice a significant performance-enhancement
by just turning the [pix_rgba] off (via the toggle). however \, not
[pix_rgba] is expensive but actually the [pix_convolve] (which appears to do
nothing when initialized with "0 0 0 0 1 0 0 0 0". When [pix_rgba]
is "off" \, the [pix_convolve] will be bypassed \, and therefore be
very fast.;
#X restore 635 187 pd README;
#X obj 90 573 square 4;
#X obj 90 233 pix_film;
#X floatatom 149 547 5 0 0 0 - - -;
#X msg 393 48 open ../data/homer.avi;
#X msg 386 111 open ../data/anim-1.mov;
#X msg 391 156 open ../data/alea.mpg;
#X text 247 502 you have to texture the movie by hand;
#X text 256 466 manipulate the movie (expensive!);
#X text 26 10 load \, play and manipulate digital videos;
#X text 423 397 edge detection;
#X msg 230 424 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125 0.125
;
#X text 715 422 smoothing;
#X obj 289 252 t f;
#X obj 197 368 loadbang;
#X obj 110 439 tgl 15 0 empty empty empty 20 8 0 8 -262144 -1 -1 0
1;
#X obj 90 500 pix_texture;
#X obj 20 49 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 454 304 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 182 68 set create;
#X msg 132 112 create \, 1;
#X msg 238 112 destroy;
#N canvas 87 154 247 179 Gem.init 0;
#X obj 118 46 loadbang;
#X msg 118 81 reset;
#X obj 118 113 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X restore 289 80 pd Gem.init;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X restore 25 93 pd gemwin;
#X msg 25 69 create;
#X text 21 49 Create window and render;
#X text 358 91 linux \, OSX:;
#X text 363 140 linux \, ??:;
#X obj 345 181 t a;
#X msg 410 207 open \$1;
#X obj 410 185 symbol;
#X obj 471 185 openpanel;
#X obj 563 185 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 90 309 pix_rgba;
#X text 178 289 transform the movie into RGBA-space (if the image is
not RGBA \, [pix_convolve] might not be able to process the image and
therefore will do nothing \, which will dramatically "increase" performance)
;
#X connect 0 0 12 0;
#X connect 1 0 12 1;
#X connect 2 0 12 0;
#X connect 3 0 2 0;
#X connect 5 0 6 2;
#X connect 6 0 26 0;
#X connect 12 0 38 0;
#X connect 12 1 4 0;
#X connect 12 2 23 0;
#X connect 13 0 11 1;
#X connect 14 0 33 0;
#X connect 15 0 33 0;
#X connect 16 0 33 0;
#X connect 21 0 6 2;
#X connect 23 0 12 1;
#X connect 24 0 5 0;
#X connect 25 0 6 0;
#X connect 26 0 11 0;
#X connect 28 0 29 0;
#X connect 29 0 28 0;
#X connect 33 0 12 0;
#X connect 34 0 33 0;
#X connect 35 0 34 0;
#X connect 36 0 35 0;
#X connect 37 0 36 0;
#X connect 38 0 6 0;