aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorHans-Christoph Steiner <eighthave@users.sourceforge.net>2010-11-21 05:12:09 +0000
committerHans-Christoph Steiner <eighthave@users.sourceforge.net>2010-11-21 05:12:09 +0000
commit054b488f08b6d2df9403c2e5fac965403f4783a5 (patch)
tree495b60c365c25e589b7c675caba9dcfd09fc46f2 /examples
parentd34e9a481edc3910f8477e72d09212da320703a3 (diff)
sorted out all example files into the 'examples' folder
svn path=/trunk/externals/vbap/; revision=14455
Diffstat (limited to 'examples')
-rw-r--r--examples/rvbap-demo.pd662
-rw-r--r--examples/vbap.main.pd92
-rw-r--r--examples/vbapsnd.pd68
3 files changed, 822 insertions, 0 deletions
diff --git a/examples/rvbap-demo.pd b/examples/rvbap-demo.pd
new file mode 100644
index 0000000..94442d4
--- /dev/null
+++ b/examples/rvbap-demo.pd
@@ -0,0 +1,662 @@
+#N canvas 243 71 893 632 10;
+#X obj 345 85 define_loudspeakers 3 -45 0 45 0 0 45 180 45;
+#X msg 34 63 bang;
+#X obj 34 83 define_loudspeakers 2 -45 45 135 -135;
+#X msg 345 60 bang;
+#X floatatom 196 497 5 0 100 1 dB_after_1sec - -;
+#X obj 34 591 dac~ 1 2 3 4;
+#N canvas 0 0 699 527 sig 0;
+#X obj 58 72 line~;
+#X msg 58 49 0 \, 10000 5;
+#X obj 58 118 cos~;
+#X msg 146 70 1;
+#X obj 146 47 loadbang;
+#X obj 58 95 clip~ 0 0.25;
+#X obj 251 134 line~;
+#X obj 251 157 cos~;
+#X msg 324 54 -0.25 \, 0.25 100;
+#X obj 251 8 loadbang;
+#X msg 251 31 -0.25;
+#X obj 251 203 *~;
+#X obj 58 140 hip~ 5;
+#X msg 324 77 -0.25 \, 0.25 400;
+#X floatatom 151 126 0 0 0 0 freq - -;
+#X obj 324 191 osc~ 440;
+#X obj 324 168 mtof;
+#X msg 324 31 -0.25 \, 0.25 20;
+#X obj 251 180 *~ 0.1;
+#X msg 324 100 -0.25 \, 0.25 1000;
+#X msg 324 122 -0.25 \, 0.25 2000;
+#X obj 324 226 *~;
+#X obj 342 252 *~;
+#X msg 324 8 0;
+#X obj 308 257 *~;
+#X obj 58 26 metro 2000;
+#X floatatom 58 4 0 0 0 0 - - -;
+#X text 1 51 impulse;
+#X text 362 7 tone;
+#X obj 59 184 outlet~;
+#X obj 170 6 inlet;
+#X obj 442 18 metro 500;
+#X obj 91 8 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
+;
+#X connect 0 0 5 0;
+#X connect 1 0 0 0;
+#X connect 2 0 12 0;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 2 0;
+#X connect 6 0 7 0;
+#X connect 7 0 18 0;
+#X connect 8 0 6 0;
+#X connect 9 0 10 0;
+#X connect 10 0 6 0;
+#X connect 11 0 12 0;
+#X connect 12 0 29 0;
+#X connect 13 0 6 0;
+#X connect 14 0 16 0;
+#X connect 15 0 11 1;
+#X connect 15 0 21 0;
+#X connect 15 0 21 1;
+#X connect 15 0 22 0;
+#X connect 16 0 15 0;
+#X connect 17 0 6 0;
+#X connect 18 0 11 0;
+#X connect 19 0 6 0;
+#X connect 20 0 6 0;
+#X connect 21 0 22 1;
+#X connect 21 0 11 1;
+#X connect 21 0 24 0;
+#X connect 21 0 24 1;
+#X connect 22 0 11 1;
+#X connect 23 0 6 0;
+#X connect 24 0 11 1;
+#X connect 25 0 1 0;
+#X connect 26 0 25 0;
+#X connect 30 0 31 0;
+#X connect 31 0 8 0;
+#X connect 32 0 25 0;
+#X coords 0 -1 1 1 85 60 1 100 100;
+#X restore 63 415 pd sig;
+#X obj 63 387 tgl 24 0 empty empty test-sigs 26 7 1 10 -262144 -1 -1
+0 1;
+#X msg 216 522 clear;
+#N canvas 0 0 766 594 four-reverbs 0;
+#X obj 67 179 rev1~;
+#X obj 114 179 rev1~;
+#X obj 160 179 rev1~;
+#X obj 210 179 rev1~;
+#X obj 282 55 inlet;
+#X obj 67 54 inlet~;
+#X obj 113 54 inlet~;
+#X obj 160 53 inlet~;
+#X obj 211 53 inlet~;
+#X obj 67 286 outlet~;
+#X obj 114 268 outlet~;
+#X obj 159 246 outlet~;
+#X obj 209 226 outlet~;
+#X obj 339 55 inlet;
+#X obj 339 76 b;
+#X connect 0 0 9 0;
+#X connect 1 0 10 0;
+#X connect 2 0 11 0;
+#X connect 3 0 12 0;
+#X connect 4 0 3 1;
+#X connect 4 0 2 1;
+#X connect 4 0 1 1;
+#X connect 4 0 0 1;
+#X connect 5 0 0 0;
+#X connect 6 0 1 0;
+#X connect 7 0 2 0;
+#X connect 8 0 3 0;
+#X connect 13 0 14 0;
+#X connect 14 0 3 2;
+#X connect 14 0 2 2;
+#X connect 14 0 1 2;
+#X connect 14 0 0 2;
+#X restore 116 544 pd four-reverbs;
+#N canvas 0 0 699 527 sig 0;
+#X obj 58 72 line~;
+#X msg 58 49 0 \, 10000 5;
+#X obj 58 118 cos~;
+#X msg 146 70 1;
+#X obj 146 47 loadbang;
+#X obj 58 95 clip~ 0 0.25;
+#X obj 251 134 line~;
+#X obj 251 157 cos~;
+#X msg 324 54 -0.25 \, 0.25 100;
+#X obj 251 8 loadbang;
+#X msg 251 31 -0.25;
+#X obj 251 203 *~;
+#X obj 58 140 hip~ 5;
+#X msg 324 77 -0.25 \, 0.25 400;
+#X floatatom 134 122 0 0 0 0 freq - -;
+#X obj 324 191 osc~ 440;
+#X obj 324 168 mtof;
+#X msg 324 31 -0.25 \, 0.25 20;
+#X obj 251 180 *~ 0.1;
+#X msg 324 100 -0.25 \, 0.25 1000;
+#X msg 324 122 -0.25 \, 0.25 2000;
+#X obj 324 226 *~;
+#X obj 342 252 *~;
+#X msg 324 8 0;
+#X obj 308 257 *~;
+#X obj 58 26 metro 2000;
+#X floatatom 58 4 0 0 0 0 - - -;
+#X text 1 51 impulse;
+#X text 362 7 tone;
+#X obj 59 184 outlet~;
+#X obj 170 6 inlet;
+#X obj 442 18 metro 500;
+#X obj 91 8 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
+;
+#X connect 0 0 5 0;
+#X connect 1 0 0 0;
+#X connect 2 0 12 0;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 2 0;
+#X connect 6 0 7 0;
+#X connect 7 0 18 0;
+#X connect 8 0 6 0;
+#X connect 9 0 10 0;
+#X connect 10 0 6 0;
+#X connect 11 0 12 0;
+#X connect 12 0 29 0;
+#X connect 13 0 6 0;
+#X connect 14 0 16 0;
+#X connect 15 0 11 1;
+#X connect 15 0 21 0;
+#X connect 15 0 21 1;
+#X connect 15 0 22 0;
+#X connect 16 0 15 0;
+#X connect 17 0 6 0;
+#X connect 18 0 11 0;
+#X connect 19 0 6 0;
+#X connect 20 0 6 0;
+#X connect 21 0 22 1;
+#X connect 21 0 11 1;
+#X connect 21 0 24 0;
+#X connect 21 0 24 1;
+#X connect 22 0 11 1;
+#X connect 23 0 6 0;
+#X connect 24 0 11 1;
+#X connect 25 0 1 0;
+#X connect 26 0 25 0;
+#X connect 30 0 31 0;
+#X connect 31 0 8 0;
+#X connect 32 0 25 0;
+#X coords 0 -1 1 1 85 60 1 100 100;
+#X restore 156 414 pd sig;
+#X obj 156 386 tgl 24 0 empty empty test-sigs 26 7 1 10 -262144 -1
+-1 0 1;
+#X obj 34 364 mtx 8 3;
+#X obj 35 498 mtx_*~ 8 3 20;
+#N canvas 0 0 699 527 sig 0;
+#X obj 58 72 line~;
+#X msg 58 49 0 \, 10000 5;
+#X obj 58 118 cos~;
+#X msg 146 70 1;
+#X obj 146 47 loadbang;
+#X obj 58 95 clip~ 0 0.25;
+#X obj 251 134 line~;
+#X obj 251 157 cos~;
+#X msg 324 54 -0.25 \, 0.25 100;
+#X obj 251 8 loadbang;
+#X msg 251 31 -0.25;
+#X obj 251 203 *~;
+#X obj 58 140 hip~ 5;
+#X msg 324 77 -0.25 \, 0.25 400;
+#X floatatom 134 122 0 0 0 0 freq - -;
+#X obj 324 191 osc~ 440;
+#X obj 324 168 mtof;
+#X msg 324 31 -0.25 \, 0.25 20;
+#X obj 251 180 *~ 0.1;
+#X msg 324 100 -0.25 \, 0.25 1000;
+#X msg 324 122 -0.25 \, 0.25 2000;
+#X obj 324 226 *~;
+#X obj 342 252 *~;
+#X msg 324 8 0;
+#X obj 308 257 *~;
+#X obj 58 26 metro 2000;
+#X floatatom 58 4 0 0 0 0 - - -;
+#X text 1 51 impulse;
+#X text 362 7 tone;
+#X obj 59 184 outlet~;
+#X obj 170 6 inlet;
+#X obj 442 18 metro 500;
+#X obj 91 8 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
+;
+#X connect 0 0 5 0;
+#X connect 1 0 0 0;
+#X connect 2 0 12 0;
+#X connect 3 0 0 0;
+#X connect 4 0 3 0;
+#X connect 5 0 2 0;
+#X connect 6 0 7 0;
+#X connect 7 0 18 0;
+#X connect 8 0 6 0;
+#X connect 9 0 10 0;
+#X connect 10 0 6 0;
+#X connect 11 0 12 0;
+#X connect 12 0 29 0;
+#X connect 13 0 6 0;
+#X connect 14 0 16 0;
+#X connect 15 0 11 1;
+#X connect 15 0 21 0;
+#X connect 15 0 21 1;
+#X connect 15 0 22 0;
+#X connect 16 0 15 0;
+#X connect 17 0 6 0;
+#X connect 18 0 11 0;
+#X connect 19 0 6 0;
+#X connect 20 0 6 0;
+#X connect 21 0 22 1;
+#X connect 21 0 11 1;
+#X connect 21 0 24 0;
+#X connect 21 0 24 1;
+#X connect 22 0 11 1;
+#X connect 23 0 6 0;
+#X connect 24 0 11 1;
+#X connect 25 0 1 0;
+#X connect 26 0 25 0;
+#X connect 30 0 31 0;
+#X connect 31 0 8 0;
+#X connect 32 0 25 0;
+#X coords 0 -1 1 1 85 60 1 100 100;
+#X restore 250 416 pd sig;
+#X obj 250 388 tgl 24 0 empty empty test-sigs 26 7 1 10 -262144 -1
+-1 0 1;
+#X obj 196 353 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#N canvas 0 0 818 424 rvbap-module0 0;
+#X floatatom 104 128 5 0 0 2 azi - -;
+#X floatatom 148 128 5 0 0 2 ele - -;
+#X floatatom 192 128 5 0 100 2 spread - -;
+#X text 199 262 actual location;
+#X obj 83 202 rvbap 0 0;
+#X floatatom 245 129 5 1 20 2 dist - -;
+#X floatatom 127 233 5 0 0 3 azi - -;
+#X floatatom 171 233 5 0 0 3 ele - -;
+#X floatatom 215 233 5 0 0 3 spread - -;
+#X floatatom 268 234 5 0 0 3 dist - -;
+#N canvas 352 196 547 360 set-element 0;
+#X obj 70 81 unpack 0 0;
+#X obj 70 104 + 1;
+#X obj 70 137 pack 0 1 0;
+#X obj 70 179 list trim;
+#X obj 70 158 list prepend element;
+#X obj 70 59 inlet;
+#X obj 70 261 outlet;
+#X obj 70 221 t b a;
+#X text 48 33 transforms rvbap-output to be used with [mtx] from iemmatrix
+;
+#X obj 168 80 inlet;
+#X connect 0 0 1 0;
+#X connect 0 1 2 2;
+#X connect 1 0 2 0;
+#X connect 2 0 4 0;
+#X connect 3 0 7 0;
+#X connect 4 0 3 0;
+#X connect 5 0 0 0;
+#X connect 7 0 6 0;
+#X connect 7 1 6 0;
+#X connect 9 0 2 1;
+#X restore 83 316 pd set-element;
+#N canvas 203 642 802 273 peek 0;
+#X floatatom 55 198 10 0 0 0 - - -;
+#X floatatom 134 198 10 0 0 0 - - -;
+#X floatatom 213 198 10 0 0 0 - - -;
+#X floatatom 292 198 10 0 0 0 - - -;
+#X obj 55 74 route 0 1 2 3 4 5 6 7;
+#X floatatom 366 197 10 0 0 0 - - -;
+#X floatatom 445 197 10 0 0 0 - - -;
+#X floatatom 524 197 10 0 0 0 - - -;
+#X floatatom 603 197 10 0 0 0 - - -;
+#X obj 55 49 inlet;
+#X connect 4 0 0 0;
+#X connect 4 1 1 0;
+#X connect 4 2 2 0;
+#X connect 4 3 3 0;
+#X connect 4 4 5 0;
+#X connect 4 5 6 0;
+#X connect 4 6 7 0;
+#X connect 4 7 8 0;
+#X connect 9 0 4 0;
+#X restore 97 290 pd peek;
+#N canvas 0 0 450 300 tba 0;
+#X obj 143 51 inlet;
+#X obj 96 49 inlet;
+#X obj 191 51 inlet;
+#X obj 238 51 inlet;
+#X obj 173 180 outlet;
+#X obj 61 178 outlet;
+#X obj 221 180 outlet;
+#X obj 268 180 outlet;
+#X obj 126 180 outlet;
+#X obj 96 73 t b a;
+#X obj 143 72 t b a;
+#X obj 191 72 t b a;
+#X obj 238 72 t b a;
+#X connect 0 0 10 0;
+#X connect 1 0 9 0;
+#X connect 2 0 11 0;
+#X connect 3 0 12 0;
+#X connect 9 0 5 0;
+#X connect 9 1 8 0;
+#X connect 10 0 5 0;
+#X connect 10 1 4 0;
+#X connect 11 0 5 0;
+#X connect 11 1 6 0;
+#X connect 12 0 5 0;
+#X connect 12 1 7 0;
+#X restore 104 168 pd tba;
+#X obj 281 114 hsl 64 15 1 20 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 0 1;
+#X obj 386 102 loadbang;
+#X obj 83 345 outlet;
+#X obj 83 39 inlet;
+#X obj 304 140 hradio 15 1 0 3 empty empty id: -20 8 1 10 -262144 -1
+-1 0;
+#X obj 386 123 0;
+#X obj 539 151 f \$1;
+#X text 378 152 in an abstraction \, use;
+#X text 575 154 topass id as argument.;
+#X obj 338 272 + 1;
+#X connect 0 0 12 0;
+#X connect 1 0 12 1;
+#X connect 2 0 12 2;
+#X connect 4 0 10 0;
+#X connect 4 0 11 0;
+#X connect 4 1 6 0;
+#X connect 4 2 7 0;
+#X connect 4 3 8 0;
+#X connect 4 4 9 0;
+#X connect 5 0 12 3;
+#X connect 10 0 15 0;
+#X connect 12 0 4 0;
+#X connect 12 1 4 1;
+#X connect 12 2 4 2;
+#X connect 12 3 4 3;
+#X connect 12 4 4 4;
+#X connect 13 0 5 0;
+#X connect 14 0 18 0;
+#X connect 16 0 4 0;
+#X connect 17 0 22 0;
+#X connect 18 0 17 0;
+#X connect 22 0 10 1;
+#X coords 0 -1 1 1 260 60 1 100 100;
+#X restore 34 229 pd rvbap-module0;
+#N canvas 0 0 858 488 rvbap-module1 0;
+#X floatatom 104 128 5 0 0 2 azi - -;
+#X floatatom 148 128 5 0 0 2 ele - -;
+#X floatatom 192 128 5 0 100 2 spread - -;
+#X text 199 262 actual location;
+#X obj 83 202 rvbap 0 0;
+#X floatatom 245 129 5 1 20 2 dist - -;
+#X floatatom 127 233 5 0 0 3 azi - -;
+#X floatatom 171 233 5 0 0 3 ele - -;
+#X floatatom 215 233 5 0 0 3 spread - -;
+#X floatatom 268 234 5 0 0 3 dist - -;
+#N canvas 352 196 547 360 set-element 0;
+#X obj 70 81 unpack 0 0;
+#X obj 70 104 + 1;
+#X obj 70 137 pack 0 1 0;
+#X obj 70 179 list trim;
+#X obj 70 158 list prepend element;
+#X obj 70 59 inlet;
+#X obj 70 261 outlet;
+#X obj 70 221 t b a;
+#X text 48 33 transforms rvbap-output to be used with [mtx] from iemmatrix
+;
+#X obj 168 80 inlet;
+#X connect 0 0 1 0;
+#X connect 0 1 2 2;
+#X connect 1 0 2 0;
+#X connect 2 0 4 0;
+#X connect 3 0 7 0;
+#X connect 4 0 3 0;
+#X connect 5 0 0 0;
+#X connect 7 0 6 0;
+#X connect 7 1 6 0;
+#X connect 9 0 2 1;
+#X restore 83 316 pd set-element;
+#N canvas 203 642 802 273 peek 0;
+#X floatatom 55 198 10 0 0 0 - - -;
+#X floatatom 134 198 10 0 0 0 - - -;
+#X floatatom 213 198 10 0 0 0 - - -;
+#X floatatom 292 198 10 0 0 0 - - -;
+#X obj 55 74 route 0 1 2 3 4 5 6 7;
+#X floatatom 366 197 10 0 0 0 - - -;
+#X floatatom 445 197 10 0 0 0 - - -;
+#X floatatom 524 197 10 0 0 0 - - -;
+#X floatatom 603 197 10 0 0 0 - - -;
+#X obj 55 49 inlet;
+#X connect 4 0 0 0;
+#X connect 4 1 1 0;
+#X connect 4 2 2 0;
+#X connect 4 3 3 0;
+#X connect 4 4 5 0;
+#X connect 4 5 6 0;
+#X connect 4 6 7 0;
+#X connect 4 7 8 0;
+#X connect 9 0 4 0;
+#X restore 97 290 pd peek;
+#N canvas 0 0 450 300 tba 0;
+#X obj 143 51 inlet;
+#X obj 96 49 inlet;
+#X obj 191 51 inlet;
+#X obj 238 51 inlet;
+#X obj 173 180 outlet;
+#X obj 61 178 outlet;
+#X obj 221 180 outlet;
+#X obj 268 180 outlet;
+#X obj 126 180 outlet;
+#X obj 96 73 t b a;
+#X obj 143 72 t b a;
+#X obj 191 72 t b a;
+#X obj 238 72 t b a;
+#X connect 0 0 10 0;
+#X connect 1 0 9 0;
+#X connect 2 0 11 0;
+#X connect 3 0 12 0;
+#X connect 9 0 5 0;
+#X connect 9 1 8 0;
+#X connect 10 0 5 0;
+#X connect 10 1 4 0;
+#X connect 11 0 5 0;
+#X connect 11 1 6 0;
+#X connect 12 0 5 0;
+#X connect 12 1 7 0;
+#X restore 104 168 pd tba;
+#X obj 281 114 hsl 64 15 1 20 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 0 1;
+#X obj 386 102 loadbang;
+#X obj 83 345 outlet;
+#X obj 83 39 inlet;
+#X obj 304 140 hradio 15 1 0 3 empty empty id: -20 8 1 10 -262144 -1
+-1 1;
+#X obj 386 123 1;
+#X obj 544 152 f \$1;
+#X text 383 153 in an abstraction \, use;
+#X text 580 155 topass id as argument.;
+#X obj 338 272 + 1;
+#X connect 0 0 12 0;
+#X connect 1 0 12 1;
+#X connect 2 0 12 2;
+#X connect 4 0 10 0;
+#X connect 4 0 11 0;
+#X connect 4 1 6 0;
+#X connect 4 2 7 0;
+#X connect 4 3 8 0;
+#X connect 4 4 9 0;
+#X connect 5 0 12 3;
+#X connect 10 0 15 0;
+#X connect 12 0 4 0;
+#X connect 12 1 4 1;
+#X connect 12 2 4 2;
+#X connect 12 3 4 3;
+#X connect 12 4 4 4;
+#X connect 13 0 5 0;
+#X connect 14 0 18 0;
+#X connect 16 0 4 0;
+#X connect 17 0 22 0;
+#X connect 18 0 17 0;
+#X connect 22 0 10 1;
+#X coords 0 -1 1 1 260 60 1 100 100;
+#X restore 303 229 pd rvbap-module1;
+#N canvas 0 0 798 493 rvbap-module3 0;
+#X floatatom 104 128 5 0 0 2 azi - -;
+#X floatatom 148 128 5 0 0 2 ele - -;
+#X floatatom 192 128 5 0 100 2 spread - -;
+#X text 199 262 actual location;
+#X obj 83 202 rvbap 0 0;
+#X floatatom 245 129 5 1 20 2 dist - -;
+#X floatatom 127 233 5 0 0 3 azi - -;
+#X floatatom 171 233 5 0 0 3 ele - -;
+#X floatatom 215 233 5 0 0 3 spread - -;
+#X floatatom 268 234 5 0 0 3 dist - -;
+#N canvas 352 196 547 360 set-element 0;
+#X obj 70 81 unpack 0 0;
+#X obj 70 104 + 1;
+#X obj 70 137 pack 0 1 0;
+#X obj 70 179 list trim;
+#X obj 70 158 list prepend element;
+#X obj 70 59 inlet;
+#X obj 70 261 outlet;
+#X obj 70 221 t b a;
+#X text 48 33 transforms rvbap-output to be used with [mtx] from iemmatrix
+;
+#X obj 168 80 inlet;
+#X connect 0 0 1 0;
+#X connect 0 1 2 2;
+#X connect 1 0 2 0;
+#X connect 2 0 4 0;
+#X connect 3 0 7 0;
+#X connect 4 0 3 0;
+#X connect 5 0 0 0;
+#X connect 7 0 6 0;
+#X connect 7 1 6 0;
+#X connect 9 0 2 1;
+#X restore 83 316 pd set-element;
+#N canvas 203 642 802 273 peek 0;
+#X floatatom 55 198 10 0 0 0 - - -;
+#X floatatom 134 198 10 0 0 0 - - -;
+#X floatatom 213 198 10 0 0 0 - - -;
+#X floatatom 292 198 10 0 0 0 - - -;
+#X obj 55 74 route 0 1 2 3 4 5 6 7;
+#X floatatom 366 197 10 0 0 0 - - -;
+#X floatatom 445 197 10 0 0 0 - - -;
+#X floatatom 524 197 10 0 0 0 - - -;
+#X floatatom 603 197 10 0 0 0 - - -;
+#X obj 55 49 inlet;
+#X connect 4 0 0 0;
+#X connect 4 1 1 0;
+#X connect 4 2 2 0;
+#X connect 4 3 3 0;
+#X connect 4 4 5 0;
+#X connect 4 5 6 0;
+#X connect 4 6 7 0;
+#X connect 4 7 8 0;
+#X connect 9 0 4 0;
+#X restore 97 290 pd peek;
+#N canvas 0 0 450 300 tba 0;
+#X obj 143 51 inlet;
+#X obj 96 49 inlet;
+#X obj 191 51 inlet;
+#X obj 238 51 inlet;
+#X obj 173 180 outlet;
+#X obj 61 178 outlet;
+#X obj 221 180 outlet;
+#X obj 268 180 outlet;
+#X obj 126 180 outlet;
+#X obj 96 73 t b a;
+#X obj 143 72 t b a;
+#X obj 191 72 t b a;
+#X obj 238 72 t b a;
+#X connect 0 0 10 0;
+#X connect 1 0 9 0;
+#X connect 2 0 11 0;
+#X connect 3 0 12 0;
+#X connect 9 0 5 0;
+#X connect 9 1 8 0;
+#X connect 10 0 5 0;
+#X connect 10 1 4 0;
+#X connect 11 0 5 0;
+#X connect 11 1 6 0;
+#X connect 12 0 5 0;
+#X connect 12 1 7 0;
+#X restore 104 168 pd tba;
+#X obj 281 114 hsl 64 15 1 20 0 0 empty empty empty -2 -8 0 10 -262144
+-1 -1 0 1;
+#X obj 546 102 loadbang;
+#X obj 83 345 outlet;
+#X obj 83 39 inlet;
+#X obj 304 140 hradio 15 1 0 3 empty empty id: -20 8 1 10 -262144 -1
+-1 2;
+#X obj 546 123 2;
+#X obj 547 186 f \$1;
+#X text 386 187 in an abstraction \, use;
+#X text 583 189 topass id as argument.;
+#X obj 338 272 + 1;
+#X connect 0 0 12 0;
+#X connect 1 0 12 1;
+#X connect 2 0 12 2;
+#X connect 4 0 10 0;
+#X connect 4 0 11 0;
+#X connect 4 1 6 0;
+#X connect 4 2 7 0;
+#X connect 4 3 8 0;
+#X connect 4 4 9 0;
+#X connect 5 0 12 3;
+#X connect 10 0 15 0;
+#X connect 12 0 4 0;
+#X connect 12 1 4 1;
+#X connect 12 2 4 2;
+#X connect 12 3 4 3;
+#X connect 12 4 4 4;
+#X connect 13 0 5 0;
+#X connect 14 0 18 0;
+#X connect 16 0 4 0;
+#X connect 17 0 22 0;
+#X connect 18 0 17 0;
+#X connect 22 0 10 1;
+#X coords 0 -1 1 1 260 60 1 100 100;
+#X restore 566 230 pd rvbap-module3;
+#X text 594 203 put this into an abstraction:;
+#X text 63 21 RVBAP - Demo how to use [mtx_*~];
+#X connect 0 0 19 0;
+#X connect 0 0 18 0;
+#X connect 0 0 17 0;
+#X connect 1 0 2 0;
+#X connect 2 0 17 0;
+#X connect 2 0 18 0;
+#X connect 2 0 19 0;
+#X connect 3 0 0 0;
+#X connect 4 0 9 4;
+#X connect 6 0 13 1;
+#X connect 7 0 6 0;
+#X connect 8 0 9 5;
+#X connect 9 0 5 0;
+#X connect 9 1 5 1;
+#X connect 9 2 5 2;
+#X connect 9 3 5 3;
+#X connect 10 0 13 2;
+#X connect 11 0 10 0;
+#X connect 12 0 13 0;
+#X connect 13 0 5 0;
+#X connect 13 1 5 1;
+#X connect 13 2 5 2;
+#X connect 13 3 5 3;
+#X connect 13 4 9 0;
+#X connect 13 5 9 1;
+#X connect 13 6 9 2;
+#X connect 13 7 9 3;
+#X connect 14 0 13 3;
+#X connect 15 0 14 0;
+#X connect 16 0 11 0;
+#X connect 16 0 15 0;
+#X connect 16 0 7 0;
+#X connect 17 0 12 0;
+#X connect 18 0 12 0;
+#X connect 19 0 12 0;
diff --git a/examples/vbap.main.pd b/examples/vbap.main.pd
new file mode 100644
index 0000000..e4c11b4
--- /dev/null
+++ b/examples/vbap.main.pd
@@ -0,0 +1,92 @@
+#N canvas 153 122 664 665 10;
+#X obj 22 149 bng 15 250 50 0 empty empty empty 20 8 32 8 -262144 -1
+-1;
+#X floatatom 353 470 5 0 0;
+#X obj 166 579 dac~ 1 2 3 4 5 6 7 8;
+#X obj 109 535 *~ 1;
+#X obj 142 535 *~ 1;
+#X obj 175 535 *~ 1;
+#X obj 207 535 *~ 1;
+#X obj 239 535 *~ 1;
+#X obj 271 535 *~ 1;
+#X obj 304 535 *~ 1;
+#X obj 336 535 *~ 1;
+#X floatatom 382 504 5 0 0;
+#X text 401 470 crossfade;
+#X obj 22 208 send speaker_setup;
+#X obj 22 169 define_loudspeakers 3 -30 0 30 0 -90 0 90 0 180 0 180
+45 -45 45 45 45;
+#X obj 326 443 matrix 4 8;
+#X obj 269 470 matrix~ 4 8;
+#X obj 39 146 loadbang;
+#X msg 471 169 \; pd dsp 1;
+#X text 540 175 turn on audio;
+#X text 430 504 gain;
+#X obj 467 496 vsl 15 128 0 1 0 0 empty empty empty 20 8 32 8 -262144
+-1 -1 0 1;
+#X msg 422 452 50;
+#X obj 438 413 loadbang;
+#X obj 484 494 r master;
+#X obj 21 89 inlet;
+#X text 66 89 no meaning;
+#X obj 326 340 receive matrix;
+#X text 30 22 define loudspeakers \, receive signals and data from
+vbap \, output audio;
+#X obj 99 146 receive define_ls;
+#X obj 52 318 catch~ 1chan;
+#X obj 162 318 catch~ 2chan;
+#X obj 272 318 catch~ 3chan;
+#X obj 382 318 catch~ 4chan;
+#N canvas 229 245 540 236 parameters.readme 0;
+#X text 37 35 define_loudspeakers <dimensions> <azimuth (elevation)>
+<..>;
+#X text 37 70 dimensions is 2 or 3 \, followed by list of azimuths
+(in 2d) or <azimuth elevation> pairs (in 3d) \, defining the number
+and positions of loudspeakers.;
+#X text 38 122 azimuth is -180 to 180 \, where -90 is left \, 0 front
+\, 90 right and 180 back.;
+#X text 38 161 elevation is -90 to 90 \, where -90 is down \, 0 is
+not elevated and 90 is up.;
+#X restore 258 206 pd parameters.readme;
+#X connect 0 0 14 0;
+#X connect 1 0 16 5;
+#X connect 3 0 2 0;
+#X connect 4 0 2 1;
+#X connect 5 0 2 2;
+#X connect 6 0 2 3;
+#X connect 7 0 2 4;
+#X connect 8 0 2 5;
+#X connect 9 0 2 6;
+#X connect 10 0 2 7;
+#X connect 11 0 10 1;
+#X connect 11 0 9 1;
+#X connect 11 0 8 1;
+#X connect 11 0 7 1;
+#X connect 11 0 6 1;
+#X connect 11 0 5 1;
+#X connect 11 0 4 1;
+#X connect 11 0 3 1;
+#X connect 11 0 9 1;
+#X connect 11 0 10 1;
+#X connect 14 0 13 0;
+#X connect 15 0 16 4;
+#X connect 16 0 3 0;
+#X connect 16 1 4 0;
+#X connect 16 2 5 0;
+#X connect 16 3 6 0;
+#X connect 16 4 7 0;
+#X connect 16 5 8 0;
+#X connect 16 6 9 0;
+#X connect 16 7 10 0;
+#X connect 17 0 0 0;
+#X connect 21 0 11 0;
+#X connect 22 0 1 0;
+#X connect 23 0 22 0;
+#X connect 23 0 18 0;
+#X connect 24 0 21 0;
+#X connect 27 0 15 0;
+#X connect 29 0 0 0;
+#X connect 30 0 16 0;
+#X connect 31 0 16 1;
+#X connect 32 0 16 2;
+#X connect 33 0 16 3;
diff --git a/examples/vbapsnd.pd b/examples/vbapsnd.pd
new file mode 100644
index 0000000..e73f027
--- /dev/null
+++ b/examples/vbapsnd.pd
@@ -0,0 +1,68 @@
+#N canvas 33 53 661 597 10;
+#X obj 133 20 inlet;
+#X obj 189 171 vbap 0 0;
+#X obj 240 20 inlet;
+#X obj 359 20 inlet;
+#X text 176 19 azimuth;
+#X text 285 19 elevation;
+#X text 405 19 spread;
+#X obj 233 460 pack f f f;
+#X obj 298 437 float \$1;
+#X obj 298 414 loadbang;
+#X msg 233 495 element \$3 \$1 \$2;
+#X text 287 536 to matrix object;
+#X obj 441 535 outlet;
+#X obj 488 535 outlet;
+#X obj 535 535 outlet;
+#X obj 359 78 t b f;
+#X obj 240 80 t b f;
+#X obj 133 80 t b f;
+#X obj 189 106 receive speaker_setup;
+#X obj 189 256 unpack f f;
+#X obj 189 279 + 1;
+#X obj 167 429 ==;
+#X obj 167 453 sel 1;
+#X obj 189 303 t f f f;
+#X obj 195 429 high;
+#X obj 233 536 outlet;
+#X obj 31 20 inlet~;
+#X obj 31 83 outlet~;
+#X text 28 113 for convenience;
+#X floatatom 489 62 5 0 0;
+#X obj 359 49 recent 10;
+#X obj 240 51 recent 10;
+#X obj 133 51 recent 10;
+#X connect 0 0 32 0;
+#X connect 1 0 19 0;
+#X connect 1 1 12 0;
+#X connect 1 2 13 0;
+#X connect 1 3 14 0;
+#X connect 2 0 31 0;
+#X connect 3 0 30 0;
+#X connect 7 0 10 0;
+#X connect 8 0 7 2;
+#X connect 9 0 8 0;
+#X connect 10 0 25 0;
+#X connect 15 0 1 0;
+#X connect 15 1 1 3;
+#X connect 16 0 1 0;
+#X connect 16 1 1 2;
+#X connect 17 0 1 0;
+#X connect 17 1 1 1;
+#X connect 18 0 1 0;
+#X connect 19 0 20 0;
+#X connect 19 1 7 1;
+#X connect 20 0 23 0;
+#X connect 21 0 22 0;
+#X connect 22 0 25 0;
+#X connect 23 0 21 0;
+#X connect 23 1 24 0;
+#X connect 23 2 7 0;
+#X connect 24 0 21 1;
+#X connect 26 0 27 0;
+#X connect 29 0 30 1;
+#X connect 29 0 31 1;
+#X connect 29 0 32 1;
+#X connect 30 0 15 0;
+#X connect 31 0 16 0;
+#X connect 32 0 17 0;