aboutsummaryrefslogtreecommitdiff
path: root/Gem/pix_film-help.pd
blob: e924bba2a5565cfca218df05833b28ced35369b0 (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
#N canvas 163 146 704 623 10;
#X declare -lib Gem;
#X text 452 8 GEM object;
#X obj 9 272 cnv 15 430 340 empty empty empty 20 12 0 14 -233017 -66577
0;
#X text 40 274 Inlets:;
#X text 39 487 Outlets:;
#X obj 9 239 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
0;
#X text 18 238 Arguments:;
#X obj 8 56 cnv 15 430 180 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 449 57 cnv 15 250 450 empty empty empty 20 12 0 14 -228992 -66577
0;
#X text 453 40 Example:;
#X obj 594 440 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 50 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 599 479 pd gemwin;
#X msg 599 460 create;
#X text 595 439 Create window:;
#X obj 451 88 cnv 15 175 300 empty empty empty 20 12 0 14 -24198 -66577
0;
#X obj 451 63 gemhead;
#X text 17 503 Outlet 1: gemlist;
#X text 18 288 Inlet 1: gemlist, f 68;
#X obj 451 410 pix_texture;
#X obj 463 90 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 505 57 open a supported;
#X text 506 68 movie-clip;
#X floatatom 466 342 5 0 0 3 length - -;
#X floatatom 514 342 5 0 0 3 width - -;
#X floatatom 565 342 5 0 0 3 height - -;
#X obj 514 281 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144
-1 -1;
#X floatatom 504 263 5 0 10000 1 frameNum - -;
#X text 71 31 Class: pix object (pix source);
#X text 29 57 Description: load in a movie-file;
#X obj 463 117 openpanel;
#X msg 463 136 open \$1;
#X obj 451 432 rectangle 4 3;
#X text 50 12 Synopsis: [pix_film];
#X text 15 78 [pix_film] loads in a preproduced digital-video to be
used as a texture \, bitblit or something else., f 69;
#X text 64 249 symbol: file to load initially;
#X text 18 303 Inlet 1: message: open <filename> [RGBA|YUV|Grey]: opens
the movie <filename> and decodes it into the specified color-space.
, f 69;
#X text 18 336 Inlet 1: message: colorspace "RGBA|YUV|Grey": decodes
the current film into the specified colorspace., f 69;
#X text 18 365 Inlet 1: message : auto 1|0 : starts/stops automatic
playback. (default:0), f 69;
#X text 17 576 Outlet 3: bang: indicates that the last frame has been
reached. (or: an illegal frame would have been decoded), f 69;
#X msg 469 174 auto \$1;
#X obj 469 156 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
1;
#X msg 480 193 colorspace Grey;
#X text 13 104 You can open a specified film via the "open" message
\, which takes an optional argument for the colorspace \, to which
the movie should be decoded (RGBA \, YUV or Grey)., f 70;
#X text 17 520 Outlet 2: list: <length> <width> <height> <fps>: gets
the dimensions (in frames and pixels) of a film when it gets loaded.
if length is not available (video-streams) -1 is returned., f 69;
#N canvas 18 78 928 614 :: 0;
#X text 24 16 the format [pix_film] is able to decode depends on the
system you are running Gem.;
#X text 33 52 basically Gem's decoding capabilities are handled by
plugins. You should see \, which plugins are loaded \, when instantiating
the first [pix_film] object: a line "[pix_film]: foo support" means
\, that the 'foo' plugin has been loaded.;
#X text 453 50 you can add a plugin to your system by simply copying
the plugin-binary called "gem_filmNAME.dll" (or gem_filmNAME.so if
you are on a unix-like system) into your Gem-directory (where you find
the Gem-binary \, e.g. Gem.dll);
#X text 456 103 if you want to remove a plugin (e.g. because you are
not satisfied with the decoding quality of because it is unstable)
\, you can simply remove the corresponding gem_filmNAME.dll file from
your Gem-directory.;
#X text 35 123 which media can be decoded \, depends on the installed
plugins and on the codecs you have installed on your system.;
#X obj 45 248 cnv 15 200 15 empty empty empty 20 12 0 14 -203904 -66577
0;
#X obj 45 303 cnv 15 200 15 empty empty empty 20 12 0 14 -203904 -66577
0;
#X obj 445 248 cnv 15 200 15 empty empty empty 20 12 0 14 -203904 -66577
0;
#X text 449 249 Gmerlin (gem_filmGMERLIN);
#X text 49 249 QuickTime (gem_filmQT);
#X text 73 262 available on OS-X (PPC and i386 \, but not 64bit!) and
W32;
#X text 73 277 should be able to decode any QuickTime MOV \, and probably
a lot more;
#X text 49 304 DirectShow (gem_filmDS);
#X text 73 317 available on W32;
#X text 73 331 should be able to decode anything for which you have
a DirectShow filter installed;
#X text 50 365 AVI (gem_filmAVI);
#X text 73 380 available on W32;
#X text 73 394 this uses the old (pre-XP) W32-API for decoding movies.
Support for newer codecs is probably limited;
#X text 50 424 AVIPLAY (gem_filmAVIPLAY);
#X text 73 439 available on linux;
#X text 74 452 uses the meta-framework "avifile" to decode movies \,
which itself has a plugin system to use ffmpeg \, vorbis \, w32-dlls
\, ... to decode videos;
#X text 73 507 available on linux;
#X text 50 494 quicktime4linux (gem_filmQT4L);
#X text 73 522 uses libquicktime/lqt for decoding;
#X text 473 262 available on linux (probably also on OSX and W32);
#X text 473 277 uses Gmerlin-avdecoder to decode lots of formats;
#X text 449 304 MPEG3 (gem_filmMPEG3);
#X text 473 317 available on linux;
#X text 473 331 should be able to decode various MPEG-formats (e.g.
MPEG-2-Video and MPEG-2-transportstreams);
#X text 473 380 available on linux;
#X text 473 394 uses an old \, buggy (and no longer developed) library
to decode MPEG-streams;
#X text 450 365 MPEG (gem_filmMPEG1);
#X text 450 424 Darwin (gem_filmDarwin);
#X text 473 439 available on OS-X;
#X text 450 484 test (gem_TEST);
#X text 473 497 available on ALL platforms;
#X text 473 512 outputs test images rather than decoding real media
files;
#X text 270 194 available film decoding plugins;
#X text 260 210 (recommended plugins are highlighted);
#X text 474 452 an alternative implementation of the QuickTime plugin
for OS-X only;
#X restore 455 484 pd :: FORMATS;
#X obj 473 305 unpack 0 0 0 0;
#X floatatom 581 306 5 0 0 3 fps - -;
#X obj 451 281 pix_film;
#X msg 489 237 bang;
#X text 17 418 Inlet 1: message : bang: (re)send the l/w/h/fps info
to the 2nd outlet, f 69;
#X text 14 144 Normally \, you will only get one specified (via the
second inlet) frame of the film. To play back a complete film \, you
have to change the frame accordingly \, OR use the "auto" message \,
to automatically proceed to the next frame each rendering-cycle. In
auto-mode \, the film is NOT looped. Instead you can reset the current-frame
to zero when the end of the film is reached., f 69;
#X text 16 445 Inlet 2: float: <frame#> changes the frame to be decoded
on rendering (starting with 0), f 69;
#X msg 486 212 loader foo;
#X text 17 391 Inlet 1: message : loader <name>: open the film using
only the specified backend(s), f 70;
#X obj 578 8 declare -lib Gem;
#X connect 10 0 11 0;
#X connect 11 0 10 0;
#X connect 14 0 46 0;
#X connect 17 0 30 0;
#X connect 18 0 28 0;
#X connect 25 0 46 1;
#X connect 28 0 29 0;
#X connect 29 0 46 0;
#X connect 38 0 46 0;
#X connect 39 0 38 0;
#X connect 40 0 46 0;
#X connect 44 0 21 0;
#X connect 44 1 22 0;
#X connect 44 2 23 0;
#X connect 44 3 45 0;
#X connect 46 0 17 0;
#X connect 46 1 44 0;
#X connect 46 2 24 0;
#X connect 47 0 46 0;
#X connect 51 0 46 0;