aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/vasp
diff options
context:
space:
mode:
Diffstat (limited to 'externals/grill/vasp')
-rw-r--r--externals/grill/vasp/changes.txt4
-rw-r--r--externals/grill/vasp/config-pd-msvc.txt42
-rwxr-xr-xexternals/grill/vasp/max-ex/convolvebin6601 -> 5668 bytes
-rwxr-xr-xexternals/grill/vasp/max-ex/freezebin0 -> 4384 bytes
-rwxr-xr-xexternals/grill/vasp/max/rndup2bin0 -> 416 bytes
-rwxr-xr-xexternals/grill/vasp/max/vasp.cconjbin0 -> 400 bytes
-rwxr-xr-xexternals/grill/vasp/max/vasp.cconvbin409 -> 718 bytes
-rwxr-xr-xexternals/grill/vasp/max/vasp.convbin376 -> 387 bytes
-rwxr-xr-xexternals/grill/vasp/max/vasp.deferbin0 -> 545 bytes
-rwxr-xr-xexternals/grill/vasp/max/vasp.freezebin677 -> 516 bytes
-rwxr-xr-xexternals/grill/vasp/max/vasp.hilbertbin692 -> 457 bytes
-rwxr-xr-xexternals/grill/vasp/max/vasp.imbin163 -> 132 bytes
-rwxr-xr-xexternals/grill/vasp/max/vasp.lowerbin459 -> 319 bytes
-rwxr-xr-xexternals/grill/vasp/max/vasp.mean?bin0 -> 377 bytes
-rwxr-xr-xexternals/grill/vasp/max/vasp.nodcbin0 -> 198 bytes
-rwxr-xr-xexternals/grill/vasp/max/vasp.optbin830 -> 530 bytes
-rwxr-xr-xexternals/grill/vasp/max/vasp.partsbin0 -> 518 bytes
-rwxr-xr-xexternals/grill/vasp/max/vasp.pwrapbin297 -> 203 bytes
-rwxr-xr-xexternals/grill/vasp/max/vasp.rebin163 -> 132 bytes
-rwxr-xr-xexternals/grill/vasp/max/vasp.roptbin831 -> 531 bytes
-rwxr-xr-xexternals/grill/vasp/max/vasp.spinbin663 -> 499 bytes
-rwxr-xr-xexternals/grill/vasp/max/vasp.upperbin540 -> 370 bytes
-rw-r--r--externals/grill/vasp/pd-ex/convolve.pd136
-rw-r--r--externals/grill/vasp/pd/rndup2.pd48
-rw-r--r--externals/grill/vasp/pd/vasp.cconj.pd18
-rw-r--r--externals/grill/vasp/pd/vasp.cconv.pd81
-rw-r--r--externals/grill/vasp/pd/vasp.conv.pd45
-rw-r--r--externals/grill/vasp/pd/vasp.db2pow.pd18
-rw-r--r--externals/grill/vasp/pd/vasp.defer.pd28
-rw-r--r--externals/grill/vasp/pd/vasp.opt.pd6
-rw-r--r--externals/grill/vasp/pd/vasp.parts.pd27
-rw-r--r--externals/grill/vasp/source/main.cpp4
-rw-r--r--externals/grill/vasp/source/obj_split.cpp2
-rw-r--r--externals/grill/vasp/source/ops_cplx.cpp2
-rw-r--r--externals/grill/vasp/source/ops_cplx.h4
-rw-r--r--externals/grill/vasp/source/vasp.cpp2
-rwxr-xr-xexternals/grill/vasp/source/vasp.rsrc13
-rw-r--r--externals/grill/vasp/vasp.cwbin301192 -> 356360 bytes
38 files changed, 363 insertions, 117 deletions
diff --git a/externals/grill/vasp/changes.txt b/externals/grill/vasp/changes.txt
index 50d4df8a..c4df2400 100644
--- a/externals/grill/vasp/changes.txt
+++ b/externals/grill/vasp/changes.txt
@@ -13,6 +13,10 @@ Version history:
- FIX: vasp.imm - bug with memory reservation length
- ADD: vasp.imm - attribute "zero" (default: true) - whether array should be cleared
- FIX: Max/MSP - freeing immediate buffers with overdrive is bogus -> using queued flext timer
+- FIX: Bug in clearing vasp references
+- CHANGE: changed behavior of vasp.spit on uneven vector counts
+ [vasp a b c( -> [vasp.spit 2] now outputs a(outlet 2), b(outlet 1), c(outlet 2), bang(outlet 3)
+- REMOVE: eliminated [vasp.cconj] as an object as it can easily be replaced by an abstraction
0.1.2:
- FIX: bug in vasp.frames* ... wrong argument
diff --git a/externals/grill/vasp/config-pd-msvc.txt b/externals/grill/vasp/config-pd-msvc.txt
index 4f62e1e7..1ae24513 100644
--- a/externals/grill/vasp/config-pd-msvc.txt
+++ b/externals/grill/vasp/config-pd-msvc.txt
@@ -1,21 +1,21 @@
-# VASP - vector assembling signal processor
-# Copyright (c) 2002-2003 Thomas Grill (xovo@gmx.net)
-#
-
-# where is PD?
-PDPATH=c:\programme\audio\pd
-
-# where do the flext libraries reside?
-FLEXTPATH=$(PDPATH)\flext
-
-# where is MS VC++?
-MSVCPATH=c:\programme\prog\microsoft visual studio\VC98
-
-# where should the external be built?
-OUTPATH=pd-msvc
-
-# should the external be installed? (yes/no)
-INSTALL=yes
-
-# where should the external be installed?
-INSTPATH=$(PDPATH)\extra
+# VASP - vector assembling signal processor
+# Copyright (c) 2002-2003 Thomas Grill (xovo@gmx.net)
+#
+
+# where is PD?
+PDPATH=c:\programme\audio\pd
+
+# where do the flext libraries reside?
+FLEXTPATH=$(PDPATH)\flext
+
+# where is MS VC++?
+MSVCPATH=c:\programme\prog\microsoft visual studio\VC98
+
+# where should the external be built?
+OUTPATH=pd-msvc
+
+# should the external be installed? (yes/no)
+INSTALL=yes
+
+# where should the external be installed?
+INSTPATH=$(PDPATH)\extra
diff --git a/externals/grill/vasp/max-ex/convolve b/externals/grill/vasp/max-ex/convolve
index 481d020a..2df42983 100755
--- a/externals/grill/vasp/max-ex/convolve
+++ b/externals/grill/vasp/max-ex/convolve
Binary files differ
diff --git a/externals/grill/vasp/max-ex/freeze b/externals/grill/vasp/max-ex/freeze
new file mode 100755
index 00000000..be52f100
--- /dev/null
+++ b/externals/grill/vasp/max-ex/freeze
Binary files differ
diff --git a/externals/grill/vasp/max/rndup2 b/externals/grill/vasp/max/rndup2
new file mode 100755
index 00000000..694fbbf5
--- /dev/null
+++ b/externals/grill/vasp/max/rndup2
Binary files differ
diff --git a/externals/grill/vasp/max/vasp.cconj b/externals/grill/vasp/max/vasp.cconj
new file mode 100755
index 00000000..be241dbb
--- /dev/null
+++ b/externals/grill/vasp/max/vasp.cconj
Binary files differ
diff --git a/externals/grill/vasp/max/vasp.cconv b/externals/grill/vasp/max/vasp.cconv
index 5b5c2c39..7fcfa76f 100755
--- a/externals/grill/vasp/max/vasp.cconv
+++ b/externals/grill/vasp/max/vasp.cconv
Binary files differ
diff --git a/externals/grill/vasp/max/vasp.conv b/externals/grill/vasp/max/vasp.conv
index f7ecd744..5a2ed9be 100755
--- a/externals/grill/vasp/max/vasp.conv
+++ b/externals/grill/vasp/max/vasp.conv
Binary files differ
diff --git a/externals/grill/vasp/max/vasp.defer b/externals/grill/vasp/max/vasp.defer
new file mode 100755
index 00000000..30975436
--- /dev/null
+++ b/externals/grill/vasp/max/vasp.defer
Binary files differ
diff --git a/externals/grill/vasp/max/vasp.freeze b/externals/grill/vasp/max/vasp.freeze
index 3a5551fa..761cc032 100755
--- a/externals/grill/vasp/max/vasp.freeze
+++ b/externals/grill/vasp/max/vasp.freeze
Binary files differ
diff --git a/externals/grill/vasp/max/vasp.hilbert b/externals/grill/vasp/max/vasp.hilbert
index 3348d665..5d5201ef 100755
--- a/externals/grill/vasp/max/vasp.hilbert
+++ b/externals/grill/vasp/max/vasp.hilbert
Binary files differ
diff --git a/externals/grill/vasp/max/vasp.im b/externals/grill/vasp/max/vasp.im
index f7a271f5..a670a68e 100755
--- a/externals/grill/vasp/max/vasp.im
+++ b/externals/grill/vasp/max/vasp.im
Binary files differ
diff --git a/externals/grill/vasp/max/vasp.lower b/externals/grill/vasp/max/vasp.lower
index 3cd170c5..3e741c85 100755
--- a/externals/grill/vasp/max/vasp.lower
+++ b/externals/grill/vasp/max/vasp.lower
Binary files differ
diff --git a/externals/grill/vasp/max/vasp.mean? b/externals/grill/vasp/max/vasp.mean?
new file mode 100755
index 00000000..1c7fc6ff
--- /dev/null
+++ b/externals/grill/vasp/max/vasp.mean?
Binary files differ
diff --git a/externals/grill/vasp/max/vasp.nodc b/externals/grill/vasp/max/vasp.nodc
new file mode 100755
index 00000000..369c6ae9
--- /dev/null
+++ b/externals/grill/vasp/max/vasp.nodc
Binary files differ
diff --git a/externals/grill/vasp/max/vasp.opt b/externals/grill/vasp/max/vasp.opt
index 24b1bbdc..5f504b44 100755
--- a/externals/grill/vasp/max/vasp.opt
+++ b/externals/grill/vasp/max/vasp.opt
Binary files differ
diff --git a/externals/grill/vasp/max/vasp.parts b/externals/grill/vasp/max/vasp.parts
new file mode 100755
index 00000000..c94d435c
--- /dev/null
+++ b/externals/grill/vasp/max/vasp.parts
Binary files differ
diff --git a/externals/grill/vasp/max/vasp.pwrap b/externals/grill/vasp/max/vasp.pwrap
index 9e6e71fa..2677f07f 100755
--- a/externals/grill/vasp/max/vasp.pwrap
+++ b/externals/grill/vasp/max/vasp.pwrap
Binary files differ
diff --git a/externals/grill/vasp/max/vasp.re b/externals/grill/vasp/max/vasp.re
index 4acdea90..cd30f3ec 100755
--- a/externals/grill/vasp/max/vasp.re
+++ b/externals/grill/vasp/max/vasp.re
Binary files differ
diff --git a/externals/grill/vasp/max/vasp.ropt b/externals/grill/vasp/max/vasp.ropt
index b3db78d4..09275d73 100755
--- a/externals/grill/vasp/max/vasp.ropt
+++ b/externals/grill/vasp/max/vasp.ropt
Binary files differ
diff --git a/externals/grill/vasp/max/vasp.spin b/externals/grill/vasp/max/vasp.spin
index ebc2a1ff..8faf7de6 100755
--- a/externals/grill/vasp/max/vasp.spin
+++ b/externals/grill/vasp/max/vasp.spin
Binary files differ
diff --git a/externals/grill/vasp/max/vasp.upper b/externals/grill/vasp/max/vasp.upper
index 1c24882b..7adf2fb8 100755
--- a/externals/grill/vasp/max/vasp.upper
+++ b/externals/grill/vasp/max/vasp.upper
Binary files differ
diff --git a/externals/grill/vasp/pd-ex/convolve.pd b/externals/grill/vasp/pd-ex/convolve.pd
index 9a8a4088..8fe41faf 100644
--- a/externals/grill/vasp/pd-ex/convolve.pd
+++ b/externals/grill/vasp/pd-ex/convolve.pd
@@ -1,4 +1,4 @@
-#N canvas 63 57 644 421 12;
+#N canvas 84 222 646 423 12;
#X obj 60 241 bng 50 250 50 0 start_bang empty start 0 -6 128 8 -24198
-1 -1;
#X text 15 77 load/save/play etc.;
@@ -14,7 +14,7 @@
#X obj 177 356 bng 15 250 50 0 empty empty empty 0 -6 0 8 -258699 -1
-1;
#X obj 201 357 nbx 8 16 0 1e+008 0 0 len_arg empty empty 0 -8 128 12
--261689 -1 -1 1.50469e+006 256;
+-261689 -1 -1 1.04858e+006 256;
#X obj 11 10 cnv 15 600 50 empty empty convolve 10 22 0 24 -260818
-1 0;
#X text 202 41 http://www.parasitaere-kapazitaeten.net;
@@ -23,13 +23,12 @@
#X text 32 329 result buffer;
#X text 140 121 source buffer;
#X text 137 175 argument buffer;
-#N canvas 0 0 472 322 do 0;
-#X obj 29 215 vasp.u;
-#N canvas 406 75 401 496 convolve 0;
-#X obj 57 343 vasp.conv;
-#X obj 199 183 vasp.!;
-#X obj 108 191 vasp.f?;
-#X obj 198 154 vasp;
+#N canvas 225 110 484 406 do 0;
+#X obj 27 255 vasp.u;
+#N canvas 406 75 413 555 convolve 0;
+#X obj 217 202 vasp.!;
+#X obj 116 163 vasp.f?;
+#X obj 216 173 vasp;
#X obj 28 69 vasp;
#N canvas 0 0 458 308 sf 0;
#X obj 39 178 outlet;
@@ -42,20 +41,20 @@
#X connect 3 0 2 1;
#X connect 3 0 4 1;
#X connect 4 0 0 0;
-#X restore 197 254 pd sf;
-#X obj 59 380 vasp.opt;
-#X obj 68 227 vasp;
+#X restore 215 273 pd sf;
+#X obj 53 452 vasp.opt;
+#X obj 54 207 vasp;
#X obj 29 39 inlet;
#X obj 132 51 inlet;
#X obj 221 50 inlet;
#X obj 313 50 inlet;
-#X obj 45 458 outlet;
+#X obj 43 520 outlet;
#X text 26 15 bang;
#X text 126 21 src1;
#X text 218 20 src2;
#X text 313 22 dst;
-#X text 196 201 copy to temp;
-#X text 102 457 dst;
+#X text 214 220 copy to temp;
+#X text 100 519 dst;
#N canvas 0 0 454 304 sf 0;
#X obj 39 178 outlet;
#X obj 38 43 inlet;
@@ -67,31 +66,83 @@
#X connect 3 0 2 1;
#X connect 3 0 4 1;
#X connect 4 0 0 0;
-#X restore 68 255 pd sf;
-#X obj 30 296 vasp.->;
-#X obj 31 408 vasp.radio;
+#X restore 55 235 pd sf;
+#X obj 29 298 vasp.->;
+#X obj 27 482 vasp.radio;
#X obj 29 94 t a b a;
-#X connect 0 0 6 0;
-#X connect 1 0 5 0;
-#X connect 2 0 5 1;
-#X connect 2 0 19 1;
-#X connect 3 0 1 0;
-#X connect 4 0 22 0;
-#X connect 5 0 0 1;
-#X connect 6 0 21 0;
-#X connect 7 0 19 0;
-#X connect 8 0 4 0;
-#X connect 9 0 4 1;
-#X connect 10 0 3 1;
-#X connect 11 0 7 1;
-#X connect 19 0 20 1;
-#X connect 20 1 0 0;
-#X connect 21 1 12 0;
-#X connect 22 0 20 0;
-#X connect 22 1 3 0;
-#X connect 22 1 7 0;
-#X connect 22 2 2 0;
-#X restore 28 186 pd convolve;
+#X obj 54 393 vasp.cconv;
+#X obj 56 259 vasp.= 0;
+#N canvas 0 0 452 302 im0 0;
+#X obj 32 51 inlet;
+#X obj 31 250 outlet;
+#X obj 32 83 t a b a;
+#X obj 102 121 vasp.f?;
+#X obj 60 153 vasp.!;
+#X obj 32 210 vasp.join;
+#X text 31 10 make empty imaginary part;
+#X text 115 153 temporary buffer of same size;
+#X text 115 171 (initialized to 0);
+#X connect 0 0 2 0;
+#X connect 2 0 5 0;
+#X connect 2 1 4 0;
+#X connect 2 2 3 0;
+#X connect 3 0 4 1;
+#X connect 4 0 5 1;
+#X connect 5 0 1 0;
+#X restore 54 363 pd im0;
+#N canvas 0 0 452 302 im0 0;
+#X obj 32 51 inlet;
+#X obj 31 250 outlet;
+#X obj 32 83 t a b a;
+#X obj 102 121 vasp.f?;
+#X obj 60 153 vasp.!;
+#X obj 32 210 vasp.join;
+#X text 31 10 make empty imaginary part;
+#X text 115 153 temporary buffer of same size;
+#X text 115 171 (initialized to 0);
+#X connect 0 0 2 0;
+#X connect 2 0 5 0;
+#X connect 2 1 4 0;
+#X connect 2 2 3 0;
+#X connect 3 0 4 1;
+#X connect 4 0 5 1;
+#X connect 5 0 1 0;
+#X restore 129 363 pd im0;
+#X obj 53 424 vasp.re;
+#X obj 116 192 rndup2;
+#X obj 54 329 vasp.f;
+#X text 186 365 make imaginary parts;
+#X text 116 423 need only real part;
+#X text 124 451 "normalize";
+#X text 116 482 filter eventual radio msgs;
+#X connect 0 0 4 0;
+#X connect 1 0 27 0;
+#X connect 2 0 0 0;
+#X connect 3 0 21 0;
+#X connect 4 0 25 0;
+#X connect 5 0 20 0;
+#X connect 6 0 18 0;
+#X connect 7 0 3 0;
+#X connect 8 0 3 1;
+#X connect 9 0 2 1;
+#X connect 10 0 6 1;
+#X connect 18 0 23 0;
+#X connect 19 1 28 0;
+#X connect 20 1 11 0;
+#X connect 21 0 19 0;
+#X connect 21 1 2 0;
+#X connect 21 1 6 0;
+#X connect 21 2 1 0;
+#X connect 22 0 26 0;
+#X connect 23 0 19 1;
+#X connect 24 0 22 0;
+#X connect 25 0 22 1;
+#X connect 26 0 5 0;
+#X connect 27 0 18 1;
+#X connect 27 0 4 1;
+#X connect 27 0 28 1;
+#X connect 28 0 24 0;
+#X restore 26 226 pd convolve;
#X obj 26 52 t b b;
#X msg 154 93 vasp buf_arg;
#X msg 267 92 vasp buf_res;
@@ -101,9 +152,9 @@
#X obj 26 23 r start_bang;
#X obj 143 21 r len_src;
#X obj 229 24 r len_arg;
-#X obj 27 278 outlet;
-#X obj 29 251 vasp.f?;
-#X text 85 215 update buffer;
+#X obj 25 318 outlet;
+#X obj 27 291 vasp.f?;
+#X text 83 255 update buffer;
#X obj 147 159 vasp.f;
#X obj 43 157 vasp.f;
#X msg 45 93 vasp buf_src;
@@ -111,6 +162,7 @@
#X obj 227 54 r off_arg;
#X obj 43 125 vasp.o;
#X obj 147 127 vasp.o;
+#X text 123 225 convolve;
#X connect 0 0 12 0;
#X connect 1 0 0 0;
#X connect 2 0 1 0;
diff --git a/externals/grill/vasp/pd/rndup2.pd b/externals/grill/vasp/pd/rndup2.pd
new file mode 100644
index 00000000..a29b159a
--- /dev/null
+++ b/externals/grill/vasp/pd/rndup2.pd
@@ -0,0 +1,48 @@
+#N canvas 0 0 315 407 12;
+#X obj 34 157 int;
+#N canvas 416 247 452 302 pow2 0;
+#X obj 34 111 pow;
+#X msg 33 84 2;
+#X obj 34 57 t b f;
+#X obj 33 22 inlet;
+#X obj 33 144 outlet;
+#X connect 0 0 4 0;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 2 1 0 1;
+#X connect 3 0 2 0;
+#X restore 33 199 pd pow2;
+#N canvas 0 0 227 213 log2 0;
+#X obj 36 23 inlet;
+#X obj 34 63 log;
+#X obj 36 120 /;
+#X obj 101 24 loadbang;
+#X obj 99 86 log;
+#X obj 31 157 outlet;
+#X msg 99 60 2;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 0 6 0;
+#X connect 4 0 2 1;
+#X connect 6 0 4 0;
+#X restore 34 127 pd log2;
+#X obj 65 254 !=;
+#X obj 35 100 t f f;
+#X obj 33 225 t f f;
+#X obj 33 313 * 1;
+#X obj 63 283 + 1;
+#X obj 33 357 outlet;
+#X obj 35 55 inlet;
+#X text 35 17 round up to the next power of 2;
+#X connect 0 0 1 0;
+#X connect 1 0 5 0;
+#X connect 2 0 0 0;
+#X connect 3 0 7 0;
+#X connect 4 0 2 0;
+#X connect 4 1 3 1;
+#X connect 5 0 6 0;
+#X connect 5 1 3 0;
+#X connect 6 0 8 0;
+#X connect 7 0 6 1;
+#X connect 9 0 4 0;
diff --git a/externals/grill/vasp/pd/vasp.cconj.pd b/externals/grill/vasp/pd/vasp.cconj.pd
new file mode 100644
index 00000000..5f009e0b
--- /dev/null
+++ b/externals/grill/vasp/pd/vasp.cconj.pd
@@ -0,0 +1,18 @@
+#N canvas 420 247 367 328 12;
+#X obj 28 43 inlet;
+#X obj 28 276 outlet;
+#X obj 28 124 vasp.spit 2;
+#X obj 111 163 vasp.* -1;
+#X obj 28 214 vasp.gather;
+#X text 28 13 complex conjugate;
+#X text 123 123 split into pairs;
+#X text 125 216 unite vectors;
+#X text 193 163 flip imaginary part;
+#X obj 28 80 vasp;
+#X connect 0 0 9 0;
+#X connect 2 0 3 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 0;
+#X connect 3 0 4 1;
+#X connect 4 0 1 0;
+#X connect 9 0 2 0;
diff --git a/externals/grill/vasp/pd/vasp.cconv.pd b/externals/grill/vasp/pd/vasp.cconv.pd
index 62cbb795..99587495 100644
--- a/externals/grill/vasp/pd/vasp.cconv.pd
+++ b/externals/grill/vasp/pd/vasp.cconv.pd
@@ -1,28 +1,53 @@
-#N canvas 30 70 408 308 12;
-#X obj 53 224 vasp.c!fft;
-#X obj 162 131 vasp.sync 2;
-#X obj 178 104 vasp.= 0;
-#X obj 179 80 vasp.im;
-#X obj 161 158 vasp.cfft;
-#X obj 54 198 vasp.c*;
-#X obj 54 131 vasp.sync 2;
-#X obj 70 104 vasp.= 0;
-#X obj 71 80 vasp.im;
-#X obj 53 158 vasp.cfft;
-#X obj 54 51 inlet;
-#X obj 168 52 inlet;
-#X obj 52 252 outlet;
-#X connect 0 0 12 0;
-#X connect 1 0 4 0;
-#X connect 2 0 1 1;
-#X connect 3 0 2 0;
-#X connect 4 0 5 1;
-#X connect 5 0 0 0;
-#X connect 6 0 9 0;
-#X connect 7 0 6 1;
-#X connect 8 0 7 0;
-#X connect 9 0 5 0;
-#X connect 10 0 6 0;
-#X connect 10 0 8 0;
-#X connect 11 0 1 0;
-#X connect 11 0 3 0;
+#N canvas 30 70 418 569 12;
+#X obj 88 475 vasp.c!fft;
+#X obj 229 314 vasp.= 0;
+#X obj 230 290 vasp.im;
+#X obj 197 377 vasp.cfft;
+#X obj 89 449 vasp.c*;
+#X obj 123 311 vasp.= 0;
+#X obj 124 287 vasp.im;
+#X obj 89 377 vasp.cfft;
+#X obj 70 73 inlet;
+#X obj 245 74 inlet;
+#X obj 69 526 outlet;
+#X obj 217 253 vasp;
+#X obj 196 223 t b;
+#X obj 90 412 vasp.sync;
+#X obj 90 350 vasp.sync;
+#X obj 198 350 vasp.sync;
+#X obj 70 132 vasp.radio;
+#X obj 70 104 vasp;
+#X obj 36 175 route radio;
+#X obj 245 105 vasp;
+#X text 36 8 complex convolution;
+#X text 32 28 (currently handles only discrete pairs);
+#X connect 0 0 10 0;
+#X connect 1 0 15 1;
+#X connect 2 0 1 0;
+#X connect 3 0 13 1;
+#X connect 4 0 0 0;
+#X connect 5 0 14 1;
+#X connect 6 0 5 0;
+#X connect 7 0 13 0;
+#X connect 8 0 17 0;
+#X connect 9 0 19 0;
+#X connect 11 0 2 0;
+#X connect 11 0 15 0;
+#X connect 12 0 11 0;
+#X connect 13 0 4 0;
+#X connect 13 1 4 1;
+#X connect 14 0 7 0;
+#X connect 15 0 3 0;
+#X connect 16 0 18 0;
+#X connect 16 0 10 0;
+#X connect 16 1 14 0;
+#X connect 16 1 6 0;
+#X connect 16 1 12 0;
+#X connect 17 0 16 0;
+#X connect 18 0 7 0;
+#X connect 18 0 5 0;
+#X connect 18 0 1 0;
+#X connect 18 0 3 0;
+#X connect 18 0 4 0;
+#X connect 18 0 0 0;
+#X connect 19 0 11 1;
diff --git a/externals/grill/vasp/pd/vasp.conv.pd b/externals/grill/vasp/pd/vasp.conv.pd
index d6350270..4036fd61 100644
--- a/externals/grill/vasp/pd/vasp.conv.pd
+++ b/externals/grill/vasp/pd/vasp.conv.pd
@@ -1,24 +1,37 @@
-#N canvas 30 70 412 386 12;
-#X obj 57 30 inlet;
-#X obj 196 31 inlet;
-#X obj 57 308 outlet;
-#X obj 94 151 vasp.rfft;
-#X obj 194 154 vasp.rfft;
-#X obj 87 238 vasp.*;
-#X obj 76 267 vasp.r!fft;
-#X obj 56 67 vasp.radio;
-#X obj 94 196 vasp.sync;
-#X connect 0 0 7 0;
-#X connect 1 0 4 0;
+#N canvas 30 70 416 515 12;
+#X obj 57 76 inlet;
+#X obj 224 76 inlet;
+#X obj 60 416 outlet;
+#X obj 97 259 vasp.rfft;
+#X obj 197 262 vasp.rfft;
+#X obj 90 346 vasp.*;
+#X obj 79 375 vasp.r!fft;
+#X obj 57 142 vasp.radio;
+#X obj 97 304 vasp.sync;
+#X obj 197 219 vasp;
+#X obj 168 172 t b;
+#X obj 223 107 vasp;
+#X obj 57 108 vasp;
+#X obj 25 185 route radio;
+#X text 26 10 real convolution;
+#X text 26 30 (currently handles only discrete vectors);
+#X connect 0 0 12 0;
+#X connect 1 0 11 0;
#X connect 3 0 8 0;
#X connect 4 0 8 1;
#X connect 5 0 6 0;
#X connect 6 0 2 0;
-#X connect 7 0 3 0;
-#X connect 7 0 4 0;
-#X connect 7 0 5 0;
-#X connect 7 0 6 0;
#X connect 7 0 2 0;
+#X connect 7 0 13 0;
#X connect 7 1 3 0;
+#X connect 7 1 10 0;
#X connect 8 0 5 0;
#X connect 8 1 5 1;
+#X connect 9 0 4 0;
+#X connect 10 0 9 0;
+#X connect 11 0 9 1;
+#X connect 12 0 7 0;
+#X connect 13 0 3 0;
+#X connect 13 0 4 0;
+#X connect 13 0 5 0;
+#X connect 13 0 6 0;
diff --git a/externals/grill/vasp/pd/vasp.db2pow.pd b/externals/grill/vasp/pd/vasp.db2pow.pd
new file mode 100644
index 00000000..64b3dd1a
--- /dev/null
+++ b/externals/grill/vasp/pd/vasp.db2pow.pd
@@ -0,0 +1,18 @@
+#N canvas 0 0 247 304 12;
+#X obj 31 66 inlet;
+#X obj 28 272 outlet;
+#X obj 31 130 vasp.exp;
+#X obj 29 242 vasp.*;
+#X obj 99 179 10;
+#X obj 98 207 log;
+#X obj 153 66 loadbang;
+#X obj 31 100 vasp./ 20;
+#X text 14 5 convert values in a vasp;
+#X text 15 23 from dB to power;
+#X connect 0 0 7 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 5 0;
+#X connect 5 0 3 1;
+#X connect 6 0 4 0;
+#X connect 7 0 2 0;
diff --git a/externals/grill/vasp/pd/vasp.defer.pd b/externals/grill/vasp/pd/vasp.defer.pd
new file mode 100644
index 00000000..82933271
--- /dev/null
+++ b/externals/grill/vasp/pd/vasp.defer.pd
@@ -0,0 +1,28 @@
+#N canvas 363 240 469 368 12;
+#X obj 29 73 inlet;
+#X obj 30 300 outlet;
+#X text 26 10 defer a vasp message;
+#X text 26 28 (no immediate send);
+#X obj 29 268 vasp;
+#X obj 30 106 t a b;
+#X obj 66 145 f 1;
+#X msg 115 105 1;
+#X obj 98 145 + 1;
+#X obj 65 188 >= \$1;
+#X msg 65 229 defer \$1;
+#X obj 168 190 select 1;
+#X obj 212 73 inlet;
+#X text 218 95 max msgs per tick;
+#X connect 0 0 5 0;
+#X connect 4 0 1 0;
+#X connect 5 0 4 0;
+#X connect 5 1 6 0;
+#X connect 6 0 8 0;
+#X connect 6 0 9 0;
+#X connect 7 0 6 1;
+#X connect 8 0 6 1;
+#X connect 9 0 10 0;
+#X connect 9 0 11 0;
+#X connect 10 0 4 0;
+#X connect 11 0 7 0;
+#X connect 12 0 9 1;
diff --git a/externals/grill/vasp/pd/vasp.opt.pd b/externals/grill/vasp/pd/vasp.opt.pd
index 283d24da..9e4b69a9 100644
--- a/externals/grill/vasp/pd/vasp.opt.pd
+++ b/externals/grill/vasp/pd/vasp.opt.pd
@@ -1,9 +1,9 @@
-#N canvas 504 38 462 476 12;
+#N canvas 504 38 464 478 12;
#X obj 27 11 inlet;
#X obj 90 158 vasp.amax?;
#X obj 35 206 route 0 1;
-#X obj 107 393 outlet;
-#X obj 165 393 outlet;
+#X obj 107 415 outlet;
+#X obj 165 415 outlet;
#X obj 27 306 vasp;
#X obj 47 255 t b;
#X obj 90 116 vasp.m 2;
diff --git a/externals/grill/vasp/pd/vasp.parts.pd b/externals/grill/vasp/pd/vasp.parts.pd
new file mode 100644
index 00000000..15cd3442
--- /dev/null
+++ b/externals/grill/vasp/pd/vasp.parts.pd
@@ -0,0 +1,27 @@
+#N canvas 0 0 460 384 12;
+#X obj 39 318 outlet;
+#X obj 39 232 vasp.part \$1;
+#X obj 40 67 inlet;
+#X text 42 15 loop over vasp;
+#X obj 225 65 inlet;
+#X text 45 47 vasp;
+#X text 224 47 length;
+#X obj 62 120 vasp.defer;
+#X obj 39 165 vasp.m;
+#X obj 161 204 vasp.f?;
+#X obj 189 236 <= \$1;
+#X obj 159 268 select 1;
+#X obj 159 315 outlet;
+#X text 215 312 bang on finish;
+#X text 61 100 next part;
+#X connect 1 0 0 0;
+#X connect 1 1 7 0;
+#X connect 2 0 8 0;
+#X connect 4 0 1 1;
+#X connect 4 0 10 1;
+#X connect 7 0 8 0;
+#X connect 8 0 9 0;
+#X connect 8 1 1 0;
+#X connect 9 0 10 0;
+#X connect 10 0 11 0;
+#X connect 11 0 12 0;
diff --git a/externals/grill/vasp/source/main.cpp b/externals/grill/vasp/source/main.cpp
index 6a1e01cf..2f7d9f11 100644
--- a/externals/grill/vasp/source/main.cpp
+++ b/externals/grill/vasp/source/main.cpp
@@ -12,7 +12,7 @@ WARRANTIES, see the file, "license.txt," in this distribution.
#include "classes.h"
-const C *VASP_VERSION = "0.1.3pre6";
+const C *VASP_VERSION = "0.1.3pre7";
#include "opfuns.h"
@@ -162,7 +162,7 @@ static V vasp_main()
VASP__SETUP(cnorm)
// VASP__SETUP(cswap)
- VASP__SETUP(cconj)
+// VASP__SETUP(cconj)
VASP_SETUP(shift)
VASP_SETUP(xshift)
diff --git a/externals/grill/vasp/source/obj_split.cpp b/externals/grill/vasp/source/obj_split.cpp
index afeb3fd6..4535bfb1 100644
--- a/externals/grill/vasp/source/obj_split.cpp
+++ b/externals/grill/vasp/source/obj_split.cpp
@@ -201,7 +201,7 @@ public:
I r = min(rem,outs);
for(I i = 0; i < r; ++i) {
Vasp v(ref.Frames(),ref.Vector(vi+i));
- ToOutVasp(r-1-i,v);
+ ToOutVasp(outs-1-i,v);
}
vi += r;
rem -= r;
diff --git a/externals/grill/vasp/source/ops_cplx.cpp b/externals/grill/vasp/source/ops_cplx.cpp
index 013571ef..275f6f2d 100644
--- a/externals/grill/vasp/source/ops_cplx.cpp
+++ b/externals/grill/vasp/source/ops_cplx.cpp
@@ -52,5 +52,5 @@ VASP_UNARY("vasp.cnorm",cnorm,true,"normalize complex radius to 1 (but preserve
// -----------------------------------------------------
-VASP_UNARY("vasp.cconj",cconj,true,"complex conjugate: multiply imaginary part with -1") // should be replaced by an abstraction
+//VASP_UNARY("vasp.cconj",cconj,true,"complex conjugate: multiply imaginary part with -1") // should be replaced by an abstraction
diff --git a/externals/grill/vasp/source/ops_cplx.h b/externals/grill/vasp/source/ops_cplx.h
index 696aae55..9ca9d74e 100644
--- a/externals/grill/vasp/source/ops_cplx.h
+++ b/externals/grill/vasp/source/ops_cplx.h
@@ -22,7 +22,7 @@ DEFOP(S,d_radd,radd,cbin)
DEFOP(S,d_cnorm,norm,cun)
-DEFOP(S,d_cconj,conj,cun)
+//DEFOP(S,d_cconj,conj,cun)
namespace VaspOp {
@@ -34,7 +34,7 @@ namespace VaspOp {
inline Vasp *m_cnorm(OpParam &p,CVasp &src,CVasp *dst = NULL) { return m_cun(p,src,dst,VecOp::d_cnorm); } // complex normalize
// inline Vasp *m_cswap(OpParam &p,CVasp &src,CVasp *dst = NULL) { return m_cun(p,src,dst,VecOp::d_cswap); } // swap real and imaginary parts
- inline Vasp *m_cconj(OpParam &p,CVasp &src,CVasp *dst = NULL) { return m_cun(p,src,dst,VecOp::d_cconj); } // complex conjugate
+// inline Vasp *m_cconj(OpParam &p,CVasp &src,CVasp *dst = NULL) { return m_cun(p,src,dst,VecOp::d_cconj); } // complex conjugate
}
#endif
diff --git a/externals/grill/vasp/source/vasp.cpp b/externals/grill/vasp/source/vasp.cpp
index 09ecb8ff..3fe91330 100644
--- a/externals/grill/vasp/source/vasp.cpp
+++ b/externals/grill/vasp/source/vasp.cpp
@@ -66,7 +66,7 @@ Vasp::~Vasp()
Vasp &Vasp::Clear()
{
refs = frames = chns = 0;
- if(ref) delete[] ref;
+ if(ref) { delete[] ref; ref = NULL; }
return *this;
}
diff --git a/externals/grill/vasp/source/vasp.rsrc b/externals/grill/vasp/source/vasp.rsrc
new file mode 100755
index 00000000..632ebe43
--- /dev/null
+++ b/externals/grill/vasp/source/vasp.rsrc
@@ -0,0 +1,13 @@
+(This file must be converted with BinHex 4.0)
+:!!"bFh*M8P0&4!#3#!)RpQ8!N!3"!!!!!I!!!!$`!!!!0b"MEfjdB@PZC@3JE@9
+cFf&RC5"TEL"LD@jKFRNJ+Lm0$@KcE'PNCA+j,R*cFQ-#!!)!FR0bBe*6483"!2q
+3"!)!FR0bBe*6483"!2q3"!#3%U((pmm!N!B%Z#TLAhC`D@il#3N[+L"`BA4MD'P
+ZE'9d)'PZ)(4SDA-JF'&dBfKPFLGc)(CTFfpLDL!U,`d*#94&5'&ZC'aP)'*IG'9
+S1`Q3"#mU)(4PH(3JC@4TG'pb)'KKEQ4XC5!U,`d*I5"LAh9Z1`ep1`d0,bSJBQp
+i)'CXB@Gc)#S[$3dMC!!!!1aJ#J!!E8&i6!a#!!"1qJ!`6R8LAb!I,S"R%L"!F!!
+3%'!%%1J!!9()rrT#%%l4@8m[,`!)6VVrh#"I)!K1G8j@r[T)j`!`*Qi!#&P2,ca
+Y3AK-2c`!!DJ1)&mN5#!+Cbi[#NKZr[T)E[lm5'lr!+QS5'lr!%kkrlK)E[m!3IS
+!,NK3)'X!N!"1N!"2l`!-B!j"qJ!f5&!JD`#3!%k3!&K260m-!%jH6R@%E@&TEJ!
+!3#9c1L"ZEh3JBACKD@aKBQaP)'C[FL!f1%X!G'KTFb"[BQTPBh3JDA-JEQpd)'&
+fB@PXB@*XC5"QEh)J0MK,!*!%!3!!!!(`!!!!m!!!!$F4Y4E8!`B!!!!F!$)!!'e
+"H%`!!!!+(d!!N!B4Y4A!"(CKFh!6F!:
diff --git a/externals/grill/vasp/vasp.cw b/externals/grill/vasp/vasp.cw
index 817ecfc5..b41468f0 100644
--- a/externals/grill/vasp/vasp.cw
+++ b/externals/grill/vasp/vasp.cw
Binary files differ