[SCM] pd-iem_ambi/master: Removed patches included upstream

zmoelnig-guest at users.alioth.debian.org zmoelnig-guest at users.alioth.debian.org
Sat Jun 29 15:18:04 UTC 2013


The following commit has been merged in the master branch:
commit d4fbe26e45ac96fdd1787c7e72fb56758c2f9f29
Author: IOhannes m zmoelnig <zmoelnig at umlautO.umlaeute.mur.at>
Date:   Sat Jun 29 09:17:42 2013 +0200

    Removed patches included upstream

diff --git a/debian/patches/fix-makefile.patch b/debian/patches/fix-makefile.patch
deleted file mode 100644
index 4d13bbd..0000000
--- a/debian/patches/fix-makefile.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-Author: IOhannes m zmölnig
-Description: use specific FLAG-names (e.g. PD_LDFLAGS) rather than the ones that
-are overwritten by the build-system (e.g. LDFLAGS);
-remove unused things like STRIP
---- pd-iem_ambi.orig/src/makefile_linux
-+++ pd-iem_ambi/src/makefile_linux
-@@ -3,20 +3,20 @@
- .SUFFIXES: .pd_linux
- 
- PDSOURCE?=/usr/local/src/pd/src
--INCLUDE = -I. -I$(PDSOURCE)
-+PD_INCLUDE = -I. -I$(PDSOURCE)
- 
--LDFLAGS = -export-dynamic -shared
--LIB = -ldl -lm -lpthread
--
--STRIP=strip
-+PD_LDFLAGS = -export-dynamic -shared
-+LIB = -lm
- 
- #select either the DBG and OPT compiler flags below:
- 
--CFLAGS = -DPD -DUNIX \
-+PD_CFLAGS = -DPD -DUNIX \
- 	-W -Wno-unused -Wno-parentheses -Wno-switch \
--	-O6 -funroll-loops -fomit-frame-pointer -fno-strict-aliasing \
-+	-funroll-loops -fomit-frame-pointer -fno-strict-aliasing \
-         -DDL_OPEN -fPIC
- 
-+CFLAGS="-O6"
-+
- SYSTEM = $(shell uname -m)
- 
- # the sources
-@@ -39,17 +39,16 @@
- #
- 
- clean:
--	-rm ../$(TARGET)
--	-rm *.o
-+	-rm -f ../$(TARGET)
-+	-rm -f *.o
- 
- all: $(OBJ)
- 	@echo :: $(OBJ)
--	$(LD) $(LDFLAGS) -o $(TARGET) *.o $(LIB)
--	$(STRIP) --strip-unneeded $(TARGET)
-+	$(LD) $(PD_LDFLAGS) $(LDFLAGS) -o $(TARGET) *.o $(LIB)
- 	mv $(TARGET) ..
- 
- $(OBJ) : %.o : %.c
--	$(CC) $(CFLAGS) $(INCLUDE) -c -o $*.o $*.c
-+	$(CC) $(PD_CFLAGS) $(CFLAGS) $(PD_INCLUDE) $(INCLUDE) -c -o $*.o $*.c
- 
- 
- 
diff --git a/debian/patches/helppatches.patch b/debian/patches/helppatches.patch
deleted file mode 100644
index f0780ca..0000000
--- a/debian/patches/helppatches.patch
+++ /dev/null
@@ -1,2276 +0,0 @@
-Author: IOhannes m zmölnig
-Description: the help-patches need some more libraries
---- pd-iem_ambi.orig/Ambisonic_2d_example.pd
-+++ pd-iem_ambi/Ambisonic_2d_example.pd
-@@ -1,258 +1,268 @@
--#N canvas 26 2 875 690 10;
--#X obj 20 44 dsp;
--#X obj 20 24 tgl 15 0 empty empty empty 0 -6 0 8 -260818 -1 -1 0 1
--;
--#X floatatom 20 83 5 0 0 0 - - -;
--#X floatatom 33 65 5 0 0 0 - - -;
--#X obj 230 88 ambi_encode 2;
--#X obj 469 102 mtx_*~ 5 1 100;
--#X obj 509 11 noise~;
--#X obj 509 32 rbpq2~ 1000 2 100;
--#X obj 225 591 mtx_print;
--#X obj 230 140 mtx 5 1;
--#X msg 230 51 col 1 \$1;
--#X obj 230 109 t b a;
--#X obj 699 118 prvu~;
--#X obj 700 142 vu 15 120 empty empty -1 -8 0 8 -66577 -1 0 0;
--#X obj 719 118 prvu~;
--#X obj 720 142 vu 15 120 empty empty -1 -8 0 8 -66577 -1 0 0;
--#X obj 739 118 prvu~;
--#X obj 740 142 vu 15 120 empty empty -1 -8 0 8 -66577 -1 0 0;
--#X obj 759 118 prvu~;
--#X obj 760 142 vu 15 120 empty empty -1 -8 0 8 -66577 -1 0 0;
--#X obj 779 118 prvu~;
--#X obj 780 142 vu 15 120 empty empty -1 -8 0 8 -66577 -1 1 0;
--#X obj 115 222 loadbang;
--#X obj 442 257 mtx_*~ 2 2 100;
--#X obj 537 257 mtx_*~ 2 2 100;
--#X obj 233 240 ambi_rot 2;
--#X obj 699 273 prvu~;
--#X obj 700 297 vu 15 120 empty empty -1 -8 0 8 -66577 -1 0 0;
--#X obj 719 273 prvu~;
--#X obj 720 297 vu 15 120 empty empty -1 -8 0 8 -66577 -1 0 0;
--#X obj 739 273 prvu~;
--#X obj 740 297 vu 15 120 empty empty -1 -8 0 8 -66577 -1 0 0;
--#X obj 759 273 prvu~;
--#X obj 760 297 vu 15 120 empty empty -1 -8 0 8 -66577 -1 0 0;
--#X obj 779 273 prvu~;
--#X obj 780 297 vu 15 120 empty empty -1 -8 0 8 -66577 -1 1 0;
--#X obj 411 257 *~ 1;
--#X obj 131 436 round_zero 1e-006;
--#X obj 147 343 pp real_ls;
--#X msg 131 364 begin_pseudo_inverse;
--#X msg 115 385 end_pseudo_inverse;
--#X obj 115 245 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
---1;
--#X obj 131 414 ambi_decode3 2 2 8 0;
--#X msg 147 322 1 0 \, 2 45 \, 3 90 \, 4 135 \, 5 180 \, 6 225 \, 7
--270 \, 8 315;
--#X obj 425 381 mtx_*~ 8 5 0 ________________;
--#X obj 115 264 t b b b b;
--#X obj 508 75 mull~ 1 100;
--#X obj 618 38 fadtodb;
--#X obj 551 55 dbtorms;
--#X obj 618 58 - 100;
--#X obj 618 82 vsl 15 121 0 120 0 1 empty empty empty 0 -8 0 8 -260818
---1 -1 10400 1;
--#X floatatom 637 80 5 0 0 0 - - -;
--#N canvas 0 0 462 312 __________________________ 0;
--#X obj 25 66 rvu~;
--#X obj 25 86 + 100;
--#X obj 25 106 dbtorms;
--#X obj 25 127 outlet;
--#X obj 75 66 rvu~;
--#X obj 75 86 + 100;
--#X obj 75 106 dbtorms;
--#X obj 75 127 outlet;
--#X obj 125 66 rvu~;
--#X obj 125 86 + 100;
--#X obj 125 106 dbtorms;
--#X obj 125 127 outlet;
--#X obj 175 66 rvu~;
--#X obj 175 86 + 100;
--#X obj 175 106 dbtorms;
--#X obj 175 127 outlet;
--#X obj 225 66 rvu~;
--#X obj 225 86 + 100;
--#X obj 225 106 dbtorms;
--#X obj 225 127 outlet;
--#X obj 275 66 rvu~;
--#X obj 275 86 + 100;
--#X obj 275 106 dbtorms;
--#X obj 275 127 outlet;
--#X obj 325 66 rvu~;
--#X obj 325 86 + 100;
--#X obj 325 106 dbtorms;
--#X obj 325 127 outlet;
--#X obj 375 66 rvu~;
--#X obj 375 86 + 100;
--#X obj 375 106 dbtorms;
--#X obj 375 127 outlet;
--#X obj 25 45 inlet~;
--#X obj 75 45 inlet~;
--#X obj 125 45 inlet~;
--#X obj 175 45 inlet~;
--#X obj 225 45 inlet~;
--#X obj 275 45 inlet~;
--#X obj 325 45 inlet~;
--#X obj 375 46 inlet~;
--#X connect 0 0 1 0;
--#X connect 1 0 2 0;
--#X connect 2 0 3 0;
--#X connect 4 0 5 0;
--#X connect 5 0 6 0;
--#X connect 6 0 7 0;
--#X connect 8 0 9 0;
--#X connect 9 0 10 0;
--#X connect 10 0 11 0;
--#X connect 12 0 13 0;
--#X connect 13 0 14 0;
--#X connect 14 0 15 0;
--#X connect 16 0 17 0;
--#X connect 17 0 18 0;
--#X connect 18 0 19 0;
--#X connect 20 0 21 0;
--#X connect 21 0 22 0;
--#X connect 22 0 23 0;
--#X connect 24 0 25 0;
--#X connect 25 0 26 0;
--#X connect 26 0 27 0;
--#X connect 28 0 29 0;
--#X connect 29 0 30 0;
--#X connect 30 0 31 0;
--#X connect 32 0 0 0;
--#X connect 33 0 4 0;
--#X connect 34 0 8 0;
--#X connect 35 0 12 0;
--#X connect 36 0 16 0;
--#X connect 37 0 20 0;
--#X connect 38 0 24 0;
--#X connect 39 0 28 0;
--#X restore 425 406 pd __________________________;
--#X obj 459 490 vsl 15 51 0 0.2 0 0 empty empty empty 0 -8 0 8 -1 -24198
---1 0 1;
--#X obj 486 460 vsl 15 51 0 0.2 0 0 empty empty empty 0 -8 0 8 -1 -24198
---1 0 1;
--#X obj 486 528 vsl 15 51 0 0.2 0 0 empty empty empty 0 -8 0 8 -1 -24198
---1 0 1;
--#X obj 516 450 vsl 15 51 0 0.2 0 0 empty empty empty 0 -8 0 8 -1 -24198
---1 0 1;
--#X obj 516 538 vsl 15 51 0 0.2 0 0 empty empty empty 0 -8 0 8 -1 -24198
---1 0 1;
--#X obj 546 460 vsl 15 51 0 0.2 0 0 empty empty empty 0 -8 0 8 -1 -24198
---1 0 1;
--#X obj 546 528 vsl 15 51 0 0.2 0 0 empty empty empty 0 -8 0 8 -1 -24198
---1 0 1;
--#X obj 573 490 vsl 15 51 0 0.2 0 0 empty empty empty 0 -8 0 8 -1 -24198
---1 0 1;
--#X msg 310 58 ambi_weight 1 1 1;
--#X msg 164 299 ambi_weight 1 1 0.3904;
--#X msg 89 466 ambi_weight 1 1 1;
--#X text 388 509 +90 degree;
--#X text 601 506 -90 degree;
--#X text 486 602 +-180 degree;
--#X obj 234 220 cnv 12 30 12 empty empty empty 20 12 0 14 -260818 -66577
--0;
--#X obj 231 32 cnv 12 30 12 empty empty empty 20 12 0 14 -260818 -66577
--0;
--#X floatatom 230 31 5 -180 180 0 - - -;
--#X text 232 14 phi;
--#X floatatom 233 219 5 -180 180 0 - - -;
--#X text 231 201 rho_z;
--#X obj 264 213 cnv 8 8 8 empty empty empty 20 12 0 14 -262144 -66577
--0;
--#X obj 260 24 cnv 8 8 8 empty empty empty 20 12 0 14 -262144 -66577
--0;
--#X text 341 114 ENCODING;
--#X text 309 378 DECODING;
--#X text 323 257 ROTATING;
--#X text 587 90 gain;
--#X text 24 119 iemmatrix \, iem_ambi \, iemgui;
--#X text 17 108 we need iemlib1 \, iemlib2 \,;
--#X text 78 596 IEM KUG;
--#X text 62 584 musil;
--#X text 92 584 @;
--#X text 98 584 iem.at;
--#X text 61 606 Graz \, Austria;
--#X text 13 573 (c) Thomas Musil 2000 - 2006;
--#X connect 0 0 2 0;
--#X connect 0 1 3 0;
--#X connect 1 0 0 0;
--#X connect 4 0 11 0;
--#X connect 5 0 12 0;
--#X connect 5 0 36 0;
--#X connect 5 1 14 0;
--#X connect 5 1 23 1;
--#X connect 5 2 16 0;
--#X connect 5 2 23 2;
--#X connect 5 3 18 0;
--#X connect 5 3 24 1;
--#X connect 5 4 20 0;
--#X connect 5 4 24 2;
--#X connect 6 0 7 0;
--#X connect 7 0 46 0;
--#X connect 9 0 5 0;
--#X connect 10 0 4 0;
--#X connect 11 0 9 0;
--#X connect 11 1 9 0;
--#X connect 12 0 13 0;
--#X connect 14 0 15 0;
--#X connect 16 0 17 0;
--#X connect 18 0 19 0;
--#X connect 20 0 21 0;
--#X connect 22 0 41 0;
--#X connect 23 0 28 0;
--#X connect 23 0 44 2;
--#X connect 23 1 30 0;
--#X connect 23 1 44 3;
--#X connect 24 0 32 0;
--#X connect 24 0 44 4;
--#X connect 24 1 34 0;
--#X connect 24 1 44 5;
--#X connect 25 0 23 0;
--#X connect 25 1 24 0;
--#X connect 26 0 27 0;
--#X connect 28 0 29 0;
--#X connect 30 0 31 0;
--#X connect 32 0 33 0;
--#X connect 34 0 35 0;
--#X connect 36 0 26 0;
--#X connect 36 0 44 1;
--#X connect 37 0 44 0;
--#X connect 38 0 42 0;
--#X connect 39 0 42 0;
--#X connect 40 0 42 0;
--#X connect 41 0 45 0;
--#X connect 42 0 37 0;
--#X connect 43 0 38 0;
--#X connect 44 0 52 0;
--#X connect 44 1 52 1;
--#X connect 44 2 52 2;
--#X connect 44 3 52 3;
--#X connect 44 4 52 4;
--#X connect 44 5 52 5;
--#X connect 44 6 52 6;
--#X connect 44 7 52 7;
--#X connect 45 0 40 0;
--#X connect 45 1 39 0;
--#X connect 45 2 43 0;
--#X connect 45 3 62 0;
--#X connect 46 0 5 1;
--#X connect 47 0 48 0;
--#X connect 47 0 49 0;
--#X connect 48 0 46 1;
--#X connect 49 0 51 0;
--#X connect 50 0 47 0;
--#X connect 52 0 56 0;
--#X connect 52 1 54 0;
--#X connect 52 2 53 0;
--#X connect 52 3 55 0;
--#X connect 52 4 57 0;
--#X connect 52 5 59 0;
--#X connect 52 6 60 0;
--#X connect 52 7 58 0;
--#X connect 61 0 4 0;
--#X connect 62 0 42 0;
--#X connect 63 0 42 0;
--#X connect 69 0 10 0;
--#X connect 71 0 25 0;
-+#N canvas 27 50 875 690 10;
-+#X declare -stdlib extra/iem_ambi -stdlib extra/iemmatrix -stdlib extra/iemlib/iemlib1
-+-stdlib extra/iemlib/iemlib2;
-+#X obj 20 44 dsp;
-+#X obj 20 24 tgl 15 0 empty empty empty 0 -6 0 8 -260818 -1 -1 0 1
-+;
-+#X floatatom 20 83 5 0 0 0 - - -;
-+#X floatatom 33 65 5 0 0 0 - - -;
-+#X obj 230 88 ambi_encode 2;
-+#X obj 469 102 mtx_*~ 5 1 100;
-+#X obj 509 11 noise~;
-+#X obj 509 32 rbpq2~ 1000 2 100;
-+#X obj 225 591 mtx_print;
-+#X obj 230 140 mtx 5 1;
-+#X msg 230 51 col 1 \$1;
-+#X obj 230 109 t b a;
-+#X obj 699 118 prvu~;
-+#X obj 700 142 vu 15 120 empty empty -1 -8 0 8 -66577 -1 0 0;
-+#X obj 719 118 prvu~;
-+#X obj 720 142 vu 15 120 empty empty -1 -8 0 8 -66577 -1 0 0;
-+#X obj 739 118 prvu~;
-+#X obj 740 142 vu 15 120 empty empty -1 -8 0 8 -66577 -1 0 0;
-+#X obj 759 118 prvu~;
-+#X obj 760 142 vu 15 120 empty empty -1 -8 0 8 -66577 -1 0 0;
-+#X obj 779 118 prvu~;
-+#X obj 780 142 vu 15 120 empty empty -1 -8 0 8 -66577 -1 1 0;
-+#X obj 115 222 loadbang;
-+#X obj 442 257 mtx_*~ 2 2 100;
-+#X obj 537 257 mtx_*~ 2 2 100;
-+#X obj 233 240 ambi_rot 2;
-+#X obj 699 273 prvu~;
-+#X obj 700 297 vu 15 120 empty empty -1 -8 0 8 -66577 -1 0 0;
-+#X obj 719 273 prvu~;
-+#X obj 720 297 vu 15 120 empty empty -1 -8 0 8 -66577 -1 0 0;
-+#X obj 739 273 prvu~;
-+#X obj 740 297 vu 15 120 empty empty -1 -8 0 8 -66577 -1 0 0;
-+#X obj 759 273 prvu~;
-+#X obj 760 297 vu 15 120 empty empty -1 -8 0 8 -66577 -1 0 0;
-+#X obj 779 273 prvu~;
-+#X obj 780 297 vu 15 120 empty empty -1 -8 0 8 -66577 -1 1 0;
-+#X obj 411 257 *~ 1;
-+#X obj 131 436 round_zero 1e-06;
-+#X msg 147 343 real_ls \$1 \$2;
-+#X msg 131 364 begin_pseudo_inverse;
-+#X msg 115 385 end_pseudo_inverse;
-+#X obj 115 245 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-+-1;
-+#X obj 131 414 ambi_decode3 2 2 8 0;
-+#X msg 147 322 1 0 \, 2 45 \, 3 90 \, 4 135 \, 5 180 \, 6 225 \, 7
-+270 \, 8 315;
-+#X obj 425 381 mtx_*~ 8 5 0 ________________;
-+#X obj 115 264 t b b b b;
-+#X obj 508 75 mull~ 1 100;
-+#X obj 618 38 fadtodb;
-+#X obj 551 55 dbtorms;
-+#X obj 618 58 - 100;
-+#X obj 618 82 vsl 15 121 0 120 0 1 empty empty empty 0 -8 0 8 -260818
-+-1 -1 10400 1;
-+#X floatatom 637 80 5 0 0 0 - - -;
-+#N canvas 0 0 462 312 __________________________ 0;
-+#X obj 25 66 rvu~;
-+#X obj 25 86 + 100;
-+#X obj 25 106 dbtorms;
-+#X obj 25 127 outlet;
-+#X obj 75 66 rvu~;
-+#X obj 75 86 + 100;
-+#X obj 75 106 dbtorms;
-+#X obj 75 127 outlet;
-+#X obj 125 66 rvu~;
-+#X obj 125 86 + 100;
-+#X obj 125 106 dbtorms;
-+#X obj 125 127 outlet;
-+#X obj 175 66 rvu~;
-+#X obj 175 86 + 100;
-+#X obj 175 106 dbtorms;
-+#X obj 175 127 outlet;
-+#X obj 225 66 rvu~;
-+#X obj 225 86 + 100;
-+#X obj 225 106 dbtorms;
-+#X obj 225 127 outlet;
-+#X obj 275 66 rvu~;
-+#X obj 275 86 + 100;
-+#X obj 275 106 dbtorms;
-+#X obj 275 127 outlet;
-+#X obj 325 66 rvu~;
-+#X obj 325 86 + 100;
-+#X obj 325 106 dbtorms;
-+#X obj 325 127 outlet;
-+#X obj 375 66 rvu~;
-+#X obj 375 86 + 100;
-+#X obj 375 106 dbtorms;
-+#X obj 375 127 outlet;
-+#X obj 25 45 inlet~;
-+#X obj 75 45 inlet~;
-+#X obj 125 45 inlet~;
-+#X obj 175 45 inlet~;
-+#X obj 225 45 inlet~;
-+#X obj 275 45 inlet~;
-+#X obj 325 45 inlet~;
-+#X obj 375 46 inlet~;
-+#X connect 0 0 1 0;
-+#X connect 1 0 2 0;
-+#X connect 2 0 3 0;
-+#X connect 4 0 5 0;
-+#X connect 5 0 6 0;
-+#X connect 6 0 7 0;
-+#X connect 8 0 9 0;
-+#X connect 9 0 10 0;
-+#X connect 10 0 11 0;
-+#X connect 12 0 13 0;
-+#X connect 13 0 14 0;
-+#X connect 14 0 15 0;
-+#X connect 16 0 17 0;
-+#X connect 17 0 18 0;
-+#X connect 18 0 19 0;
-+#X connect 20 0 21 0;
-+#X connect 21 0 22 0;
-+#X connect 22 0 23 0;
-+#X connect 24 0 25 0;
-+#X connect 25 0 26 0;
-+#X connect 26 0 27 0;
-+#X connect 28 0 29 0;
-+#X connect 29 0 30 0;
-+#X connect 30 0 31 0;
-+#X connect 32 0 0 0;
-+#X connect 33 0 4 0;
-+#X connect 34 0 8 0;
-+#X connect 35 0 12 0;
-+#X connect 36 0 16 0;
-+#X connect 37 0 20 0;
-+#X connect 38 0 24 0;
-+#X connect 39 0 28 0;
-+#X restore 425 406 pd __________________________;
-+#X obj 459 490 vsl 15 51 0 0.2 0 0 empty empty empty 0 -8 0 8 -1 -24198
-+-1 0 1;
-+#X obj 486 460 vsl 15 51 0 0.2 0 0 empty empty empty 0 -8 0 8 -1 -24198
-+-1 0 1;
-+#X obj 486 528 vsl 15 51 0 0.2 0 0 empty empty empty 0 -8 0 8 -1 -24198
-+-1 0 1;
-+#X obj 516 450 vsl 15 51 0 0.2 0 0 empty empty empty 0 -8 0 8 -1 -24198
-+-1 0 1;
-+#X obj 516 538 vsl 15 51 0 0.2 0 0 empty empty empty 0 -8 0 8 -1 -24198
-+-1 0 1;
-+#X obj 546 460 vsl 15 51 0 0.2 0 0 empty empty empty 0 -8 0 8 -1 -24198
-+-1 0 1;
-+#X obj 546 528 vsl 15 51 0 0.2 0 0 empty empty empty 0 -8 0 8 -1 -24198
-+-1 0 1;
-+#X obj 573 490 vsl 15 51 0 0.2 0 0 empty empty empty 0 -8 0 8 -1 -24198
-+-1 0 1;
-+#X msg 310 58 ambi_weight 1 1 1;
-+#X msg 164 299 ambi_weight 1 1 0.3904;
-+#X msg 89 466 ambi_weight 1 1 1;
-+#X text 388 509 +90 degree;
-+#X text 601 506 -90 degree;
-+#X text 486 602 +-180 degree;
-+#X obj 234 220 cnv 12 30 12 empty empty empty 20 12 0 14 -260818 -66577
-+0;
-+#X obj 231 32 cnv 12 30 12 empty empty empty 20 12 0 14 -260818 -66577
-+0;
-+#X floatatom 230 31 5 -180 180 0 - - -;
-+#X text 232 14 phi;
-+#X floatatom 233 219 5 -180 180 0 - - -;
-+#X text 231 201 rho_z;
-+#X obj 264 213 cnv 8 8 8 empty empty empty 20 12 0 14 -262144 -66577
-+0;
-+#X obj 260 24 cnv 8 8 8 empty empty empty 20 12 0 14 -262144 -66577
-+0;
-+#X text 341 114 ENCODING;
-+#X text 309 378 DECODING;
-+#X text 323 257 ROTATING;
-+#X text 587 90 gain;
-+#X text 24 119 iemmatrix \, iem_ambi \, iemgui;
-+#X text 17 108 we need iemlib1 \, iemlib2 \,;
-+#X text 78 596 IEM KUG;
-+#X text 62 584 musil;
-+#X text 92 584 @;
-+#X text 98 584 iem.at;
-+#X text 61 606 Graz \, Austria;
-+#X text 13 573 (c) Thomas Musil 2000 - 2006;
-+#N canvas 710 253 450 300 dependencies 1;
-+#X text 41 49 this help-patch depends on several libraries:;
-+#X text 90 66 iem_ambi;
-+#X text 90 79 iemmatrix;
-+#X text 91 91 zexy;
-+#X obj 52 130 declare -stdlib extra/iem_ambi -stdlib extra/iemmatrix
-+-stdlib extra/iemlib/iemlib1 -stdlib extra/iemlib/iemlib2;
-+#X restore 50 650 pd dependencies;
-+#X connect 0 0 2 0;
-+#X connect 0 1 3 0;
-+#X connect 1 0 0 0;
-+#X connect 4 0 11 0;
-+#X connect 5 0 12 0;
-+#X connect 5 0 36 0;
-+#X connect 5 1 14 0;
-+#X connect 5 1 23 1;
-+#X connect 5 2 16 0;
-+#X connect 5 2 23 2;
-+#X connect 5 3 18 0;
-+#X connect 5 3 24 1;
-+#X connect 5 4 20 0;
-+#X connect 5 4 24 2;
-+#X connect 6 0 7 0;
-+#X connect 7 0 46 0;
-+#X connect 9 0 5 0;
-+#X connect 10 0 4 0;
-+#X connect 11 0 9 0;
-+#X connect 11 1 9 0;
-+#X connect 12 0 13 0;
-+#X connect 14 0 15 0;
-+#X connect 16 0 17 0;
-+#X connect 18 0 19 0;
-+#X connect 20 0 21 0;
-+#X connect 22 0 41 0;
-+#X connect 23 0 28 0;
-+#X connect 23 0 44 2;
-+#X connect 23 1 30 0;
-+#X connect 23 1 44 3;
-+#X connect 24 0 32 0;
-+#X connect 24 0 44 4;
-+#X connect 24 1 34 0;
-+#X connect 24 1 44 5;
-+#X connect 25 0 23 0;
-+#X connect 25 1 24 0;
-+#X connect 26 0 27 0;
-+#X connect 28 0 29 0;
-+#X connect 30 0 31 0;
-+#X connect 32 0 33 0;
-+#X connect 34 0 35 0;
-+#X connect 36 0 26 0;
-+#X connect 36 0 44 1;
-+#X connect 37 0 44 0;
-+#X connect 38 0 42 0;
-+#X connect 39 0 42 0;
-+#X connect 40 0 42 0;
-+#X connect 41 0 45 0;
-+#X connect 42 0 37 0;
-+#X connect 43 0 38 0;
-+#X connect 44 0 52 0;
-+#X connect 44 1 52 1;
-+#X connect 44 2 52 2;
-+#X connect 44 3 52 3;
-+#X connect 44 4 52 4;
-+#X connect 44 5 52 5;
-+#X connect 44 6 52 6;
-+#X connect 44 7 52 7;
-+#X connect 45 0 40 0;
-+#X connect 45 1 39 0;
-+#X connect 45 2 43 0;
-+#X connect 45 3 62 0;
-+#X connect 46 0 5 1;
-+#X connect 47 0 48 0;
-+#X connect 47 0 49 0;
-+#X connect 48 0 46 1;
-+#X connect 49 0 51 0;
-+#X connect 50 0 47 0;
-+#X connect 52 0 56 0;
-+#X connect 52 1 54 0;
-+#X connect 52 2 53 0;
-+#X connect 52 3 55 0;
-+#X connect 52 4 57 0;
-+#X connect 52 5 59 0;
-+#X connect 52 6 60 0;
-+#X connect 52 7 58 0;
-+#X connect 61 0 4 0;
-+#X connect 62 0 42 0;
-+#X connect 63 0 42 0;
-+#X connect 69 0 10 0;
-+#X connect 71 0 25 0;
---- pd-iem_ambi.orig/ambi_decode3-help.pd
-+++ pd-iem_ambi/ambi_decode3-help.pd
-@@ -1,270 +1,304 @@
--#N canvas 4 2 981 718 10;
--#X text 27 436 1.arg: <float> ambisonic order;
--#X text 794 41 -180 <= phi <= +180;
--#X text 494 172 input: <ambi_weight> one mul-factor for each;
--#X text 42 454 (1 .. 5 in case of 3 dimensional);
--#X text 42 445 (1 .. 12 in case of 2 dimensional);
--#X text 27 464 2.arg: <float> dimension (2 or 3);
--#X text 78 645 IEM KUG;
--#X text 62 633 musil;
--#X text 92 633 @;
--#X text 98 633 iem.at;
--#X text 61 655 Graz \, Austria;
--#X text 13 622 (c) Thomas Musil 2000 - 2006;
--#X obj 109 347 cnv 15 126 15 empty empty empty 20 12 0 14 -260818 -66577
--0;
--#X obj 108 368 round_zero 1e-006;
--#X obj 38 33 bng 35 250 50 0 empty empty empty 0 -6 0 8 -24198 -42246
---1;
--#X msg 246 121 ambi_weight 1 1 1 0.3904;
--#X msg 108 121 ambi_weight 1 1 1 1;
--#X msg 124 99 mirror_weight 0.7;
--#X obj 80 220 pp pht_ls;
--#X obj 38 77 t b b b b b b b;
--#X msg 94 143 1 90 0 \, 2 45 45 \, 3 45 135 \, 4 45 225 \, 5 45 315
--\, 6 0 0 \, 7 0 45 \, 8 0 90 \, 9 0 135 \, 10 0 180 \, 11 0 225 \,
--12 0 270 \, 13 0 315;
--#X obj 94 177 pp real_ls;
--#X msg 66 243 begin_pseudo_inverse;
--#X obj 108 346 ambi_decode3 3 3 13 6;
--#X msg 38 313 end_pseudo_inverse;
--#X msg 80 199 1 -45 0 \, 2 -45 90 \, 3 -45 180 \, 4 -45 270 \, 6 -90
--0;
--#X msg 52 289 ipht_ireal_muladd \$1 \$2 \$3;
--#N canvas 337 146 567 517 mirror_phantom_ls_____ 0;
--#X msg 142 186 1 6 \$1;
--#X obj 102 58 inlet;
--#X obj 101 441 outlet;
--#X obj 162 59 inlet;
--#X obj 71 135 f;
--#X obj 103 135 f;
--#X obj 157 106 * 0.25;
--#X obj 214 106 * 0.5;
--#X msg 163 211 2 8 \$1;
--#X msg 40 187 1 13 \$1 \, 1 7 \$1;
--#X msg 61 212 2 7 \$1 \, 2 9 \$1;
--#X msg 179 241 3 10 \$1;
--#X msg 77 242 3 9 \$1 \, 3 11 \$1;
--#X msg 199 271 4 12 \$1;
--#X msg 87 271 4 11 \$1 \, 4 13 \$1;
--#X obj 162 81 route mirror_weight;
--#X obj 380 60 inlet;
--#X connect 0 0 2 0;
--#X connect 1 0 4 0;
--#X connect 1 0 5 0;
--#X connect 3 0 15 0;
--#X connect 4 0 9 0;
--#X connect 4 0 10 0;
--#X connect 4 0 12 0;
--#X connect 4 0 14 0;
--#X connect 5 0 0 0;
--#X connect 5 0 8 0;
--#X connect 5 0 11 0;
--#X connect 5 0 13 0;
--#X connect 6 0 4 1;
--#X connect 7 0 5 1;
--#X connect 8 0 2 0;
--#X connect 9 0 2 0;
--#X connect 10 0 2 0;
--#X connect 11 0 2 0;
--#X connect 12 0 2 0;
--#X connect 13 0 2 0;
--#X connect 14 0 2 0;
--#X connect 15 0 7 0;
--#X connect 15 0 6 0;
--#X restore 52 268 pd mirror_phantom_ls_____;
--#X text 18 9 ambi_decode3;
--#X text 160 14 AMBISONIC DECODING;
--#X text 131 40 up to 12.Order 2-dimensional;
--#X text 128 28 up to 5.Order 3-dimensional or;
--#X text 508 5 n_ao = ambisonic-order;
--#X text 520 42 all angles in degree;
--#X text 539 183 ambisonic order group to suppress the side-lobe-phenomena
--;
--#X text 493 274 input: <begin_pseudo_inverse> starts the encoding;
--#X text 536 285 of all (real + phantom) loudspeaker positions \,;
--#X text 537 309 and calculates the pseudo inverse.;
--#X text 540 297 multiplicates the ambi order weight;
--#X msg 276 230 sing_range 1e-010;
--#X text 799 328 mirror_weight;
--#X text 545 354 phantom speaker with the factor "mirror_weight" and
--adds;
--#X text 494 202 input: <sing_range> singularity range;
--#X text 537 213 when calculating the inverse of the matrix by gauss
--;
--#X text 537 223 algorithm \, you have to divide a row by a certain
--number \,;
--#X text 537 243 outside of this range (> sing_range \, or < -sing_range).
--;
--#X text 493 385 input: <end_pseudo_inverse> outputs only the first
--part of;
--#X text 539 398 the inverted matrix (row 1 to row n_pht_ls). The part
--;
--#X text 541 410 with the phantom speakers \, we ignore.;
--#X obj 221 576 cnv 15 192 15 empty empty empty 20 12 0 14 -260818 -66577
--0;
--#X obj 221 601 cnv 15 228 15 empty empty empty 20 12 0 14 -260818 -66577
--0;
--#X text 537 255 Otherwise we say \, this matrix is singular.;
--#N canvas 149 60 413 549 real_speaker_example 0;
--#X obj 124 33 bng 35 250 50 0 empty empty empty 0 -6 0 8 -24198 -42246
---1;
--#X obj 143 217 cnv 15 120 15 empty empty empty 20 12 0 14 -260818 -66577
--0;
--#X obj 142 261 print;
--#X obj 142 238 round_zero 1e-006;
--#X obj 161 121 pp real_ls;
--#X msg 142 144 begin_pseudo_inverse;
--#X msg 124 167 end_pseudo_inverse;
--#X obj 142 216 ambi_decode3 2 2 5 0;
--#X obj 124 75 t b b b;
--#X msg 161 98 1 5 \, 2 2.5 \, 3 0 \, 4 -2.5 \, 5 -5;
--#X text 110 300 ambisonic system 2.order;
--#X text 137 313 2 dimensional;
--#X text 135 327 5 real speakers;
--#X text 100 347 arranged in a very small arc between;
--#X text 117 360 +5 degrees and -5 degrees;
--#X text 82 490 IEM KUG;
--#X text 66 478 musil;
--#X text 96 478 @;
--#X text 102 478 iem.at;
--#X text 65 500 Graz \, Austria;
--#X text 17 467 (c) Thomas Musil 2000 - 2006;
--#X connect 0 0 8 0;
--#X connect 3 0 2 0;
--#X connect 4 0 7 0;
--#X connect 5 0 7 0;
--#X connect 6 0 7 0;
--#X connect 7 0 3 0;
--#X connect 8 0 6 0;
--#X connect 8 1 5 0;
--#X connect 8 2 9 0;
--#X connect 9 0 4 0;
--#X restore 220 575 pd real_speaker_example singular;
--#N canvas 250 68 437 609 phantom_speaker_example 0;
--#X obj 79 30 bng 35 250 50 0 empty empty empty 0 -6 0 8 -24198 -42246
---1;
--#X obj 184 250 cnv 15 132 15 empty empty empty 20 12 0 14 -260818 -66577
--0;
--#X obj 183 299 print;
--#X obj 183 274 round_zero 1e-006;
--#X obj 202 164 pp real_ls;
--#X msg 183 187 begin_pseudo_inverse;
--#X msg 165 210 end_pseudo_inverse;
--#X obj 165 118 t b b b;
--#X msg 202 141 1 5 \, 2 2.5 \, 3 0 \, 4 -2.5 \, 5 -5;
--#X text 151 343 ambisonic system 2.order;
--#X text 178 356 2 dimensional;
--#X text 176 370 5 real speakers;
--#X obj 79 190 pp pht_ls;
--#X obj 79 71 for++ 0 138;
--#X obj 79 94 t f f;
--#X obj 79 125 + 1;
--#X obj 104 116 * 2.5;
--#X obj 104 138 + 7.5;
--#X obj 79 168 pack 0 0;
--#X obj 183 249 ambi_decode3 2 2 5 139;
--#X text 157 395 -5 degrees and +5 degrees;
--#X text 166 410 139 phantom speakers;
--#X text 140 382 arranged on a very small arc between;
--#X text 150 422 arranged on an arc between;
--#X text 154 436 +7.5 degrees and -7.5 degrees;
--#X text 86 558 IEM KUG;
--#X text 70 546 musil;
--#X text 100 546 @;
--#X text 106 546 iem.at;
--#X text 69 568 Graz \, Austria;
--#X text 21 535 (c) Thomas Musil 2000 - 2006;
--#X connect 0 0 13 0;
--#X connect 3 0 2 0;
--#X connect 4 0 19 0;
--#X connect 5 0 19 0;
--#X connect 6 0 19 0;
--#X connect 7 0 6 0;
--#X connect 7 1 5 0;
--#X connect 7 2 8 0;
--#X connect 8 0 4 0;
--#X connect 12 0 19 0;
--#X connect 13 0 14 0;
--#X connect 13 1 7 0;
--#X connect 14 0 15 0;
--#X connect 14 1 16 0;
--#X connect 15 0 18 0;
--#X connect 16 0 17 0;
--#X connect 17 0 18 1;
--#X connect 18 0 12 0;
--#X connect 19 0 3 0;
--#X restore 220 600 pd phantom_speaker_example nonsingular;
--#X text 537 233 to achieve the identity matrix. This number has to
--be;
--#X obj 108 391 mtx_print;
--#X text 504 463 + <float> n_col = (2*n_ao+1) = number of ambisonic-channels
--;
--#X text 27 476 3.arg: <float> number of real existing loudspeakers
--;
--#X text 27 488 4.arg: <float> number of virtual phantom_loudspeakers
--;
--#X text 493 16 n_re_ls = number of real loudspeakers;
--#X text 493 28 n_vi_ls = number of virtual phantom loudspeakers;
--#X text 494 78 input: <real_ls> re_ls_index + phi .. 2-dimensional
--;
--#X text 494 88 input: <real_ls> re_ls_index + theta + phi .. 3-dimensional
--;
--#X text 494 118 input: <pht_ls> vi_ls_index + phi .. 2-dimensional
--;
--#X text 494 129 input: <pht_ls> vi_ls_index + theta + phi .. 3-dimensional
--;
--#X text 794 29 -90 <= theta <= +90;
--#X text 786 5 1 <= re_ls_index <= n_re_ls;
--#X text 786 16 1 <= vi_ls_index <= n_vi_ls;
--#X text 59 423 initial arguments:;
--#X text 334 18 calculates a ambisonic;
--#X text 358 29 decoder matrix;
--#X text 529 100 encodes the re_ls_index row of a matrix;
--#X text 525 141 encodes the (re_ls_index + vi_ls_index) row of a matrix
--;
--#X text 532 153 we need them to achieve a nonsingular matrix;
--#X text 493 328 input: <ipht_ireal_muladd> vi_ls_index re_ls_index
--;
--#X text 811 443 floats :;
--#X text 851 503 floats :;
--#X text 516 513 <float> n_row = (n_re_ls) = number of real loudspeakers
--;
--#X text 516 453 <float> n_row = (n_re_ls) = number of real loudspeakers
--;
--#X text 784 523 ambisonic-channels;
--#X text 504 523 + <float> n_col = (n_ao+1)*(nao+1) = number of;
--#X text 825 534 decoder matrix;
--#X text 504 474 + (2*n_ao + 1) * n_re_ls <float> elements of the;
--#X text 504 534 + (n_ao+1)*(n_ao+1) * n_re_ls <float> elements of the
--;
--#X text 796 474 decoder matrix;
--#X text 490 443 output in case of 2d: <matrix> (n_re_ls*(2*n_ao+1)+2)
--;
--#X text 490 503 output in case of 3d: <matrix> (n_re_ls*(n_ao+1)*(n_ao+1)+2)
--;
--#X text 544 367 this column to the column "re_ls_index" of real speaker
--;
--#X text 546 341 multiplies the column "vi_ls_index + n_re_ls" of;
--#X connect 13 0 55 0;
--#X connect 14 0 19 0;
--#X connect 15 0 23 0;
--#X connect 16 0 23 0;
--#X connect 17 0 27 1;
--#X connect 18 0 23 0;
--#X connect 19 0 24 0;
--#X connect 19 1 27 0;
--#X connect 19 2 22 0;
--#X connect 19 3 25 0;
--#X connect 19 4 20 0;
--#X connect 19 5 16 0;
--#X connect 19 6 17 0;
--#X connect 20 0 21 0;
--#X connect 21 0 23 0;
--#X connect 22 0 23 0;
--#X connect 23 0 13 0;
--#X connect 24 0 23 0;
--#X connect 25 0 18 0;
--#X connect 26 0 23 0;
--#X connect 27 0 26 0;
--#X connect 39 0 23 0;
-+#N canvas 5 50 981 718 10;
-+#X declare -stdlib extra/iem_ambi -stdlib extra/iemmatrix -stdlib extra/iemlib/iemlib2
-+;
-+#X text 27 436 1.arg: <float> ambisonic order;
-+#X text 794 41 -180 <= phi <= +180;
-+#X text 494 172 input: <ambi_weight> one mul-factor for each;
-+#X text 42 454 (1 .. 5 in case of 3 dimensional);
-+#X text 42 445 (1 .. 12 in case of 2 dimensional);
-+#X text 27 464 2.arg: <float> dimension (2 or 3);
-+#X text 78 645 IEM KUG;
-+#X text 62 633 musil;
-+#X text 92 633 @;
-+#X text 98 633 iem.at;
-+#X text 61 655 Graz \, Austria;
-+#X text 13 622 (c) Thomas Musil 2000 - 2006;
-+#X obj 109 347 cnv 15 126 15 empty empty empty 20 12 0 14 -260818 -66577
-+0;
-+#X obj 108 368 round_zero 1e-06;
-+#X obj 38 33 bng 35 250 50 0 empty empty empty 0 -6 0 8 -24198 -42246
-+-1;
-+#X msg 246 121 ambi_weight 1 1 1 0.3904;
-+#X msg 108 121 ambi_weight 1 1 1 1;
-+#X msg 124 99 mirror_weight 0.7;
-+#X msg 80 220 pht_ls \$1 \$2 \$3;
-+#X obj 38 77 t b b b b b b b;
-+#X msg 94 143 1 90 0 \, 2 45 45 \, 3 45 135 \, 4 45 225 \, 5 45 315
-+\, 6 0 0 \, 7 0 45 \, 8 0 90 \, 9 0 135 \, 10 0 180 \, 11 0 225 \,
-+12 0 270 \, 13 0 315;
-+#X msg 94 177 real_ls \$1 \$2 \$3;
-+#X msg 66 243 begin_pseudo_inverse;
-+#X obj 108 346 ambi_decode3 3 3 13 6;
-+#X msg 38 313 end_pseudo_inverse;
-+#X msg 80 199 1 -45 0 \, 2 -45 90 \, 3 -45 180 \, 4 -45 270 \, 6 -90
-+0;
-+#X msg 52 289 ipht_ireal_muladd \$1 \$2 \$3;
-+#N canvas 337 146 567 517 mirror_phantom_ls_____ 0;
-+#X msg 142 186 1 6 \$1;
-+#X obj 102 58 inlet;
-+#X obj 101 441 outlet;
-+#X obj 162 59 inlet;
-+#X obj 71 135 f;
-+#X obj 103 135 f;
-+#X obj 157 106 * 0.25;
-+#X obj 214 106 * 0.5;
-+#X msg 163 211 2 8 \$1;
-+#X msg 40 187 1 13 \$1 \, 1 7 \$1;
-+#X msg 61 212 2 7 \$1 \, 2 9 \$1;
-+#X msg 179 241 3 10 \$1;
-+#X msg 77 242 3 9 \$1 \, 3 11 \$1;
-+#X msg 199 271 4 12 \$1;
-+#X msg 87 271 4 11 \$1 \, 4 13 \$1;
-+#X obj 162 81 route mirror_weight;
-+#X obj 380 60 inlet;
-+#X connect 0 0 2 0;
-+#X connect 1 0 4 0;
-+#X connect 1 0 5 0;
-+#X connect 3 0 15 0;
-+#X connect 4 0 9 0;
-+#X connect 4 0 10 0;
-+#X connect 4 0 12 0;
-+#X connect 4 0 14 0;
-+#X connect 5 0 0 0;
-+#X connect 5 0 8 0;
-+#X connect 5 0 11 0;
-+#X connect 5 0 13 0;
-+#X connect 6 0 4 1;
-+#X connect 7 0 5 1;
-+#X connect 8 0 2 0;
-+#X connect 9 0 2 0;
-+#X connect 10 0 2 0;
-+#X connect 11 0 2 0;
-+#X connect 12 0 2 0;
-+#X connect 13 0 2 0;
-+#X connect 14 0 2 0;
-+#X connect 15 0 7 0;
-+#X connect 15 0 6 0;
-+#X restore 52 268 pd mirror_phantom_ls_____;
-+#X text 18 9 ambi_decode3;
-+#X text 160 14 AMBISONIC DECODING;
-+#X text 131 40 up to 12.Order 2-dimensional;
-+#X text 128 28 up to 5.Order 3-dimensional or;
-+#X text 508 5 n_ao = ambisonic-order;
-+#X text 520 42 all angles in degree;
-+#X text 539 183 ambisonic order group to suppress the side-lobe-phenomena
-+;
-+#X text 493 274 input: <begin_pseudo_inverse> starts the encoding;
-+#X text 536 285 of all (real + phantom) loudspeaker positions \,;
-+#X text 537 309 and calculates the pseudo inverse.;
-+#X text 540 297 multiplicates the ambi order weight;
-+#X msg 276 230 sing_range 1e-10;
-+#X text 799 328 mirror_weight;
-+#X text 545 354 phantom speaker with the factor "mirror_weight" and
-+adds;
-+#X text 494 202 input: <sing_range> singularity range;
-+#X text 537 213 when calculating the inverse of the matrix by gauss
-+;
-+#X text 537 223 algorithm \, you have to divide a row by a certain
-+number \,;
-+#X text 537 243 outside of this range (> sing_range \, or < -sing_range).
-+;
-+#X text 493 385 input: <end_pseudo_inverse> outputs only the first
-+part of;
-+#X text 539 398 the inverted matrix (row 1 to row n_pht_ls). The part
-+;
-+#X text 541 410 with the phantom speakers \, we ignore.;
-+#X obj 221 576 cnv 15 192 15 empty empty empty 20 12 0 14 -260818 -66577
-+0;
-+#X obj 221 601 cnv 15 228 15 empty empty empty 20 12 0 14 -260818 -66577
-+0;
-+#X text 537 255 Otherwise we say \, this matrix is singular.;
-+#N canvas 152 51 413 549 real_speaker_example 0;
-+#X obj 124 33 bng 35 250 50 0 empty empty empty 0 -6 0 8 -24198 -42246
-+-1;
-+#X obj 143 217 cnv 15 120 15 empty empty empty 20 12 0 14 -260818 -66577
-+0;
-+#X obj 142 261 print;
-+#X obj 142 238 round_zero 1e-06;
-+#X msg 161 121 real_ls \$1 \$2;
-+#X msg 142 144 begin_pseudo_inverse;
-+#X msg 124 167 end_pseudo_inverse;
-+#X obj 142 216 ambi_decode3 2 2 5 0;
-+#X obj 124 75 t b b b;
-+#X msg 161 98 1 5 \, 2 2.5 \, 3 0 \, 4 -2.5 \, 5 -5;
-+#X text 110 300 ambisonic system 2.order;
-+#X text 137 313 2 dimensional;
-+#X text 135 327 5 real speakers;
-+#X text 100 347 arranged in a very small arc between;
-+#X text 117 360 +5 degrees and -5 degrees;
-+#X text 82 490 IEM KUG;
-+#X text 66 478 musil;
-+#X text 96 478 @;
-+#X text 102 478 iem.at;
-+#X text 65 500 Graz \, Austria;
-+#X text 17 467 (c) Thomas Musil 2000 - 2006;
-+#X connect 0 0 8 0;
-+#X connect 3 0 2 0;
-+#X connect 4 0 7 0;
-+#X connect 5 0 7 0;
-+#X connect 6 0 7 0;
-+#X connect 7 0 3 0;
-+#X connect 8 0 6 0;
-+#X connect 8 1 5 0;
-+#X connect 8 2 9 0;
-+#X connect 9 0 4 0;
-+#X restore 220 575 pd real_speaker_example singular;
-+#N canvas 253 59 437 609 phantom_speaker_example 0;
-+#X obj 79 30 bng 35 250 50 0 empty empty empty 0 -6 0 8 -24198 -42246
-+-1;
-+#X obj 184 250 cnv 15 132 15 empty empty empty 20 12 0 14 -260818 -66577
-+0;
-+#X obj 184 299 print;
-+#X obj 184 274 round_zero 1e-06;
-+#X msg 202 164 real_ls \$1 \$2;
-+#X msg 184 187 begin_pseudo_inverse;
-+#X msg 165 210 end_pseudo_inverse;
-+#X obj 165 118 t b b b;
-+#X msg 202 141 1 5 \, 2 2.5 \, 3 0 \, 4 -2.5 \, 5 -5;
-+#X text 151 343 ambisonic system 2.order;
-+#X text 178 356 2 dimensional;
-+#X text 176 370 5 real speakers;
-+#X msg 79 190 pht_ls \$1 \$2;
-+#X obj 79 94 t f f;
-+#X obj 79 125 + 1;
-+#X obj 104 116 * 2.5;
-+#X obj 104 138 + 7.5;
-+#X obj 79 168 pack 0 0;
-+#X obj 184 249 ambi_decode3 2 2 5 139;
-+#X text 157 395 -5 degrees and +5 degrees;
-+#X text 166 410 139 phantom speakers;
-+#X text 140 382 arranged on a very small arc between;
-+#X text 150 422 arranged on an arc between;
-+#X text 154 436 +7.5 degrees and -7.5 degrees;
-+#X text 86 558 IEM KUG;
-+#X text 70 546 musil;
-+#X text 100 546 @;
-+#X text 106 546 iem.at;
-+#X text 69 568 Graz \, Austria;
-+#X text 21 535 (c) Thomas Musil 2000 - 2006;
-+#N canvas 0 0 450 300 0..138 0;
-+#X msg 90 142 138;
-+#X obj 90 164 until;
-+#X obj 90 186 i;
-+#X obj 90 208 + 1;
-+#X obj 90 230 t f f;
-+#X msg 119 141 0;
-+#X obj 63 99 t b b;
-+#X obj 90 120 t b b;
-+#X obj 63 72 inlet;
-+#X obj 90 252 outlet;
-+#X obj 180 252 outlet;
-+#X connect 0 0 1 0;
-+#X connect 1 0 2 0;
-+#X connect 2 0 3 0;
-+#X connect 3 0 4 0;
-+#X connect 4 0 9 0;
-+#X connect 4 1 2 1;
-+#X connect 5 0 2 1;
-+#X connect 6 0 10 0;
-+#X connect 6 1 7 0;
-+#X connect 7 0 0 0;
-+#X connect 7 1 5 0;
-+#X connect 8 0 6 0;
-+#X restore 79 72 pd 0..138;
-+#X connect 0 0 30 0;
-+#X connect 3 0 2 0;
-+#X connect 4 0 18 0;
-+#X connect 5 0 18 0;
-+#X connect 6 0 18 0;
-+#X connect 7 0 6 0;
-+#X connect 7 1 5 0;
-+#X connect 7 2 8 0;
-+#X connect 8 0 4 0;
-+#X connect 12 0 18 0;
-+#X connect 13 0 14 0;
-+#X connect 13 1 15 0;
-+#X connect 14 0 17 0;
-+#X connect 15 0 16 0;
-+#X connect 16 0 17 1;
-+#X connect 17 0 12 0;
-+#X connect 18 0 3 0;
-+#X connect 30 0 13 0;
-+#X connect 30 1 7 0;
-+#X restore 220 600 pd phantom_speaker_example nonsingular;
-+#X text 537 233 to achieve the identity matrix. This number has to
-+be;
-+#X obj 108 391 mtx_print;
-+#X text 504 463 + <float> n_col = (2*n_ao+1) = number of ambisonic-channels
-+;
-+#X text 27 476 3.arg: <float> number of real existing loudspeakers
-+;
-+#X text 27 488 4.arg: <float> number of virtual phantom_loudspeakers
-+;
-+#X text 493 16 n_re_ls = number of real loudspeakers;
-+#X text 493 28 n_vi_ls = number of virtual phantom loudspeakers;
-+#X text 494 78 input: <real_ls> re_ls_index + phi .. 2-dimensional
-+;
-+#X text 494 88 input: <real_ls> re_ls_index + theta + phi .. 3-dimensional
-+;
-+#X text 494 118 input: <pht_ls> vi_ls_index + phi .. 2-dimensional
-+;
-+#X text 494 129 input: <pht_ls> vi_ls_index + theta + phi .. 3-dimensional
-+;
-+#X text 794 29 -90 <= theta <= +90;
-+#X text 786 5 1 <= re_ls_index <= n_re_ls;
-+#X text 786 16 1 <= vi_ls_index <= n_vi_ls;
-+#X text 59 423 initial arguments:;
-+#X text 334 18 calculates a ambisonic;
-+#X text 358 29 decoder matrix;
-+#X text 529 100 encodes the re_ls_index row of a matrix;
-+#X text 525 141 encodes the (re_ls_index + vi_ls_index) row of a matrix
-+;
-+#X text 532 153 we need them to achieve a nonsingular matrix;
-+#X text 493 328 input: <ipht_ireal_muladd> vi_ls_index re_ls_index
-+;
-+#X text 811 443 floats :;
-+#X text 851 503 floats :;
-+#X text 516 513 <float> n_row = (n_re_ls) = number of real loudspeakers
-+;
-+#X text 516 453 <float> n_row = (n_re_ls) = number of real loudspeakers
-+;
-+#X text 784 523 ambisonic-channels;
-+#X text 504 523 + <float> n_col = (n_ao+1)*(nao+1) = number of;
-+#X text 825 534 decoder matrix;
-+#X text 504 474 + (2*n_ao + 1) * n_re_ls <float> elements of the;
-+#X text 504 534 + (n_ao+1)*(n_ao+1) * n_re_ls <float> elements of the
-+;
-+#X text 796 474 decoder matrix;
-+#X text 490 443 output in case of 2d: <matrix> (n_re_ls*(2*n_ao+1)+2)
-+;
-+#X text 490 503 output in case of 3d: <matrix> (n_re_ls*(n_ao+1)*(n_ao+1)+2)
-+;
-+#X text 544 367 this column to the column "re_ls_index" of real speaker
-+;
-+#X text 546 341 multiplies the column "vi_ls_index + n_re_ls" of;
-+#N canvas 5 50 450 300 dependencies 0;
-+#X text 41 49 this help-patch depends on several libraries:;
-+#X text 90 66 iem_ambi;
-+#X text 90 79 iemmatrix;
-+#X obj 52 130 declare -stdlib extra/iem_ambi -stdlib extra/iemmatrix
-+-stdlib extra/iemlib/iemlib2;
-+#X text 91 91 iemlib2;
-+#X restore 506 651 pd dependencies;
-+#X connect 13 0 55 0;
-+#X connect 14 0 19 0;
-+#X connect 15 0 23 0;
-+#X connect 16 0 23 0;
-+#X connect 17 0 27 1;
-+#X connect 18 0 23 0;
-+#X connect 19 0 24 0;
-+#X connect 19 1 27 0;
-+#X connect 19 2 22 0;
-+#X connect 19 3 25 0;
-+#X connect 19 4 20 0;
-+#X connect 19 5 16 0;
-+#X connect 19 6 17 0;
-+#X connect 20 0 21 0;
-+#X connect 21 0 23 0;
-+#X connect 22 0 23 0;
-+#X connect 23 0 13 0;
-+#X connect 24 0 23 0;
-+#X connect 25 0 18 0;
-+#X connect 26 0 23 0;
-+#X connect 27 0 26 0;
-+#X connect 39 0 23 0;
---- pd-iem_ambi.orig/ambi_encode-help.pd
-+++ pd-iem_ambi/ambi_encode-help.pd
-@@ -1,377 +1,387 @@
--#N canvas 61 22 872 684 10;
--#X obj 375 244 cnv 15 78 15 empty empty empty 20 12 0 14 -260818 -66577
--0;
--#X obj 374 243 ambi_encode 2;
--#X obj 374 288 print;
--#X text 478 247 1.arg: <float> ambisonic order;
--#X text 489 259 (1 .. 12 for 2 dimensional use);
--#X msg 461 178 col 2 \$1;
--#X msg 425 97 row 1 \$1;
--#X msg 288 211 col 3 \$1 \$2;
--#X obj 288 188 pack 0 0;
--#X obj 306 166 t b f;
--#X obj 374 265 round_zero 1e-006;
--#X obj 184 193 pack 0 0;
--#X obj 202 171 t b f;
--#X floatatom 100 161 5 -180 180 0 - - -;
--#X floatatom 51 162 5 -90 90 0 - - -;
--#X obj 82 222 pack 0 0;
--#X obj 100 200 t b f;
--#X text 102 142 phi;
--#X text 21 12 ambi_encode;
--#X text 34 291 ambisonic-order = n_ao;
--#X text 346 320 -> output: <list> of (2*n_ao+1) <float>;
--#X text 346 331 -> output: <list> of (n_ao+1)*(n_ao+1) <float>;
--#X text 387 356 -> output: <row> + index + (2*n_ao+1) <float>;
--#X text 387 368 -> output: <row> + index + (n_ao+1)*(n_ao+1) <float>
--;
--#X text 383 394 -> output: <col> + index + (2*n_ao+1) <float>;
--#X text 383 406 -> output: <col> + index + (n_ao+1)*(n_ao+1) <float>
--;
--#X text 432 424 for crossfading of 2 ambisonic-systems;
--#X msg 605 183 ambi_weight 1 1 1;
--#X msg 588 162 ambi_weight 1 1 0.3904;
--#X text 299 424 ambisonic-order-group;
--#X text 89 464 -180 <= phi <= +180;
--#X text 415 439 or for bluring a signal-source-direction;
--#X text 31 496 order of ambisonic-channels in 2d-case: W X1 Y1 X2 Y2
--X3 Y3;
--#X text 391 496 X4 Y4 X5 Y5 ....;
--#X text 167 510 W := 1 \, X-term ... cos(i*phi) \, Y-term ... sin(i*phi)
--;
--#X text 30 550 order of ambisonic-channels in 3d-case: W Z1X1 Z1Y1
--Z1;
--#X text 358 550 Z2X2 Z2Y2 Z2X1 Z2Y1 Z2 Z3X3 Z3Y3 Z3X2 Z3Y2 Z3X1 Z3Y1
--Z3 ...;
--#X text 166 564 W := 1 \, X-term ... cos(i*phi) \, Y-term ... sin(i*phi)
--\,;
--#X text 33 318 input: <float> phi [degree] .. 2-dimensional;
--#X text 33 356 input: <row> index + phi [degree] .. 2-dimensional;
--#X text 31 395 input: <col> index + phi [degree .. 2-dimensional;
--#X text 31 424 input: <ambi_weight> one mul-factor for each;
--#X text 267 482 |0| 1 | 2 | 3 | 4 | 5 |;
--#X text 687 539 |;
--#X text 263 537 |0| 1 | 2 | 3;
--#X floatatom 226 142 5 -180 180 0 - - -;
--#X floatatom 177 143 5 -90 90 0 - - -;
--#X text 228 123 phi;
--#X floatatom 327 139 5 -180 180 0 - - -;
--#X floatatom 278 140 5 -90 90 0 - - -;
--#X text 329 120 phi;
--#X floatatom 370 65 5 -180 180 0 - - -;
--#X text 372 46 phi;
--#X floatatom 425 79 5 -180 180 0 - - -;
--#X text 427 60 phi;
--#X floatatom 461 160 5 -180 180 0 - - -;
--#X text 463 141 phi;
--#X text 491 272 (1 .. 5 for 3 dimensional use);
--#X msg 184 218 row 4 \$1 \$2;
--#X text 82 849 "float"-message: <float> azimuth-angle phi [degree]
---> two-dimensional ambisonic-system -> output a <list> of (2*n_ao +
--1) <float> elements;
--#X text 478 850 "list"-message: 1.item <float> elevation-angle delta
--[degree] \, 2.item <float> azimuth-angle phi [degree] -> three-dimensional
--ambisonic-system -> output a <list> of (n_ao + 1)^2 <float> elements
--;
--#X text 87 914 "row"-message: <float> row-index of ambisonic-encoder-matrix
--\, <float> azimuth-angle phi [degree] -> two-dimensional ambisonic-system
---> output a "row"-message + <float> row-index + (2*n_ao + 1) <float>
--elements;
--#X text 480 919 "row"-message: 1.item <float> elevation-angle delta
--[degree] \, 2.item <float> azimuth-angle phi [degree] -> three-dimensional
--ambisonic-system -> output a <list> of (n_ao + 1)^2 <float> elements
--;
--#X text 105 441 1 <= index <= nr_sources;
--#X text 120 6 AMBISONIC ENCODING;
--#X text 112 32 up to 12.Order 2-dimensional;
--#X text 109 20 up to 5.Order 3-dimensional or;
--#X text 366 8 calculates a row or column of;
--#X text 372 20 a ambisonic-encoder-matrix;
--#X obj 539 62 cnv 15 126 15 empty empty empty 20 12 0 14 -260818 -66577
--0;
--#N canvas 0 0 628 490 3D-5.Order-example 0;
--#X obj 83 104 pack 0 0;
--#X floatatom 83 62 5 -90 90 0 - - -;
--#X floatatom 126 63 5 -180 180 0 - - -;
--#X text 49 45 -90 .. +90;
--#X text 152 33 phi;
--#X text 125 47 -180 .. +180;
--#X obj 101 83 t b f;
--#X obj 102 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 112 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 122 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 132 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 142 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 152 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 162 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 172 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 182 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 192 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 202 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 212 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 222 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 232 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 242 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 252 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 262 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 272 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 282 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 292 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 302 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 312 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 322 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 332 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 92 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 427 96 ambi_encode 4;
--#X floatatom 427 75 5 -180 180 0 - - -;
--#X text 439 38 phi;
--#X text 412 52 -180 .. +180;
--#X obj 147 209 print 3d;
--#X obj 427 139 print 2d;
--#X obj 83 208 route row;
--#X obj 147 187 round_zero 1e-006;
--#X floatatom 47 251 5 0 0 0 - - -;
--#X obj 83 131 pp row 7;
--#X text 18 261 row-index;
--#X obj 427 118 round_zero 1e-006;
--#X text 453 267 +1;
--#X text 453 367 -1;
--#X text 456 318 0;
--#X obj 83 158 ambi_encode 5;
--#X obj 83 229 unpack 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 0 0 0 0 0;
--#X obj 342 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 352 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 362 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 372 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 382 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 392 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 402 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 412 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 422 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 432 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X obj 442 275 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
---1109 -1 0 1;
--#X msg 265 64 ambi_weight 1 1 1 1 1 1;
--#X msg 265 102 ambi_weight 1 1 1 1 0 0;
--#X msg 265 121 ambi_weight 1 1 1 0 0 0;
--#X msg 265 141 ambi_weight 1 1 0 0 0 0;
--#X msg 265 161 ambi_weight 1 0 0 0 0 0;
--#X msg 265 83 ambi_weight 1 1 1 1 1 0;
--#X text 95 409 IEM KUG;
--#X text 79 397 musil;
--#X text 109 397 @;
--#X text 115 397 iem.at;
--#X text 78 419 Graz \, Austria;
--#X text 30 386 (c) Thomas Musil 2000 - 2006;
--#X text 68 32 theta;
--#X connect 0 0 41 0;
--#X connect 1 0 0 0;
--#X connect 2 0 6 0;
--#X connect 6 0 0 0;
--#X connect 6 1 0 1;
--#X connect 32 0 43 0;
--#X connect 33 0 32 0;
--#X connect 38 0 48 0;
--#X connect 39 0 36 0;
--#X connect 41 0 47 0;
--#X connect 43 0 37 0;
--#X connect 47 0 38 0;
--#X connect 47 0 39 0;
--#X connect 48 0 40 0;
--#X connect 48 1 31 0;
--#X connect 48 2 7 0;
--#X connect 48 3 8 0;
--#X connect 48 4 9 0;
--#X connect 48 5 10 0;
--#X connect 48 6 11 0;
--#X connect 48 7 12 0;
--#X connect 48 8 13 0;
--#X connect 48 9 14 0;
--#X connect 48 10 15 0;
--#X connect 48 11 16 0;
--#X connect 48 12 17 0;
--#X connect 48 13 18 0;
--#X connect 48 14 19 0;
--#X connect 48 15 20 0;
--#X connect 48 16 21 0;
--#X connect 48 17 22 0;
--#X connect 48 18 23 0;
--#X connect 48 19 24 0;
--#X connect 48 20 25 0;
--#X connect 48 21 26 0;
--#X connect 48 22 27 0;
--#X connect 48 23 28 0;
--#X connect 48 24 29 0;
--#X connect 48 25 30 0;
--#X connect 48 26 49 0;
--#X connect 48 27 50 0;
--#X connect 48 28 51 0;
--#X connect 48 29 52 0;
--#X connect 48 30 53 0;
--#X connect 48 31 54 0;
--#X connect 48 32 55 0;
--#X connect 48 33 56 0;
--#X connect 48 34 57 0;
--#X connect 48 35 58 0;
--#X connect 48 36 59 0;
--#X connect 60 0 47 0;
--#X connect 61 0 47 0;
--#X connect 62 0 47 0;
--#X connect 63 0 47 0;
--#X connect 64 0 47 0;
--#X connect 65 0 47 0;
--#X restore 538 61 pd 3D-5.Order-example;
--#X text 90 632 IEM KUG;
--#X text 74 620 musil;
--#X text 104 620 @;
--#X text 110 620 iem.at;
--#X text 73 642 Graz \, Austria;
--#X text 25 609 (c) Thomas Musil 2000 - 2006;
--#X text 48 143 theta;
--#X text 174 124 theta;
--#X text 275 121 theta;
--#X text 33 331 input: <list>theta + phi [degree] .. 3-dimensional;
--#X text 34 368 input: <row> index theta + phi [degree] .. 3-dimensional
--;
--#X text 31 407 input: <col> index + theta + phi [degree] .. 3-dimensional
--;
--#X text 89 452 -90 <= theta <= +90;
--#X text 489 564 Z-term ... cos(j*theta)*sin(k*theta);
--#X obj 59 72 cnv 15 204 15 empty empty empty 20 12 0 14 -260818 -66577
--0;
--#N canvas 0 0 620 309 Definition 0;
--#X text 173 233 IEM KUG;
--#X text 157 221 musil;
--#X text 187 221 @;
--#X text 193 221 iem.at;
--#X text 156 243 Graz \, Austria;
--#X text 108 210 (c) Thomas Musil 2000 - 2006;
--#X text 108 154 o-;
--#X text 116 149 _____;
--#X text 108 147 |;
--#X text 108 141 |;
--#X text 108 135 |;
--#X text 108 129 |;
--#X text 108 125 ^;
--#X text 107 140 +;
--#X text 112 140 -;
--#X text 104 140 -;
--#X text 116 141 -;
--#X text 119 140 .;
--#X text 120 140 .;
--#X text 121 140 .;
--#X text 122 141 .;
--#X text 123 141 .;
--#X text 124 142 .;
--#X text 125 143 .;
--#X text 126 144 .;
--#X text 146 154 > +x;
--#X text 104 115 +y;
--#X text 96 159 +z;
--#X text 127 145 .;
--#X text 127 146 .;
--#X text 128 147 .;
--#X text 128 148 .;
--#X text 128 149 .;
--#X text 129 150 .;
--#X text 129 151 .;
--#X text 69 140 +phi <;
--#X text 278 154 o-;
--#X text 278 129 |;
--#X text 278 125 ^;
--#X text 290 140 .;
--#X text 291 140 .;
--#X text 292 141 .;
--#X text 293 141 .;
--#X text 294 142 .;
--#X text 295 143 .;
--#X text 296 144 .;
--#X text 297 145 .;
--#X text 297 146 .;
--#X text 298 147 .;
--#X text 298 148 .;
--#X text 298 149 .;
--#X text 299 150 .;
--#X text 299 151 .;
--#X text 266 159 +x;
--#X text 316 154 > +y;
--#X text 274 115 +z;
--#X text 278 135 |;
--#X text 278 141 |;
--#X text 278 147 |;
--#X text 288 149 _____;
--#X text 291 135 _;
--#X text 288 143 |;
--#X text 295 135 +theta;
--#X text 74 55 theta .. elevation \, geodetical pos. orientation;
--#X text 75 42 phi .... azimute in math. pos. orientation;
--#X text 373 65 theta = -90 on south pole \;;
--#X text 373 75 theta = 0 equator );
--#X text 361 55 ( theta = +90 on north pole \;;
--#X text 332 42 ( counter clockwise in xy-plane );
--#X text 74 67 radius . is always 1;
--#X text 253 23 we use the spherical coordinate system;
--#X text 109 23 for ambisonic encoding \,;
--#X restore 58 71 pd Definition of Coordinate System;
--#X connect 1 0 10 0;
--#X connect 5 0 1 0;
--#X connect 6 0 1 0;
--#X connect 7 0 1 0;
--#X connect 8 0 7 0;
--#X connect 9 0 8 0;
--#X connect 9 1 8 1;
--#X connect 10 0 2 0;
--#X connect 11 0 58 0;
--#X connect 12 0 11 0;
--#X connect 12 1 11 1;
--#X connect 13 0 16 0;
--#X connect 14 0 15 0;
--#X connect 15 0 1 0;
--#X connect 16 0 15 0;
--#X connect 16 1 15 1;
--#X connect 27 0 1 0;
--#X connect 28 0 1 0;
--#X connect 45 0 12 0;
--#X connect 46 0 11 0;
--#X connect 48 0 9 0;
--#X connect 49 0 8 0;
--#X connect 51 0 1 0;
--#X connect 53 0 6 0;
--#X connect 55 0 5 0;
--#X connect 58 0 1 0;
-+#N canvas 63 50 872 684 10;
-+#X declare -stdlib extra/iem_ambi -stdlib extra/iemlib/iemlib2;
-+#X obj 375 244 cnv 15 78 15 empty empty empty 20 12 0 14 -260818 -66577
-+0;
-+#X obj 374 243 ambi_encode 2;
-+#X obj 374 288 print;
-+#X text 478 247 1.arg: <float> ambisonic order;
-+#X text 489 259 (1 .. 12 for 2 dimensional use);
-+#X msg 461 178 col 2 \$1;
-+#X msg 425 97 row 1 \$1;
-+#X msg 288 211 col 3 \$1 \$2;
-+#X obj 288 188 pack 0 0;
-+#X obj 306 166 t b f;
-+#X obj 374 265 round_zero 1e-06;
-+#X obj 184 193 pack 0 0;
-+#X obj 202 171 t b f;
-+#X floatatom 100 161 5 -180 180 0 - - -;
-+#X floatatom 51 162 5 -90 90 0 - - -;
-+#X obj 82 222 pack 0 0;
-+#X obj 100 200 t b f;
-+#X text 102 142 phi;
-+#X text 21 12 ambi_encode;
-+#X text 34 291 ambisonic-order = n_ao;
-+#X text 346 320 -> output: <list> of (2*n_ao+1) <float>;
-+#X text 346 331 -> output: <list> of (n_ao+1)*(n_ao+1) <float>;
-+#X text 387 356 -> output: <row> + index + (2*n_ao+1) <float>;
-+#X text 387 368 -> output: <row> + index + (n_ao+1)*(n_ao+1) <float>
-+;
-+#X text 383 394 -> output: <col> + index + (2*n_ao+1) <float>;
-+#X text 383 406 -> output: <col> + index + (n_ao+1)*(n_ao+1) <float>
-+;
-+#X text 432 424 for crossfading of 2 ambisonic-systems;
-+#X msg 605 183 ambi_weight 1 1 1;
-+#X msg 588 162 ambi_weight 1 1 0.3904;
-+#X text 299 424 ambisonic-order-group;
-+#X text 89 464 -180 <= phi <= +180;
-+#X text 415 439 or for bluring a signal-source-direction;
-+#X text 31 496 order of ambisonic-channels in 2d-case: W X1 Y1 X2 Y2
-+X3 Y3;
-+#X text 391 496 X4 Y4 X5 Y5 ....;
-+#X text 167 510 W := 1 \, X-term ... cos(i*phi) \, Y-term ... sin(i*phi)
-+;
-+#X text 30 550 order of ambisonic-channels in 3d-case: W Z1X1 Z1Y1
-+Z1;
-+#X text 358 550 Z2X2 Z2Y2 Z2X1 Z2Y1 Z2 Z3X3 Z3Y3 Z3X2 Z3Y2 Z3X1 Z3Y1
-+Z3 ...;
-+#X text 166 564 W := 1 \, X-term ... cos(i*phi) \, Y-term ... sin(i*phi)
-+\,;
-+#X text 33 318 input: <float> phi [degree] .. 2-dimensional;
-+#X text 33 356 input: <row> index + phi [degree] .. 2-dimensional;
-+#X text 31 395 input: <col> index + phi [degree .. 2-dimensional;
-+#X text 31 424 input: <ambi_weight> one mul-factor for each;
-+#X text 267 482 |0| 1 | 2 | 3 | 4 | 5 |;
-+#X text 687 539 |;
-+#X text 263 537 |0| 1 | 2 | 3;
-+#X floatatom 226 142 5 -180 180 0 - - -;
-+#X floatatom 177 143 5 -90 90 0 - - -;
-+#X text 228 123 phi;
-+#X floatatom 327 139 5 -180 180 0 - - -;
-+#X floatatom 278 140 5 -90 90 0 - - -;
-+#X text 329 120 phi;
-+#X floatatom 370 65 5 -180 180 0 - - -;
-+#X text 372 46 phi;
-+#X floatatom 425 79 5 -180 180 0 - - -;
-+#X text 427 60 phi;
-+#X floatatom 461 160 5 -180 180 0 - - -;
-+#X text 463 141 phi;
-+#X text 491 272 (1 .. 5 for 3 dimensional use);
-+#X msg 184 218 row 4 \$1 \$2;
-+#X text 82 849 "float"-message: <float> azimuth-angle phi [degree]
-+-> two-dimensional ambisonic-system -> output a <list> of (2*n_ao +
-+1) <float> elements;
-+#X text 478 850 "list"-message: 1.item <float> elevation-angle delta
-+[degree] \, 2.item <float> azimuth-angle phi [degree] -> three-dimensional
-+ambisonic-system -> output a <list> of (n_ao + 1)^2 <float> elements
-+;
-+#X text 87 914 "row"-message: <float> row-index of ambisonic-encoder-matrix
-+\, <float> azimuth-angle phi [degree] -> two-dimensional ambisonic-system
-+-> output a "row"-message + <float> row-index + (2*n_ao + 1) <float>
-+elements;
-+#X text 480 919 "row"-message: 1.item <float> elevation-angle delta
-+[degree] \, 2.item <float> azimuth-angle phi [degree] -> three-dimensional
-+ambisonic-system -> output a <list> of (n_ao + 1)^2 <float> elements
-+;
-+#X text 105 441 1 <= index <= nr_sources;
-+#X text 120 6 AMBISONIC ENCODING;
-+#X text 112 32 up to 12.Order 2-dimensional;
-+#X text 109 20 up to 5.Order 3-dimensional or;
-+#X text 366 8 calculates a row or column of;
-+#X text 372 20 a ambisonic-encoder-matrix;
-+#X obj 539 62 cnv 15 126 15 empty empty empty 20 12 0 14 -260818 -66577
-+0;
-+#N canvas 283 108 628 490 3D-5.Order-example 0;
-+#X obj 83 104 pack 0 0;
-+#X floatatom 83 62 5 -90 90 0 - - -;
-+#X floatatom 126 63 5 -180 180 0 - - -;
-+#X text 49 45 -90 .. +90;
-+#X text 152 33 phi;
-+#X text 125 47 -180 .. +180;
-+#X obj 101 83 t b f;
-+#X obj 102 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 112 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 122 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 132 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 142 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 152 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 162 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 172 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 182 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 192 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 202 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 212 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 222 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 232 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 242 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 252 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 262 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 272 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 282 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 292 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 302 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 312 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 322 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 332 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 92 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 427 96 ambi_encode 4;
-+#X floatatom 427 75 5 -180 180 0 - - -;
-+#X text 439 38 phi;
-+#X text 412 52 -180 .. +180;
-+#X obj 147 259 print 3d;
-+#X obj 427 139 print 2d;
-+#X obj 83 258 route row;
-+#X obj 147 237 round_zero 1e-06;
-+#X floatatom 47 301 5 0 0 0 - - -;
-+#X text 18 311 row-index;
-+#X obj 427 118 round_zero 1e-06;
-+#X text 453 317 +1;
-+#X text 453 417 -1;
-+#X text 456 368 0;
-+#X obj 83 208 ambi_encode 5;
-+#X obj 83 279 unpack 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 0 0 0 0 0;
-+#X obj 342 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 352 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 362 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 372 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 382 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 392 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 402 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 412 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 422 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 432 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X obj 442 325 vsl 8 101 -1 1 0 0 empty empty empty 0 -8 0 8 -225280
-+-1109 -1 0 1;
-+#X msg 265 64 ambi_weight 1 1 1 1 1 1;
-+#X msg 265 102 ambi_weight 1 1 1 1 0 0;
-+#X msg 265 121 ambi_weight 1 1 1 0 0 0;
-+#X msg 265 191 ambi_weight 1 1 0 0 0 0;
-+#X msg 265 211 ambi_weight 1 0 0 0 0 0;
-+#X msg 265 83 ambi_weight 1 1 1 1 1 0;
-+#X text 95 459 IEM KUG;
-+#X text 79 447 musil;
-+#X text 109 447 @;
-+#X text 115 447 iem.at;
-+#X text 78 469 Graz \, Austria;
-+#X text 30 436 (c) Thomas Musil 2000 - 2006;
-+#X text 68 32 theta;
-+#X obj 83 129 list prepend row 7;
-+#X obj 83 151 list trim;
-+#X connect 0 0 72 0;
-+#X connect 1 0 0 0;
-+#X connect 2 0 6 0;
-+#X connect 6 0 0 0;
-+#X connect 6 1 0 1;
-+#X connect 32 0 42 0;
-+#X connect 33 0 32 0;
-+#X connect 38 0 47 0;
-+#X connect 39 0 36 0;
-+#X connect 42 0 37 0;
-+#X connect 46 0 38 0;
-+#X connect 46 0 39 0;
-+#X connect 47 0 40 0;
-+#X connect 47 1 31 0;
-+#X connect 47 2 7 0;
-+#X connect 47 3 8 0;
-+#X connect 47 4 9 0;
-+#X connect 47 5 10 0;
-+#X connect 47 6 11 0;
-+#X connect 47 7 12 0;
-+#X connect 47 8 13 0;
-+#X connect 47 9 14 0;
-+#X connect 47 10 15 0;
-+#X connect 47 11 16 0;
-+#X connect 47 12 17 0;
-+#X connect 47 13 18 0;
-+#X connect 47 14 19 0;
-+#X connect 47 15 20 0;
-+#X connect 47 16 21 0;
-+#X connect 47 17 22 0;
-+#X connect 47 18 23 0;
-+#X connect 47 19 24 0;
-+#X connect 47 20 25 0;
-+#X connect 47 21 26 0;
-+#X connect 47 22 27 0;
-+#X connect 47 23 28 0;
-+#X connect 47 24 29 0;
-+#X connect 47 25 30 0;
-+#X connect 47 26 48 0;
-+#X connect 47 27 49 0;
-+#X connect 47 28 50 0;
-+#X connect 47 29 51 0;
-+#X connect 47 30 52 0;
-+#X connect 47 31 53 0;
-+#X connect 47 32 54 0;
-+#X connect 47 33 55 0;
-+#X connect 47 34 56 0;
-+#X connect 47 35 57 0;
-+#X connect 47 36 58 0;
-+#X connect 59 0 46 0;
-+#X connect 60 0 46 0;
-+#X connect 61 0 46 0;
-+#X connect 62 0 46 0;
-+#X connect 63 0 46 0;
-+#X connect 64 0 46 0;
-+#X connect 72 0 73 0;
-+#X connect 73 0 46 0;
-+#X restore 538 61 pd 3D-5.Order-example;
-+#X text 90 632 IEM KUG;
-+#X text 74 620 musil;
-+#X text 104 620 @;
-+#X text 110 620 iem.at;
-+#X text 73 642 Graz \, Austria;
-+#X text 25 609 (c) Thomas Musil 2000 - 2006;
-+#X text 48 143 theta;
-+#X text 174 124 theta;
-+#X text 275 121 theta;
-+#X text 33 331 input: <list>theta + phi [degree] .. 3-dimensional;
-+#X text 34 368 input: <row> index theta + phi [degree] .. 3-dimensional
-+;
-+#X text 31 407 input: <col> index + theta + phi [degree] .. 3-dimensional
-+;
-+#X text 89 452 -90 <= theta <= +90;
-+#X text 489 564 Z-term ... cos(j*theta)*sin(k*theta);
-+#X obj 59 72 cnv 15 204 15 empty empty empty 20 12 0 14 -260818 -66577
-+0;
-+#N canvas 5 50 620 309 Definition 0;
-+#X text 173 233 IEM KUG;
-+#X text 157 221 musil;
-+#X text 187 221 @;
-+#X text 193 221 iem.at;
-+#X text 156 243 Graz \, Austria;
-+#X text 108 210 (c) Thomas Musil 2000 - 2006;
-+#X text 108 154 o-;
-+#X text 116 149 _____;
-+#X text 108 147 |;
-+#X text 108 141 |;
-+#X text 108 135 |;
-+#X text 108 129 |;
-+#X text 108 125 ^;
-+#X text 107 140 +;
-+#X text 112 140 -;
-+#X text 104 140 -;
-+#X text 116 141 -;
-+#X text 119 140 .;
-+#X text 120 140 .;
-+#X text 121 140 .;
-+#X text 122 141 .;
-+#X text 123 141 .;
-+#X text 124 142 .;
-+#X text 125 143 .;
-+#X text 126 144 .;
-+#X text 146 154 > +x;
-+#X text 104 115 +y;
-+#X text 96 159 +z;
-+#X text 127 145 .;
-+#X text 127 146 .;
-+#X text 128 147 .;
-+#X text 128 148 .;
-+#X text 128 149 .;
-+#X text 129 150 .;
-+#X text 129 151 .;
-+#X text 69 140 +phi <;
-+#X text 278 154 o-;
-+#X text 278 129 |;
-+#X text 278 125 ^;
-+#X text 290 140 .;
-+#X text 291 140 .;
-+#X text 292 141 .;
-+#X text 293 141 .;
-+#X text 294 142 .;
-+#X text 295 143 .;
-+#X text 296 144 .;
-+#X text 297 145 .;
-+#X text 297 146 .;
-+#X text 298 147 .;
-+#X text 298 148 .;
-+#X text 298 149 .;
-+#X text 299 150 .;
-+#X text 299 151 .;
-+#X text 266 159 +x;
-+#X text 316 154 > +y;
-+#X text 274 115 +z;
-+#X text 278 135 |;
-+#X text 278 141 |;
-+#X text 278 147 |;
-+#X text 288 149 _____;
-+#X text 291 135 _;
-+#X text 288 143 |;
-+#X text 295 135 +theta;
-+#X text 74 55 theta .. elevation \, geodetical pos. orientation;
-+#X text 75 42 phi .... azimute in math. pos. orientation;
-+#X text 373 65 theta = -90 on south pole \;;
-+#X text 373 75 theta = 0 equator );
-+#X text 361 55 ( theta = +90 on north pole \;;
-+#X text 332 42 ( counter clockwise in xy-plane );
-+#X text 74 67 radius . is always 1;
-+#X text 253 23 we use the spherical coordinate system;
-+#X text 109 23 for ambisonic encoding \,;
-+#X restore 58 71 pd Definition of Coordinate System;
-+#N canvas 4 50 450 300 dependencies 0;
-+#X text 41 49 this help-patch depends on several libraries:;
-+#X text 90 66 iem_ambi;
-+#X obj 52 130 declare -stdlib extra/iem_ambi -stdlib extra/iemlib/iemlib2
-+;
-+#X text 89 82 iemlib2;
-+#X restore 286 638 pd dependencies;
-+#X connect 1 0 10 0;
-+#X connect 5 0 1 0;
-+#X connect 6 0 1 0;
-+#X connect 7 0 1 0;
-+#X connect 8 0 7 0;
-+#X connect 9 0 8 0;
-+#X connect 9 1 8 1;
-+#X connect 10 0 2 0;
-+#X connect 11 0 58 0;
-+#X connect 12 0 11 0;
-+#X connect 12 1 11 1;
-+#X connect 13 0 16 0;
-+#X connect 14 0 15 0;
-+#X connect 15 0 1 0;
-+#X connect 16 0 15 0;
-+#X connect 16 1 15 1;
-+#X connect 27 0 1 0;
-+#X connect 28 0 1 0;
-+#X connect 45 0 12 0;
-+#X connect 46 0 11 0;
-+#X connect 48 0 9 0;
-+#X connect 49 0 8 0;
-+#X connect 51 0 1 0;
-+#X connect 53 0 6 0;
-+#X connect 55 0 5 0;
-+#X connect 58 0 1 0;
---- pd-iem_ambi.orig/ambi_rot-help.pd
-+++ pd-iem_ambi/ambi_rot-help.pd
-@@ -1,194 +1,204 @@
--#N canvas 50 9 838 665 10;
--#X floatatom 50 76 6 -180 180 0 - - -;
--#X obj 27 76 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
---1;
--#X floatatom 126 76 6 -180 180 0 - - -;
--#X text 127 59 rho_y;
--#X text 52 59 rho_z;
--#X floatatom 193 76 6 -180 180 0 - - -;
--#X text 195 59 rho_x;
--#X obj 125 149 pack 0 0 0;
--#X obj 193 120 t b f;
--#X obj 126 120 t b f;
--#X obj 50 93 deg2rad;
--#X obj 126 94 deg2rad;
--#X obj 193 95 deg2rad;
--#X text 14 11 ambi_rot;
--#X text 128 8 AMBISONIC ROTATION;
--#X text 110 32 up to 12.Order 2-dimensional;
--#X text 107 20 up to 4.Order 3-dimensional or;
--#X text 615 153 o-;
--#X text 623 148 _____;
--#X text 653 153 > +y;
--#X text 615 146 |;
--#X text 615 140 |;
--#X text 615 134 |;
--#X text 615 128 |;
--#X text 615 124 ^;
--#X text 611 114 +z;
--#X text 603 158 +x;
--#X text 614 139 +;
--#X text 619 139 -;
--#X text 611 139 -;
--#X text 623 140 -;
--#X text 564 139 +rho_x <;
--#X text 626 139 .;
--#X text 627 139 .;
--#X text 628 139 .;
--#X text 629 140 .;
--#X text 630 140 .;
--#X text 631 141 .;
--#X text 632 142 .;
--#X text 633 143 .;
--#X text 437 148 _____;
--#X text 469 140 |;
--#X text 469 146 |;
--#X text 469 134 |;
--#X text 469 128 |;
--#X text 469 124 ^;
--#X text 465 114 +z;
--#X text 468 136 +;
--#X text 473 136 -;
--#X text 459 136 .;
--#X text 463 153 -o;
--#X text 412 153 +x <;
--#X text 480 136 > +rho_y;
--#X text 474 158 +y;
--#X text 465 136 -;
--#X text 461 137 -;
--#X text 458 136 .;
--#X text 457 136 .;
--#X text 456 137 .;
--#X text 455 137 .;
--#X text 454 138 .;
--#X text 453 139 .;
--#X text 452 140 .;
--#X text 308 148 _____;
--#X text 340 140 |;
--#X text 340 146 |;
--#X text 340 134 |;
--#X text 340 128 |;
--#X text 340 124 ^;
--#X text 334 153 -o;
--#X text 336 114 +x;
--#X text 283 153 +y <;
--#X text 345 158 +z;
--#X text 339 136 +;
--#X text 344 136 -;
--#X text 336 136 -;
--#X text 348 137 -;
--#X text 351 136 .;
--#X text 352 136 .;
--#X text 353 136 .;
--#X text 354 137 .;
--#X text 355 137 .;
--#X text 356 138 .;
--#X text 357 139 .;
--#X text 358 140 .;
--#X text 289 136 +rho_z <;
--#X text 300 60 rho_z ... rotation angle resp. z-axe;
--#X text 300 71 rho_y ... rotation angle resp. y-axe;
--#X text 300 82 rho_x ... rotation angle resp. x-axe;
--#X obj 82 250 cnv 15 60 15 empty empty empty 20 12 0 14 -260818 -66577
--0;
--#X obj 151 250 cnv 15 60 15 empty empty empty 20 12 0 14 -260818 -66577
--0;
--#X obj 81 299 mtx_mul;
--#X obj 150 229 pack 0 0 0;
--#X obj 150 189 unpack 0 0 0;
--#X obj 150 209 * -1;
--#X obj 125 169 t l l;
--#X obj 99 320 mtx_mul;
--#X obj 117 340 mtx_mul;
--#X obj 136 360 mtx_mul;
--#X obj 183 209 * -1;
--#X obj 217 209 * -1;
--#X obj 150 249 ambi_rot 4;
--#X obj 81 249 ambi_rot 4;
--#X obj 355 476 round_zero 0.0001;
--#X obj 355 418 round_zero 0.0001;
--#X obj 349 359 round_zero 0.0001;
--#X obj 353 299 round_zero 0.0001;
--#X symbolatom 473 309 0 0 0 0 - - -;
--#X symbolatom 473 344 0 0 0 0 - - -;
--#X symbolatom 474 423 0 0 0 0 - - -;
--#X symbolatom 474 536 0 0 0 0 - - -;
--#X obj 355 496 mergefilename blank;
--#X obj 353 321 mergefilename blank;
--#X obj 349 380 mergefilename blank;
--#X obj 355 438 mergefilename blank;
--#X text 380 282 1st order;
--#X text 383 341 2nd order;
--#X text 378 400 3rd order;
--#X text 376 456 4th order;
--#X text 325 6 calculates a matrix message;
--#X text 329 17 for each ambisonic order;
--#X text 233 250 1.arg.: <float> ambisonic order;
--#X text 283 190 inlet: <float> rotation angle in degree for 2-D;
--#X text 322 204 or a list of 3 floats in degree for 3-D:;
--#X text 334 216 1.) <float> rotation angle of z-axe;
--#X text 334 236 3.) <float> rotation angle of x-axe;
--#X text 334 226 2.) <float> rotation angle of y-axe;
--#X obj 709 136 ambi_rot 4;
--#X obj 709 46 ambi_rot 1;
--#X obj 709 76 ambi_rot 2;
--#X obj 709 106 ambi_rot 3;
--#X obj 709 166 ambi_rot 5;
--#X obj 709 196 ambi_rot 6;
--#X obj 709 226 ambi_rot 7;
--#X obj 669 256 ambi_rot 12 ________;
--#X text 11 437 with "matrix" \, followed by number;
--#X text 11 449 of rows and columns and the >float> elements.;
--#X text 23 462 1.outlet is the ambisonic rotation matrix;
--#X text 12 474 for the components of 1.order ambisonc domain.;
--#X text 23 487 2.outlet is the ambisonic rotation matrix;
--#X text 12 499 for the components of 2.order ambisonc domain.;
--#X text 105 513 aso.;
--#X text 10 425 outlets: matrix message beginning;
--#X text 79 603 IEM KUG;
--#X text 63 591 musil;
--#X text 93 591 @;
--#X text 99 591 iem.at;
--#X text 62 613 Graz \, Austria;
--#X text 14 580 (c) Thomas Musil 2000 - 2006;
--#X connect 0 0 10 0;
--#X connect 1 0 0 0;
--#X connect 2 0 11 0;
--#X connect 5 0 12 0;
--#X connect 7 0 95 0;
--#X connect 8 0 7 0;
--#X connect 8 1 7 2;
--#X connect 9 0 7 0;
--#X connect 9 1 7 1;
--#X connect 10 0 7 0;
--#X connect 11 0 9 0;
--#X connect 12 0 8 0;
--#X connect 91 0 106 0;
--#X connect 92 0 101 0;
--#X connect 93 0 94 0;
--#X connect 93 1 99 0;
--#X connect 93 2 100 0;
--#X connect 94 0 92 0;
--#X connect 95 0 102 0;
--#X connect 95 1 93 0;
--#X connect 96 0 105 0;
--#X connect 97 0 104 0;
--#X connect 98 0 103 0;
--#X connect 99 0 92 1;
--#X connect 100 0 92 2;
--#X connect 101 0 91 1;
--#X connect 101 1 96 1;
--#X connect 101 2 97 1;
--#X connect 101 3 98 1;
--#X connect 102 0 91 0;
--#X connect 102 1 96 0;
--#X connect 102 2 97 0;
--#X connect 102 3 98 0;
--#X connect 103 0 111 0;
--#X connect 104 0 114 0;
--#X connect 105 0 113 0;
--#X connect 106 0 112 0;
--#X connect 111 0 110 0;
--#X connect 112 0 107 0;
--#X connect 113 0 108 0;
--#X connect 114 0 109 0;
-+#N canvas 51 50 838 665 10;
-+#X declare -stdlib extra/iem_ambi -stdlib extra/iemmatrix -stdpath
-+extra/zexy -stdlib extra/iemlib/iemlib2;
-+#X floatatom 50 76 6 -180 180 0 - - -;
-+#X obj 27 76 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-+-1;
-+#X floatatom 126 76 6 -180 180 0 - - -;
-+#X text 127 59 rho_y;
-+#X text 52 59 rho_z;
-+#X floatatom 193 76 6 -180 180 0 - - -;
-+#X text 195 59 rho_x;
-+#X obj 125 149 pack 0 0 0;
-+#X obj 193 120 t b f;
-+#X obj 126 120 t b f;
-+#X obj 50 93 deg2rad;
-+#X obj 126 94 deg2rad;
-+#X obj 193 95 deg2rad;
-+#X text 14 11 ambi_rot;
-+#X text 128 8 AMBISONIC ROTATION;
-+#X text 110 32 up to 12.Order 2-dimensional;
-+#X text 107 20 up to 4.Order 3-dimensional or;
-+#X text 615 153 o-;
-+#X text 623 148 _____;
-+#X text 653 153 > +y;
-+#X text 615 146 |;
-+#X text 615 140 |;
-+#X text 615 134 |;
-+#X text 615 128 |;
-+#X text 615 124 ^;
-+#X text 611 114 +z;
-+#X text 603 158 +x;
-+#X text 614 139 +;
-+#X text 619 139 -;
-+#X text 611 139 -;
-+#X text 623 140 -;
-+#X text 564 139 +rho_x <;
-+#X text 626 139 .;
-+#X text 627 139 .;
-+#X text 628 139 .;
-+#X text 629 140 .;
-+#X text 630 140 .;
-+#X text 631 141 .;
-+#X text 632 142 .;
-+#X text 633 143 .;
-+#X text 437 148 _____;
-+#X text 469 140 |;
-+#X text 469 146 |;
-+#X text 469 134 |;
-+#X text 469 128 |;
-+#X text 469 124 ^;
-+#X text 465 114 +z;
-+#X text 468 136 +;
-+#X text 473 136 -;
-+#X text 459 136 .;
-+#X text 463 153 -o;
-+#X text 412 153 +x <;
-+#X text 480 136 > +rho_y;
-+#X text 474 158 +y;
-+#X text 465 136 -;
-+#X text 461 137 -;
-+#X text 458 136 .;
-+#X text 457 136 .;
-+#X text 456 137 .;
-+#X text 455 137 .;
-+#X text 454 138 .;
-+#X text 453 139 .;
-+#X text 452 140 .;
-+#X text 308 148 _____;
-+#X text 340 140 |;
-+#X text 340 146 |;
-+#X text 340 134 |;
-+#X text 340 128 |;
-+#X text 340 124 ^;
-+#X text 334 153 -o;
-+#X text 336 114 +x;
-+#X text 283 153 +y <;
-+#X text 345 158 +z;
-+#X text 339 136 +;
-+#X text 344 136 -;
-+#X text 336 136 -;
-+#X text 348 137 -;
-+#X text 351 136 .;
-+#X text 352 136 .;
-+#X text 353 136 .;
-+#X text 354 137 .;
-+#X text 355 137 .;
-+#X text 356 138 .;
-+#X text 357 139 .;
-+#X text 358 140 .;
-+#X text 289 136 +rho_z <;
-+#X text 300 60 rho_z ... rotation angle resp. z-axe;
-+#X text 300 71 rho_y ... rotation angle resp. y-axe;
-+#X text 300 82 rho_x ... rotation angle resp. x-axe;
-+#X obj 82 250 cnv 15 60 15 empty empty empty 20 12 0 14 -260818 -66577
-+0;
-+#X obj 151 250 cnv 15 60 15 empty empty empty 20 12 0 14 -260818 -66577
-+0;
-+#X obj 81 299 mtx_mul;
-+#X obj 150 229 pack 0 0 0;
-+#X obj 150 189 unpack 0 0 0;
-+#X obj 150 209 * -1;
-+#X obj 125 169 t l l;
-+#X obj 99 320 mtx_mul;
-+#X obj 117 340 mtx_mul;
-+#X obj 136 360 mtx_mul;
-+#X obj 183 209 * -1;
-+#X obj 217 209 * -1;
-+#X obj 150 249 ambi_rot 4;
-+#X obj 81 249 ambi_rot 4;
-+#X obj 355 476 round_zero 0.0001;
-+#X obj 355 418 round_zero 0.0001;
-+#X obj 349 359 round_zero 0.0001;
-+#X obj 353 299 round_zero 0.0001;
-+#X symbolatom 473 309 0 0 0 0 - - -;
-+#X symbolatom 473 344 0 0 0 0 - - -;
-+#X symbolatom 474 423 0 0 0 0 - - -;
-+#X symbolatom 474 536 0 0 0 0 - - -;
-+#X obj 355 496 mergefilename blank;
-+#X obj 353 321 mergefilename blank;
-+#X obj 349 380 mergefilename blank;
-+#X obj 355 438 mergefilename blank;
-+#X text 380 282 1st order;
-+#X text 383 341 2nd order;
-+#X text 378 400 3rd order;
-+#X text 376 456 4th order;
-+#X text 325 6 calculates a matrix message;
-+#X text 329 17 for each ambisonic order;
-+#X text 233 250 1.arg.: <float> ambisonic order;
-+#X text 283 190 inlet: <float> rotation angle in degree for 2-D;
-+#X text 322 204 or a list of 3 floats in degree for 3-D:;
-+#X text 334 216 1.) <float> rotation angle of z-axe;
-+#X text 334 236 3.) <float> rotation angle of x-axe;
-+#X text 334 226 2.) <float> rotation angle of y-axe;
-+#X obj 709 136 ambi_rot 4;
-+#X obj 709 46 ambi_rot 1;
-+#X obj 709 76 ambi_rot 2;
-+#X obj 709 106 ambi_rot 3;
-+#X obj 709 166 ambi_rot 5;
-+#X obj 709 196 ambi_rot 6;
-+#X obj 709 226 ambi_rot 7;
-+#X obj 669 256 ambi_rot 12 ________;
-+#X text 11 437 with "matrix" \, followed by number;
-+#X text 11 449 of rows and columns and the >float> elements.;
-+#X text 23 462 1.outlet is the ambisonic rotation matrix;
-+#X text 12 474 for the components of 1.order ambisonc domain.;
-+#X text 23 487 2.outlet is the ambisonic rotation matrix;
-+#X text 12 499 for the components of 2.order ambisonc domain.;
-+#X text 105 513 aso.;
-+#X text 10 425 outlets: matrix message beginning;
-+#X text 79 603 IEM KUG;
-+#X text 63 591 musil;
-+#X text 93 591 @;
-+#X text 99 591 iem.at;
-+#X text 62 613 Graz \, Austria;
-+#X text 14 580 (c) Thomas Musil 2000 - 2006;
-+#N canvas 4 50 450 300 dependencies 0;
-+#X text 41 49 this help-patch depends on several libraries:;
-+#X text 90 66 iem_ambi;
-+#X text 90 79 iemmatrix;
-+#X text 91 91 zexy;
-+#X obj 52 130 declare -stdlib extra/iem_ambi -stdlib extra/iemmatrix
-+-stdpath extra/zexy -stdlib extra/iemlib/iemlib2;
-+#X restore 502 619 pd dependencies;
-+#X connect 0 0 10 0;
-+#X connect 1 0 0 0;
-+#X connect 2 0 11 0;
-+#X connect 5 0 12 0;
-+#X connect 7 0 95 0;
-+#X connect 8 0 7 0;
-+#X connect 8 1 7 2;
-+#X connect 9 0 7 0;
-+#X connect 9 1 7 1;
-+#X connect 10 0 7 0;
-+#X connect 11 0 9 0;
-+#X connect 12 0 8 0;
-+#X connect 91 0 106 0;
-+#X connect 92 0 101 0;
-+#X connect 93 0 94 0;
-+#X connect 93 1 99 0;
-+#X connect 93 2 100 0;
-+#X connect 94 0 92 0;
-+#X connect 95 0 102 0;
-+#X connect 95 1 93 0;
-+#X connect 96 0 105 0;
-+#X connect 97 0 104 0;
-+#X connect 98 0 103 0;
-+#X connect 99 0 92 1;
-+#X connect 100 0 92 2;
-+#X connect 101 0 91 1;
-+#X connect 101 1 96 1;
-+#X connect 101 2 97 1;
-+#X connect 101 3 98 1;
-+#X connect 102 0 91 0;
-+#X connect 102 1 96 0;
-+#X connect 102 2 97 0;
-+#X connect 102 3 98 0;
-+#X connect 103 0 111 0;
-+#X connect 104 0 114 0;
-+#X connect 105 0 113 0;
-+#X connect 106 0 112 0;
-+#X connect 111 0 110 0;
-+#X connect 112 0 107 0;
-+#X connect 113 0 108 0;
-+#X connect 114 0 109 0;
diff --git a/debian/patches/include_endian_h.patch b/debian/patches/include_endian_h.patch
deleted file mode 100644
index cfdc29e..0000000
--- a/debian/patches/include_endian_h.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Author: IOhannes m zmölnig
-Description: fix inclusion of endian.h on non-linux architectures
---- pd-iem_ambi.orig/src/iemlib.h
-+++ pd-iem_ambi/src/iemlib.h
-@@ -53,11 +53,11 @@
- #define int32 long
- #endif /* MSW */
- 
--#if defined(__FreeBSD__) || defined(__APPLE__)
-+#if defined(__FreeBSD__) || defined(__APPLE__) || defined(__FreeBSD_kernel__)
- #include <machine/endian.h>
- #endif
- 
--#ifdef __linux__
-+#if defined(__linux__) || defined(__CYGWIN__) || defined(__GNU__) || defined(ANDROID)
- #include <endian.h>
- #endif
- 
diff --git a/debian/patches/link-with-libc.patch b/debian/patches/link-with-libc.patch
deleted file mode 100644
index 1b851a7..0000000
--- a/debian/patches/link-with-libc.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Author: IOhannes m zmölnig
-Description: link against libc (keeps lintian happy)
---- pd-iem_ambi.orig/src/makefile_linux
-+++ pd-iem_ambi/src/makefile_linux
-@@ -5,8 +5,8 @@
- PDSOURCE?=/usr/local/src/pd/src
- PD_INCLUDE = -I. -I$(PDSOURCE)
- 
--PD_LDFLAGS = -export-dynamic -shared
--LIB = -lm
-+PD_LDFLAGS = -Wl,--export-dynamic -shared -fPIC
-+LIB = -lc -lm
- 
- #select either the DBG and OPT compiler flags below:
- 
-@@ -44,7 +44,7 @@
- 
- all: $(OBJ)
- 	@echo :: $(OBJ)
--	$(LD) $(PD_LDFLAGS) $(LDFLAGS) -o $(TARGET) *.o $(LIB)
-+	$(CC) $(PD_LDFLAGS) $(LDFLAGS) -o $(TARGET) *.o $(LIB)
- 	mv $(TARGET) ..
- 
- $(OBJ) : %.o : %.c
diff --git a/debian/patches/series b/debian/patches/series
deleted file mode 100644
index 44db1b1..0000000
--- a/debian/patches/series
+++ /dev/null
@@ -1,4 +0,0 @@
-fix-makefile.patch
-helppatches.patch
-include_endian_h.patch
-link-with-libc.patch

-- 
pd-iem_ambi packaging



More information about the pkg-multimedia-commits mailing list