1- #N canvas 436 61 555 619 10;
2- #X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
1+ #N canvas 438 61 555 598 10;
2+ #X obj 0 575 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0
3314 #dcdcdc #404040 0;
44#X obj 0 0 cnv 15 552 40 empty \$0-pddp.cnv.header inlet~ 3 12 0 18
55#c4dcdc #000000 0;
@@ -17,12 +17,12 @@ Jonathan Wilkes to conform to the PDDP template for Pd version 0.42.
1717#X text 12 65 OUTLET_0 signal;
1818#X text 12 5 KEYWORDS signal nonlocal canvas_op;
1919#X text 12 145 RELEASE_DATE 1997;
20- #X restore 500 597 pd META;
20+ #X restore 500 577 pd META;
2121#X obj 0 352 cnv 3 550 3 empty \$0-pddp.cnv.outlets outlets 8 12 0
222213 #dcdcdc #000000 0;
2323#X obj 0 434 cnv 3 550 3 empty \$0-pddp.cnv.argument arguments 8 12
24240 13 #dcdcdc #000000 0;
25- #X obj 0 566 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
25+ #X obj 0 546 cnv 3 550 3 empty \$0-pddp.cnv.more_info more_info 8 12
26260 13 #dcdcdc #000000 0;
2727#N canvas 220 515 428 109 Related_objects 0;
2828#X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
@@ -34,7 +34,7 @@ Jonathan Wilkes to conform to the PDDP template for Pd version 0.42.
3434#X obj 225 43 block~;
3535#X text 8 2 [inlet~] Related Objects;
3636#X obj 277 43 switch~;
37- #X restore 102 598 pd Related_objects;
37+ #X restore 102 578 pd Related_objects;
3838#X obj 78 361 cnv 17 3 60 empty \$0-pddp.cnv.let.0 0 5 9 0 16 #dcdcdc
3939#9c9c9c 0;
4040#X obj 369 234 print~;
@@ -45,7 +45,7 @@ Jonathan Wilkes to conform to the PDDP template for Pd version 0.42.
4545#X text 339 151 audio in and out;
4646#X obj 369 212 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc
4747#000000 #000000;
48- #N canvas 50 247 428 293 subpatch-with-inlets-and-outlets 0;
48+ #N canvas 51 247 428 293 subpatch-with-inlets-and-outlets 0;
4949#X obj 68 68 inlet;
5050#X text 20 38 control inlet for receiving messages;
5151#X floatatom 68 96 0 0 0 0 - - -;
@@ -72,29 +72,25 @@ Jonathan Wilkes to conform to the PDDP template for Pd version 0.42.
7272#X text 11 23 signal inlet for a subpatch;
7373#X obj 497 10 inlet~;
7474#X text 98 360 signal;
75- #N canvas 61 152 428 466 up/downsampling 0;
76- #X obj 30 396 print~;
77- #X obj 48 370 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000
75+ #N canvas 62 152 428 466 up/downsampling 0;
76+ #X obj 38 370 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000
7877#000000;
79- #X obj 112 396 print~;
80- #X obj 130 372 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc
78+ #X obj 120 372 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc
8179#000000 #000000;
82- #X obj 195 396 print~;
83- #X obj 213 370 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc
80+ #X obj 203 370 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc
8481#000000 #000000;
8582#N canvas 0 0 450 300 (subpatch) 0;
86- #X array \$0-tab 64 float 3 black black;
83+ #X array \$0-tab 64 float 1 black black;
8784#A 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
88850 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
89- #X coords 0 1 64 -1 200 140 1;
86+ #X coords 0 1 63 -1 200 140 1;
9087#X restore 216 181 graph;
91- #X obj 274 368 s \$0-tab;
92- #X msg 274 341 const 0 \, 0 0 1;
93- #X obj 145 233 print~;
94- #X obj 145 208 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc
88+ #X obj 270 396 s \$0-tab;
89+ #X msg 270 368 const 0 \, 0 0 1;
90+ #X obj 142 207 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc
9591#000000 #000000;
96- #X obj 23 181 tabreceive~ \$0-tab;
97- #N canvas 81 269 585 267 test-subpatch-upsampled 0;
92+ #X obj 20 180 tabreceive~ \$0-tab;
93+ #N canvas 84 269 585 267 test-subpatch-upsampled 0;
9894#X obj 40 17 block~ 128 1 2;
9995#X obj 209 149 inlet~ hold;
10096#X obj 367 153 inlet~ lin;
@@ -118,92 +114,99 @@ Jonathan Wilkes to conform to the PDDP template for Pd version 0.42.
118114#X connect 6 0 5 0;
119115#X connect 8 0 7 0;
120116#X connect 13 0 3 0;
121- #X restore 23 285 pd test-subpatch-upsampled;
122- #N canvas 46 43 585 267 test-subpatch-downsampled 0;
117+ #X restore 20 284 pd test-subpatch-upsampled;
118+ #N canvas 50 43 585 267 test-subpatch-downsampled 0;
123119#X obj 23 146 outlet~;
124120#X obj 209 149 outlet~ hold;
125121#X obj 367 153 outlet~ lin;
126122#X text 206 173 sample/hold;
127123#X text 364 177 linear interpolation;
128- #X text 197 19 upsampling methods:;
129124#X obj 40 17 block~ 32 1 0.5;
130125#X text 18 169 interleaved zeros;
131- #X obj 21 83 tabreceive~ \$0-tab;
132- #X connect 8 0 0 0;
133- #X connect 8 0 1 0;
134- #X connect 8 0 2 0;
135- #X restore 29 340 pd test-subpatch-downsampled;
126+ #X obj 23 83 tabreceive~ \$0-tab;
127+ #X text 197 19 downsampling methods:;
128+ #X connect 7 0 0 0;
129+ #X connect 7 0 1 0;
130+ #X connect 7 0 2 0;
131+ #X restore 20 340 pd test-subpatch-downsampled;
132+ #X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
133+ 14 #c4dcdc #000000 0;
134+ #X text 8 2 [inlet~] Up/downsampling;
136135#X text 20 38 When a subpatch is reblocked to a higher or lower sample
137136rate \, the inlet~ and outlet~ objects offer a choice of three upsampling
138137methods. (The inlet~ upsamples when entering a subpatch with a higher
139- sample rate \; the outlet~ upsamples when leaving a subpatch of _lower_
138+ sample rate and the outlet~ upsamples when leaving a subpatch of lower
140139sample rate \, as demonstrated below.) There is no corresponding choice
141140of downsampling method - downsampling is done simply by dropping the
142141extra samples.;
143- #X obj 1 1 cnv 15 425 20 empty \$0-pddp.cnv.subheading empty 3 12 0
144- 14 #c4dcdc #000000 0;
145- #X text 8 2 [inlet~] Up/downsampling;
146- #X connect 1 0 0 0;
147- #X connect 3 0 2 0;
142+ #X obj 142 232 print~ in;
143+ #X obj 20 396 print~ pad;
144+ #X obj 102 396 print~ hold;
145+ #X obj 185 396 print~ lin;
146+ #X text 270 340 set table;
147+ #X connect 0 0 14 0;
148+ #X connect 1 0 15 0;
149+ #X connect 2 0 16 0;
148150#X connect 5 0 4 0;
149- #X connect 8 0 7 0;
150- #X connect 10 0 9 0;
151- #X connect 11 0 12 1;
152- #X connect 11 0 12 2;
153- #X connect 11 0 9 0;
154- #X connect 11 0 12 0;
155- #X connect 13 0 0 0;
156- #X connect 13 1 2 0;
157- #X connect 13 2 4 0;
158- #X restore 171 513 pd up/downsampling;
159- #X text 80 452 1) symbol atom;
151+ #X connect 6 0 13 0;
152+ #X connect 7 0 8 1;
153+ #X connect 7 0 8 2;
154+ #X connect 7 0 8 0;
155+ #X connect 7 0 13 0;
156+ #X connect 9 0 14 0;
157+ #X connect 9 1 15 0;
158+ #X connect 9 2 16 0;
159+ #X restore 171 523 pd up/downsampling;
160+ #X text 80 462 1) symbol atom;
160161#X text 98 102 The subpatch below shows how to use [inlet] \, [inlet~]
161162\, [outlet] \, and [outlet~] objects to get data into and out of a
162163subpatch:;
163- #X text 168 452 - (optional) The word "hold" will cause sample/hold
164+ #X text 168 462 - (optional) The word "hold" will cause sample/hold
164165upsampling/downsampling \, and the word "lin" will cause linear upsampling/downsampling.
165166See the subpatch below for more details:;
166167#X text 98 62 The [inlet~] object allows signals to be sent to a subpatch
167168from objects on the parent canvas.;
168- #X obj 4 597 pddp/pddplink all_about_help_patches.pd -text Usage Guide
169+ #X obj 4 577 pddp/pddplink all_about_help_patches.pd -text Usage Guide
169170;
170171#X text 168 360 - the [inlet~] object outputs the signal sent to the
171172inlet of the subpatch in which it is found. When multiple [inlet~]
172173or [inlet] objects are in one subpatch \, their horizontal order corresponds
173174with the inlets drawn on the containing object in the parent patch.
174175;
175- #N canvas 582 179 543 415 inlet~-forwarding 0;
176- #X obj 173 182 inlet~ fwd;
176+ #N canvas 586 179 543 415 inlet~-forwarding 0;
177177#X obj 106 145 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc
178178#000000 #000000;
179179#X floatatom 131 145 5 0 0 0 - - -, f 5;
180180#X msg 174 145 1 2 3;
181181#X msg 221 145 poodle 50;
182- #X obj 174 283 print~;
182+ #X obj 173 283 print~;
183183#X text 206 254 (check that audio is on);
184184#X obj 186 256 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc
185185#000000 #000000;
186- #X text 58 16 you can pass "fwd" as an argument to inlet~ to ask for
187- a second outlet that forwards messages. Float messages aren't forwarded
188- though - instead \, they set the signal output value in case the parent
189- inlet isn't connected. Messages to the inlet~ object are treated the
190- same as messages to the inlet on the parent.;
191186#X text 64 339 (note: inlet~ objects inside patches that are copied
192187using clone~ are always connected to incoming signals \, so a float
193188message to such an inlet~ has no effect.);
194- #X obj 240 214 print fwd;
195- #X connect 0 0 5 0;
196- #X connect 0 1 10 0;
197- #X connect 7 0 5 0;
189+ #X obj 206 214 print fwd;
190+ #X obj 173 182 inlet~;
191+ #X text 58 16 The second outlet forwards messages that aren't floats
192+ or signals. Float messages set the signal output value in case the
193+ parent inlet isn't connected. Other control messages to the [inlet~]
194+ object are treated the same as messages to the inlet on the parent.
195+ ;
196+ #X connect 0 0 9 0;
197+ #X connect 1 0 9 0;
198+ #X connect 2 0 9 0;
199+ #X connect 3 0 9 0;
200+ #X connect 6 0 4 0;
201+ #X connect 9 0 4 0;
202+ #X connect 9 1 8 0;
198203#X restore 118 294 pd inlet~-forwarding;
199204#X obj 50 259 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000
200205#000000;
201206#X floatatom 75 259 5 0 0 0 - - -, f 5;
202207#X msg 118 259 1 2 3;
203208#X msg 165 259 poodle 50;
204209#X text 267 293 <= catching messages to inlet~ objects;
205- #X text 168 532 - the word "fwd" will allow non-signal message to be
206- forwarded. See [pd inlet~-forwarding] above for details.;
207210#X connect 10 0 16 1;
208211#X connect 11 0 16 0;
209212#X connect 15 0 9 0;
0 commit comments