aboutsummaryrefslogtreecommitdiff
path: root/doc/examples/example03.pd
blob: 9a802e7acc57069f5f5300c982e724a45850d6dc (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
#N canvas 141 84 841 685 10;
#X obj 68 318 pdp_noise;
#X obj 68 85 metro 40;
#X obj 68 58 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 68 484 pdp_del 50;
#X obj 112 424 pdp_gain;
#X floatatom 240 518 5 0 0;
#X obj 68 514 pdp_blur;
#X obj 243 499 hsl 128 15 0 1 0 1 empty empty empty -2 -6 0 8 -262144
-1 -1 10100 1;
#X floatatom 240 367 5 0 0;
#X obj 243 342 hsl 128 15 0 5 0 1 empty empty empty -2 -6 0 8 -262144
-1 -1 0 1;
#X floatatom 240 587 5 0 0;
#X obj 243 567 hsl 128 15 0 1 0 1 empty empty empty -2 -6 0 8 -262144
-1 -1 4100 1;
#X floatatom 239 428 5 0 0;
#X obj 242 409 hsl 128 15 -5 5 0 1 empty empty empty -2 -6 0 8 -262144
-1 -1 11900 1;
#X msg 15 460 reset;
#X obj 68 459 pdp_add;
#X obj 68 357 pdp_gain;
#X text 203 7 this example shows how to use a delay line with a loop
gain > 1 and some processing inside the loop to produce a plasma like
effect. (WARNING: this can produce a very intense strobe effect \,
so if you're sensitive to flashing lights please be careful...);
#X text 391 407 a |gain| > 1 ensures regeneration;
#X floatatom 119 56 5 0 0;
#X obj 68 582 pdp_motion_phase;
#X floatatom 133 459 5 0 0;
#X text 392 495 blur ensures spatial coupling (determines the speed
at which "blobs" move around the screen);
#X text 392 565 a motion phase effect to spice it up (this causes local
negative feedback around suddon changes);
#X msg 109 13 40;
#X msg 144 13 1000;
#X msg 109 250 type grey;
#X msg 109 135 type yv12;
#X obj 68 619 pdp_glx;
#X text 201 247 it also works for black and white \, but all negative
colours will be clipped to 0 (black) on output.;
#X text 393 340 mix in some noise to get it going (set blur to minimal
when starting so the added noise won't be blurred to black);
#X text 202 96 it illustrates one of the advantages of working in an
additive/subtractive colour space. (here yuv or YCrCb). since legal
colours can be both positive and negative \, the analogy with audio
signals is easily drawn. this network can be seen as a nonlinear feedback
delay network. (nonlinear because of the saturating gain). the image
delay line can be seen as a parallel delay line \, one for each pixel.
coupling between the delays is done using a spatial blur effect. the
additional temporal filtering isn't necessary \, but it produces a
nice additional effect.;
#X obj 534 661 pdp_control;
#X obj 534 684 print;
#X msg 534 637 thread \$1;
#X obj 534 614 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1
1;
#X connect 0 0 16 0;
#X connect 1 0 0 0;
#X connect 2 0 1 0;
#X connect 3 0 6 0;
#X connect 4 0 15 1;
#X connect 6 0 20 0;
#X connect 7 0 5 0;
#X connect 7 0 6 1;
#X connect 9 0 8 0;
#X connect 9 0 16 1;
#X connect 11 0 10 0;
#X connect 11 0 20 1;
#X connect 13 0 12 0;
#X connect 13 0 4 1;
#X connect 14 0 3 0;
#X connect 15 0 3 0;
#X connect 16 0 15 0;
#X connect 19 0 1 1;
#X connect 20 0 4 0;
#X connect 20 0 28 0;
#X connect 21 0 3 1;
#X connect 24 0 19 0;
#X connect 25 0 19 0;
#X connect 26 0 0 0;
#X connect 27 0 0 0;
#X connect 32 0 33 0;
#X connect 34 0 32 0;
#X connect 35 0 34 0;