diff options
author | Thomas Grill <xovo@users.sourceforge.net> | 2003-03-30 02:48:59 +0000 |
---|---|---|
committer | Thomas Grill <xovo@users.sourceforge.net> | 2003-03-30 02:48:59 +0000 |
commit | 2f012f2baaae9cf9a53afd2398d326a6cdf56fec (patch) | |
tree | 7b54e1cd43d44c9043a15cd362177ad49ac6c4d8 | |
parent | 1820cb0abcf086dac58a1ec70fae2f3928c25e1d (diff) |
""
svn path=/trunk/; revision=511
-rw-r--r-- | externals/grill/vasp/changes.txt | 3 | ||||
-rwxr-xr-x | externals/grill/vasp/max-ex/convolve | 2 | ||||
-rw-r--r-- | externals/grill/vasp/pd-ex/convolve.pd | 8 | ||||
-rw-r--r-- | externals/grill/vasp/pd/vasp.qmean.pd | 19 | ||||
-rw-r--r-- | externals/grill/vasp/pd/vasp.rms.pd | 21 | ||||
-rw-r--r-- | externals/grill/vasp/source/buflib.cpp | 60 | ||||
-rw-r--r-- | externals/grill/vasp/source/main.cpp | 6 | ||||
-rw-r--r-- | externals/grill/vasp/source/obj_imm.cpp | 25 | ||||
-rw-r--r-- | externals/grill/vasp/source/vbuffer.h | 2 | ||||
-rw-r--r-- | externals/grill/vasp/vasp.cw | bin | 301192 -> 301192 bytes | |||
-rw-r--r-- | externals/grill/xsample/source/main.cpp | 4 |
11 files changed, 94 insertions, 56 deletions
diff --git a/externals/grill/vasp/changes.txt b/externals/grill/vasp/changes.txt index 3d9cbcf7..50d4df8a 100644 --- a/externals/grill/vasp/changes.txt +++ b/externals/grill/vasp/changes.txt @@ -10,6 +10,9 @@ Version history: - ADD: all objects: attribute "defer" to queue outgoing vasps - to avoid stack faults for message loops - CHANGE: enable attributes "detach" and "prior" also for non-threaded builds to ensure patch compatibility - FIX: vasp.size - flext bug for @keep=1 +- 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 0.1.2: - FIX: bug in vasp.frames* ... wrong argument diff --git a/externals/grill/vasp/max-ex/convolve b/externals/grill/vasp/max-ex/convolve index 2641521a..481d020a 100755 --- a/externals/grill/vasp/max-ex/convolve +++ b/externals/grill/vasp/max-ex/convolve @@ -1 +1 @@ -max v2;
#N vpatcher 3 47 870 744;
#P newex 53 423 35 196617 vasp.f;
#P newex 324 415 45 196617 loadbang;
#P message 56 315 53 196617 vasp buf3;
#N vpatcher 284 239 684 539;
#P newex 36 128 43 196617 * 1000;
#P newex 36 102 27 196617 int;
#P newex 36 76 42 196617 / 1000;
#P outlet 36 217 15 0;
#P inlet 36 48 15 0;
#P connect 0 0 2 0;
#P connect 2 0 3 0;
#P connect 3 0 4 0;
#P connect 4 0 1 0;
#P pop;
#P newobj 105 268 38 196617 p rnd;
#P message 794 105 52 196617 0 -1 0 -1;
#P message 798 253 52 196617 0 -1 0 -1;
#P message 541 47 34 196617 write;
#N vpatcher 385 272 785 572;
#P outlet 29 147 15 0;
#P inlet 90 40 15 0;
#P inlet 29 42 15 0;
#P newex 28 108 35 196617 vasp.f;
#P newex 28 71 38 196617 vasp.s;
#P connect 2 0 0 0;
#P connect 0 0 1 0;
#P connect 1 0 4 0;
#P connect 3 0 1 1;
#P connect 3 0 0 1;
#P pop;
#P newobj 70 369 25 196617 p sf;
#N vpatcher 385 272 785 572;
#P outlet 29 147 15 0;
#P inlet 90 40 15 0;
#P inlet 29 42 15 0;
#P newex 28 108 35 196617 vasp.f;
#P newex 28 71 38 196617 vasp.s;
#P connect 2 0 0 0;
#P connect 0 0 1 0;
#P connect 1 0 4 0;
#P connect 3 0 1 1;
#P connect 3 0 0 1;
#P pop;
#P newobj 149 316 25 196617 p sf;
#P newex 149 226 30 196617 vasp;
#P flonum 600 411 73 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 495 411 73 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P button 166 95 15 0;
#P flonum 600 251 73 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 495 251 73 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 88 214 27 196617 t b i;
#P newex 88 189 43 196617 vasp.f?;
#P button 51 101 15 0;
#N vpatcher 658 452 1058 752;
#P origin 0 167;
#P newex 26 46 20 196617 t b;
#P outlet 34 240 15 0;
#P inlet 147 33 15 0;
#P inlet 85 29 15 0;
#P inlet 24 27 15 0;
#P message 45 176 35 196617 set \$1;
#P newex 45 211 76 196617 pack 0. 0.;
#P newex 126 77 40 196617 * 44.099998;
#P newex 45 89 40 196617 * 44.099998;
#P newex 45 67 29 196617 !- 0.;
#P connect 5 0 9 0;
#P connect 3 0 8 0;
#P connect 6 0 0 0;
#P connect 0 0 1 0;
#P connect 1 0 4 0;
#P connect 4 0 3 0;
#P fasten 9 0 3 0 31 202 50 202;
#P connect 7 0 0 1;
#P connect 2 0 3 1;
#P connect 6 0 2 0;
#P pop;
#P newobj 37 147 41 196617 p sel;
#N vpatcher 658 452 1058 752;
#P origin 0 167;
#P newex 26 46 20 196617 t b;
#P outlet 34 183 15 0;
#P inlet 147 33 15 0;
#P inlet 85 29 15 0;
#P inlet 24 27 15 0;
#P message 45 114 35 196617 set \$1;
#P newex 45 142 76 196617 pack 0. 0.;
#P newex 133 93 40 196617 * 44.099998;
#P newex 45 89 40 196617 * 44.099998;
#P newex 45 67 29 196617 !- 0.;
#P connect 5 0 9 0;
#P connect 3 0 8 0;
#P connect 6 0 0 0;
#P connect 0 0 1 0;
#P connect 1 0 4 0;
#P fasten 9 0 3 0 31 133 50 133;
#P connect 4 0 3 0;
#P connect 7 0 0 1;
#P connect 2 0 3 1;
#P connect 6 0 2 0;
#P pop;
#P newobj 149 125 41 196617 p sel;
#P user umenu 138 545 100 196647 1 64 561 1;
#X add buf1;
#X add buf2;
#X add buf3;
#P newex 138 564 60 196617 prepend set;
#P user waveform~ 276 546 569 107 3 9;
#W mode select;
#W mouseoutput continuous;
#W unit ms;
#W grid 1000.;
#W ticks 8.;
#W labels 1;
#W vlabels 0;
#W vticks 1;
#W vzoom 1.;
#W voffset 0.;
#W bpm 120. 4.;
#W frgb 33 0 0;
#W brgb 60 178 173;
#W rgb2 0 95 255;
#W rgb3 0 0 0;
#W rgb4 0 0 0;
#W rgb5 190 137 255;
#W rgb6 100 100 100;
#W rgb7 100 100 100;
#P newex 149 171 35 196617 vasp.n;
#P newex 37 206 35 196617 vasp.n;
#P toggle 130 57 15 0;
#P newex 56 338 38 196617 vasp.n;
#P newex 53 467 45 196617 vasp.opt;
#P newex 53 445 54 196617 vasp.conv;
#P newex 53 511 31 196617 print;
#P newex 53 490 38 196617 vasp.u;
#P user waveform~ 276 436 569 107 3 9;
#W mode select;
#W mouseoutput continuous;
#W unit ms;
#W grid 1000.;
#W ticks 8.;
#W labels 1;
#W vlabels 0;
#W vticks 1;
#W vzoom 1.;
#W voffset 0.;
#W bpm 120. 4.;
#W frgb 33 0 0;
#W brgb 60 178 173;
#W rgb2 0 95 255;
#W rgb3 0 0 0;
#W rgb4 0 0 0;
#W rgb5 190 137 255;
#W rgb6 100 100 100;
#W rgb7 100 100 100;
#P message 276 417 45 196617 set buf3;
#P message 492 47 42 196617 replace;
#P newex 490 68 81 196617 buffer~ buf3 10;
#P newex 37 393 43 196617 vasp.->;
#P message 149 150 82 196617 vasp \$1 buf2 \$2;
#P button 38 36 42 0;
#P message 37 169 83 196617 vasp \$1 buf1 \$2;
#P message 30 590 27 196617 stop;
#P message 375 48 42 196617 replace;
#P newex 373 69 65 196617 buffer~ buf2;
#P user waveform~ 277 272 572 133 3 9;
#W mode select;
#W mouseoutput continuous;
#W unit samples;
#W grid 44100.;
#W ticks 8.;
#W labels 1;
#W vlabels 0;
#W vticks 1;
#W vzoom 1.;
#W voffset 0.;
#W bpm 120. 4.;
#W frgb 33 0 0;
#W brgb 60 178 173;
#W rgb2 0 95 255;
#W rgb3 0 0 0;
#W rgb4 0 0 0;
#W rgb5 190 137 255;
#W rgb6 100 100 100;
#W rgb7 100 100 100;
#P message 277 253 45 196617 set buf2;
#P message 31 572 60 196617 reset \, start;
#P newex 94 573 35 196617 sig~ 1;
#P user ezdac~ 70 642 114 675 0;
#P newex 80 619 84 196617 xgroove~ 1 buf3;
#P user waveform~ 277 123 570 121 3 9;
#W mode select;
#W mouseoutput continuous;
#W unit ms;
#W grid 1000.;
#W ticks 8.;
#W labels 1;
#W vlabels 0;
#W vticks 1;
#W vzoom 1.;
#W voffset 0.;
#W bpm 120. 4.;
#W frgb 33 0 0;
#W brgb 60 178 173;
#W rgb2 0 95 255;
#W rgb3 0 0 0;
#W rgb4 0 0 0;
#W rgb5 190 137 255;
#W rgb6 100 100 100;
#W rgb7 100 100 100;
#P message 277 104 45 196617 set buf1;
#P message 278 48 42 196617 replace;
#P newex 276 69 65 196617 buffer~ buf1;
#P comment 147 57 100 196617 channel sel 0/1;
#P newex 168 202 35 196617 vasp.!;
#P connect 16 0 35 0;
#P connect 36 0 35 0;
#P connect 35 0 15 0;
#P connect 15 0 29 0;
#P connect 29 0 18 0;
#P hidden connect 5 2 35 1;
#P connect 18 1 53 0;
#P connect 53 0 25 0;
#P connect 25 0 26 0;
#P connect 26 0 23 0;
#P connect 23 0 24 0;
#P fasten 38 0 51 0 93 258 61 258;
#P connect 51 0 27 0;
#P hidden connect 28 0 29 1;
#P hidden connect 5 3 35 2;
#P connect 27 0 46 0;
#P connect 46 0 18 1;
#P connect 6 0 7 0;
#P fasten 50 0 53 1 110 409 83 409;
#P connect 32 0 6 0;
#P connect 9 0 6 0;
#P connect 8 0 6 0;
#P connect 14 0 6 0;
#P hidden fasten 28 0 27 1 135 332 89 332;
#P fasten 50 0 46 1 110 359 90 359;
#P connect 15 0 37 0;
#P connect 37 0 38 0;
#P fasten 45 0 25 1 154 423 102 423;
#P connect 38 1 50 0;
#P connect 33 1 32 0;
#P connect 41 0 34 0;
#P connect 16 0 34 0;
#P connect 34 0 17 0;
#P connect 17 0 30 0;
#P fasten 38 0 44 0 93 258 126 258 126 219 154 219;
#P connect 44 0 45 0;
#P hidden connect 11 2 34 1;
#P fasten 50 0 45 1 110 300 169 300;
#P connect 30 0 0 0;
#P connect 0 0 44 1;
#P hidden connect 28 0 30 1;
#P hidden connect 11 3 34 2;
#P connect 3 0 2 0;
#P hidden connect 19 1 21 0;
#P hidden connect 52 0 21 0;
#P connect 21 0 22 0;
#P hidden connect 2 1 4 0;
#P connect 4 0 5 0;
#P hidden connect 12 1 10 0;
#P connect 10 0 11 0;
#P connect 13 0 12 0;
#P connect 47 0 19 0;
#P connect 20 0 19 0;
#P connect 5 2 39 0;
#P connect 11 2 42 0;
#P connect 5 3 40 0;
#P connect 11 3 43 0;
#P hidden connect 31 5 22 4;
#P hidden connect 22 5 31 4;
#P connect 49 0 5 4;
#P pop;
\ No newline at end of file +max v2;
#N vpatcher 3 47 844 744;
#P newex 151 447 59 196617 vasp.cconv;
#P newex 53 423 35 196617 vasp.f;
#P newex 632 52 45 196617 loadbang;
#P message 56 315 53 196617 vasp buf3;
#N vpatcher 284 239 684 539;
#P newex 36 128 43 196617 * 1000;
#P newex 36 102 27 196617 int;
#P newex 36 76 42 196617 / 1000;
#P outlet 36 217 15 0;
#P inlet 36 48 15 0;
#P connect 0 0 2 0;
#P connect 2 0 3 0;
#P connect 3 0 4 0;
#P connect 4 0 1 0;
#P pop;
#P newobj 105 268 38 196617 p rnd;
#P message 770 110 52 196617 0 -1 0 -1;
#P message 774 258 52 196617 0 -1 0 -1;
#P message 518 51 34 196617 write;
#N vpatcher 385 272 785 572;
#P outlet 29 147 15 0;
#P inlet 90 40 15 0;
#P inlet 29 42 15 0;
#P newex 28 108 35 196617 vasp.f;
#P newex 28 71 38 196617 vasp.s;
#P connect 2 0 0 0;
#P connect 0 0 1 0;
#P connect 1 0 4 0;
#P connect 3 0 1 1;
#P connect 3 0 0 1;
#P pop;
#P newobj 70 369 25 196617 p sf;
#N vpatcher 385 272 785 572;
#P outlet 29 147 15 0;
#P inlet 90 40 15 0;
#P inlet 29 42 15 0;
#P newex 28 108 35 196617 vasp.f;
#P newex 28 71 38 196617 vasp.s;
#P connect 2 0 0 0;
#P connect 0 0 1 0;
#P connect 1 0 4 0;
#P connect 3 0 1 1;
#P connect 3 0 0 1;
#P pop;
#P newobj 149 316 25 196617 p sf;
#P newex 149 226 30 196617 vasp;
#P flonum 577 415 73 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 472 415 73 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P button 166 95 15 0;
#P flonum 577 255 73 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 472 255 73 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 88 214 27 196617 t b i;
#P newex 88 189 43 196617 vasp.f?;
#P button 51 101 15 0;
#N vpatcher 658 452 1058 752;
#P origin 0 167;
#P newex 26 46 20 196617 t b;
#P outlet 34 240 15 0;
#P inlet 147 33 15 0;
#P inlet 85 29 15 0;
#P inlet 24 27 15 0;
#P message 45 176 35 196617 set \$1;
#P newex 45 211 76 196617 pack 0. 0.;
#P newex 126 77 40 196617 * 44.099998;
#P newex 45 89 40 196617 * 44.099998;
#P newex 45 67 29 196617 !- 0.;
#P connect 5 0 9 0;
#P connect 3 0 8 0;
#P connect 6 0 0 0;
#P connect 0 0 1 0;
#P connect 1 0 4 0;
#P connect 4 0 3 0;
#P fasten 9 0 3 0 31 202 50 202;
#P connect 7 0 0 1;
#P connect 2 0 3 1;
#P connect 6 0 2 0;
#P pop;
#P newobj 37 147 41 196617 p sel;
#N vpatcher 658 452 1058 752;
#P origin 0 167;
#P newex 26 46 20 196617 t b;
#P outlet 34 183 15 0;
#P inlet 147 33 15 0;
#P inlet 85 29 15 0;
#P inlet 24 27 15 0;
#P message 45 114 35 196617 set \$1;
#P newex 45 142 76 196617 pack 0. 0.;
#P newex 133 93 40 196617 * 44.099998;
#P newex 45 89 40 196617 * 44.099998;
#P newex 45 67 29 196617 !- 0.;
#P connect 5 0 9 0;
#P connect 3 0 8 0;
#P connect 6 0 0 0;
#P connect 0 0 1 0;
#P connect 1 0 4 0;
#P fasten 9 0 3 0 31 133 50 133;
#P connect 4 0 3 0;
#P connect 7 0 0 1;
#P connect 2 0 3 1;
#P connect 6 0 2 0;
#P pop;
#P newobj 149 125 41 196617 p sel;
#P user umenu 138 545 100 196647 1 64 561 1;
#X add buf1;
#X add buf2;
#X add buf3;
#P newex 138 564 60 196617 prepend set;
#P newex 149 171 35 196617 vasp.n;
#P newex 37 206 35 196617 vasp.n;
#P toggle 130 57 15 0;
#P newex 56 338 38 196617 vasp.n;
#P newex 53 467 45 196617 vasp.opt;
#P newex 53 447 54 196617 vasp.conv;
#P newex 53 511 31 196617 print;
#P newex 53 490 38 196617 vasp.u;
#P user waveform~ 253 440 569 107 3 9;
#W mode select;
#W mouseoutput continuous;
#W unit samples;
#W grid 44100.;
#W ticks 8.;
#W labels 1;
#W vlabels 0;
#W vticks 1;
#W vzoom 1.;
#W voffset 0.;
#W bpm 120. 4.;
#W frgb 33 0 0;
#W brgb 60 178 173;
#W rgb2 0 95 255;
#W rgb3 0 0 0;
#W rgb4 0 0 0;
#W rgb5 190 137 255;
#W rgb6 100 100 100;
#W rgb7 100 100 100;
#P message 253 421 45 196617 set buf3;
#P message 469 51 42 196617 replace;
#P newex 467 72 81 196617 buffer~ buf3 10;
#P newex 37 393 43 196617 vasp.->;
#P message 149 150 82 196617 vasp \$1 buf2 \$2;
#P button 38 36 42 0;
#P message 37 169 83 196617 vasp \$1 buf1 \$2;
#P message 30 590 27 196617 stop;
#P message 352 52 42 196617 replace;
#P newex 350 73 81 196617 buffer~ buf2 10;
#P user waveform~ 254 276 572 133 3 9;
#W mode select;
#W mouseoutput continuous;
#W unit samples;
#W grid 44100.;
#W ticks 8.;
#W labels 1;
#W vlabels 0;
#W vticks 1;
#W vzoom 1.;
#W voffset 0.;
#W bpm 120. 4.;
#W frgb 33 0 0;
#W brgb 60 178 173;
#W rgb2 0 95 255;
#W rgb3 0 0 0;
#W rgb4 0 0 0;
#W rgb5 190 137 255;
#W rgb6 100 100 100;
#W rgb7 100 100 100;
#P message 254 257 45 196617 set buf2;
#P message 31 572 60 196617 reset \, start;
#P newex 94 573 35 196617 sig~ 1;
#P user ezdac~ 70 642 114 675 0;
#P newex 80 619 84 196617 xgroove~ 1 buf3;
#P user waveform~ 254 127 570 121 3 9;
#W mode select;
#W mouseoutput continuous;
#W unit samples;
#W grid 44100.;
#W ticks 8.;
#W labels 1;
#W vlabels 0;
#W vticks 1;
#W vzoom 1.;
#W voffset 0.;
#W bpm 120. 4.;
#W frgb 33 0 0;
#W brgb 60 178 173;
#W rgb2 0 95 255;
#W rgb3 0 0 0;
#W rgb4 0 0 0;
#W rgb5 190 137 255;
#W rgb6 100 100 100;
#W rgb7 100 100 100;
#P message 254 108 45 196617 set buf1;
#P message 255 52 42 196617 replace;
#P newex 253 73 81 196617 buffer~ buf1 10;
#P comment 147 57 100 196617 channel sel 0/1;
#P newex 168 197 35 196617 vasp.!;
#P connect 16 0 34 0;
#P connect 35 0 34 0;
#P connect 34 0 15 0;
#P connect 15 0 29 0;
#P connect 29 0 18 0;
#P hidden connect 5 2 34 1;
#P connect 18 1 52 0;
#P connect 52 0 25 0;
#P connect 25 0 26 0;
#P connect 26 0 23 0;
#P connect 23 0 24 0;
#P fasten 37 0 50 0 93 258 61 258;
#P connect 50 0 27 0;
#P hidden connect 28 0 29 1;
#P hidden connect 5 3 34 2;
#P connect 27 0 45 0;
#P connect 45 0 18 1;
#P connect 6 0 7 0;
#P fasten 49 0 52 1 110 409 83 409;
#P connect 31 0 6 0;
#P connect 9 0 6 0;
#P connect 8 0 6 0;
#P connect 14 0 6 0;
#P hidden fasten 28 0 27 1 135 332 89 332;
#P fasten 49 0 45 1 110 359 90 359;
#P connect 15 0 36 0;
#P connect 36 0 37 0;
#P fasten 44 0 25 1 154 423 102 423;
#P connect 37 1 49 0;
#P connect 32 1 31 0;
#P connect 40 0 33 0;
#P connect 16 0 33 0;
#P connect 33 0 17 0;
#P connect 17 0 30 0;
#P fasten 37 0 43 0 93 258 126 258 126 219 154 219;
#P connect 43 0 44 0;
#P hidden connect 11 2 33 1;
#P fasten 49 0 44 1 110 300 169 300;
#P connect 30 0 0 0;
#P connect 0 0 43 1;
#P hidden connect 28 0 30 1;
#P hidden connect 11 3 33 2;
#P connect 3 0 2 0;
#P hidden connect 51 0 21 0;
#P hidden connect 19 1 21 0;
#P connect 21 0 22 0;
#P hidden connect 51 0 4 0;
#P hidden connect 2 1 4 0;
#P connect 4 0 5 0;
#P hidden connect 12 1 10 0;
#P hidden connect 51 0 10 0;
#P connect 10 0 11 0;
#P connect 13 0 12 0;
#P connect 46 0 19 0;
#P connect 20 0 19 0;
#P connect 5 2 38 0;
#P connect 11 2 41 0;
#P connect 5 3 39 0;
#P connect 11 3 42 0;
#P connect 48 0 5 4;
#P connect 47 0 11 4;
#P pop;
\ No newline at end of file diff --git a/externals/grill/vasp/pd-ex/convolve.pd b/externals/grill/vasp/pd-ex/convolve.pd index 954a5512..9a8a4088 100644 --- a/externals/grill/vasp/pd-ex/convolve.pd +++ b/externals/grill/vasp/pd-ex/convolve.pd @@ -1,4 +1,4 @@ -#N canvas 292 80 642 419 12;
+#N canvas 63 57 644 421 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 3.21297e+006 256;
+-261689 -1 -1 1.50469e+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,9 +23,9 @@ #X text 32 329 result buffer;
#X text 140 121 source buffer;
#X text 137 175 argument buffer;
-#N canvas 0 0 470 320 do 0;
+#N canvas 0 0 472 322 do 0;
#X obj 29 215 vasp.u;
-#N canvas 406 75 399 494 convolve 0;
+#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?;
diff --git a/externals/grill/vasp/pd/vasp.qmean.pd b/externals/grill/vasp/pd/vasp.qmean.pd index 31f5b483..2e33a605 100644 --- a/externals/grill/vasp/pd/vasp.qmean.pd +++ b/externals/grill/vasp/pd/vasp.qmean.pd @@ -1,12 +1,13 @@ -#N canvas 0 0 454 304 12;
-#X obj 51 22 inlet;
-#X obj 118 265 outlet;
-#X obj 87 135 vasp.sum?;
-#X obj 51 55 vasp.radio;
-#X obj 186 135 vasp.f?;
-#X obj 167 208 /;
-#X obj 117 168 route 0;
-#X obj 87 87 vasp.m;
+#N canvas 0 0 456 349 12;
+#X obj 31 52 inlet;
+#X obj 98 295 outlet;
+#X obj 67 165 vasp.sum?;
+#X obj 31 85 vasp.radio;
+#X obj 166 165 vasp.f?;
+#X obj 147 238 /;
+#X obj 97 198 route 0;
+#X obj 67 117 vasp.m;
+#X text 27 8 calculate mean value of the values in a vasp;
#X connect 0 0 3 0;
#X connect 2 1 6 0;
#X connect 3 0 2 0;
diff --git a/externals/grill/vasp/pd/vasp.rms.pd b/externals/grill/vasp/pd/vasp.rms.pd index 19ba197d..9cad83b2 100644 --- a/externals/grill/vasp/pd/vasp.rms.pd +++ b/externals/grill/vasp/pd/vasp.rms.pd @@ -1,13 +1,14 @@ -#N canvas 270 238 445 419 12;
-#X obj 42 81 vasp.!;
-#X obj 42 126 vasp.sqr;
-#X obj 43 215 sqrt;
-#X obj 42 26 inlet;
-#X obj 42 293 outlet;
-#X text 105 82 make temporary buffer;
-#X text 99 295 RMS;
-#X obj 42 164 vasp.qmean;
-#X text 132 166 mean value;
+#N canvas 270 238 447 421 12;
+#X obj 35 118 vasp.!;
+#X obj 35 163 vasp.sqr;
+#X obj 36 252 sqrt;
+#X obj 35 63 inlet;
+#X obj 35 330 outlet;
+#X text 98 119 make temporary buffer;
+#X text 92 332 RMS;
+#X obj 35 201 vasp.qmean;
+#X text 125 203 mean value;
+#X text 32 12 calculate RMS value of a vasp;
#X connect 0 0 1 0;
#X connect 1 0 7 0;
#X connect 2 0 4 0;
diff --git a/externals/grill/vasp/source/buflib.cpp b/externals/grill/vasp/source/buflib.cpp index d4a6338e..b3595158 100644 --- a/externals/grill/vasp/source/buflib.cpp +++ b/externals/grill/vasp/source/buflib.cpp @@ -12,13 +12,18 @@ WARRANTIES, see the file, "license.txt," in this distribution. #include "buflib.h" #include <stdio.h> -#define LIBTICK 100 // tick time in ms -#define LIBTOL 2 // how many ticks till release +#define LIBTICK 0.1 // tick time in s +#define LIBTOL 3 // how many ticks till release #define REUSE_MAXLOSEREL 0.1 // max. fraction of lost buffer size #define REUSE_MAXLOSEABS 10000 // max. lost buffer size -#define LIBMAGIC 12349876L // magic number for s_thing data check + +#ifdef __MWERKS__ +#define STD std +#else +#define STD +#endif class FreeEntry @@ -39,7 +44,6 @@ public: V IncRef(); V DecRef(); -// UL magic; const t_symbol *sym; I refcnt,tick; BufEntry *nxt; @@ -63,13 +67,11 @@ static V FreeLibSym(const t_symbol *s); BufEntry::BufEntry(const t_symbol *s,I fr,BL zero): - sym(s), //magic(LIBMAGIC), + sym(s), alloc(fr),len(fr),data(new S[fr]), refcnt(0),nxt(NULL) { if(zero) flext::ZeroMem(data,len*sizeof(*data)); -// FLEXT_ASSERT(!flext_base::GetThing(sym)); -// flext_base::SetThing(sym,this); } BufEntry::~BufEntry() @@ -88,6 +90,18 @@ static BufEntry *FindInLib(const t_symbol *s) return e?e:NULL; } +#ifdef FLEXT_DEBUG +static V DumpLib() +{ + post("Dump {"); + BufEntry *e; + for(e = libhead; e; e = e->nxt) { + post("\t%s -> refs:%i, alloc:%i, len:%i -> %p",flext::GetString(e->sym),e->refcnt,e->alloc,e->len,e->data); + } + post("}"); +} +#endif + VBuffer *BufLib::Get(const VSymbol &s,I chn,I len,I offs) { BufEntry *e = FindInLib(s.Symbol()); @@ -165,7 +179,8 @@ static V LibThr(flext::thr_params *) } #endif -static t_clock *libclk = NULL; +static flext::Timer *libclk = NULL; + static V LibTick(V *) { #ifdef FLEXT_THREADS @@ -175,8 +190,6 @@ static V LibTick(V *) #endif ++libtick; - clock_delay(libclk,LIBTICK); - } static const t_symbol *GetLibSym() @@ -193,19 +206,21 @@ static const t_symbol *GetLibSym() else { // allocate new symbol char tmp[20]; - #ifdef __MWERKS__ - std:: - #endif - sprintf(tmp,"vasp!%04i",libcnt); //! \todo what if libcnt has > 4 digits? + if(libcnt > 0xffff) + STD::sprintf(tmp,"vasp!%08x",libcnt); + else // better hash lookup for 4 digits + STD::sprintf(tmp,"vasp!%04x",libcnt); libcnt++; return gensym(tmp); } - - clock_delay(libclk,LIBTICK); } static V FreeLibSym(const t_symbol *sym) { +#ifdef FLEXT_DEBUG +// post("free %s",flext::GetString(sym)); +#endif + FreeEntry *f = new FreeEntry(sym); if(!freehead) freehead = f; else freetail->nxt = f; @@ -227,8 +242,9 @@ BufEntry *BufLib::NewImm(I fr,BL zero) } #endif if(!libclk) { - libclk = (t_clock *)clock_new(NULL,(t_method)LibTick); - clock_delay(libclk,LIBTICK); + libclk = new flext::Timer(true); + libclk->SetCallback(LibTick); + libclk->Periodic(LIBTICK); } const t_symbol *s = GetLibSym(); @@ -242,6 +258,10 @@ BufEntry *BufLib::NewImm(I fr,BL zero) else libhead = entry; libtail = entry; +#ifdef FLEXT_DEBUG +// DumpLib(); +#endif + #ifdef FLEXT_THREADS libmtx.Unlock(); #endif @@ -278,9 +298,9 @@ BufEntry *BufLib::Resize(BufEntry *e,I fr,BL keep,BL zero) -ImmBuf::ImmBuf(I len): +ImmBuf::ImmBuf(I len,BL zero): VBuffer(0,len), - entry(BufLib::NewImm(len)) + entry(BufLib::NewImm(len,zero)) {} ImmBuf::ImmBuf(BufEntry *e,I len,I offs): diff --git a/externals/grill/vasp/source/main.cpp b/externals/grill/vasp/source/main.cpp index 4efd6e36..6a1e01cf 100644 --- a/externals/grill/vasp/source/main.cpp +++ b/externals/grill/vasp/source/main.cpp @@ -12,11 +12,11 @@ WARRANTIES, see the file, "license.txt," in this distribution. #include "classes.h" -const C *VASP_VERSION = "0.1.3pre5"; +const C *VASP_VERSION = "0.1.3pre6"; #include "opfuns.h" -V lib_setup() +static V vasp_main() { post(""); post("-----------------------------------------"); @@ -207,7 +207,7 @@ V lib_setup() VASP__SETUP(cifft) } -FLEXT_LIB_SETUP(vasp,lib_setup) +FLEXT_LIB_SETUP(vasp,vasp_main) diff --git a/externals/grill/vasp/source/obj_imm.cpp b/externals/grill/vasp/source/obj_imm.cpp index 3e26677f..ce11d74c 100644 --- a/externals/grill/vasp/source/obj_imm.cpp +++ b/externals/grill/vasp/source/obj_imm.cpp @@ -38,7 +38,7 @@ class vasp_imm: public: vasp_imm(I argc,t_atom *argv): - frms(0) + frms(0),zero(true) { if(argc >= 1 && CanbeInt(argv[0])) m_frames(GetAInt(argv[0])); @@ -54,6 +54,7 @@ public: { FLEXT_CADDMETHOD(c,1,m_frames); FLEXT_CADDATTR_VAR(c,"frames",frms,m_frames); + FLEXT_CADDATTR_VAR1(c,"zero",zero); } V m_frames(I n) { frms = n; } @@ -67,7 +68,7 @@ public: else */ { - ImmBuf ibuf(frms); + ImmBuf ibuf(frms,zero); Vasp ret(frms,Vasp::Ref(ibuf)); ToOutVasp(0,ret); } @@ -76,17 +77,27 @@ public: post("%s - More than one vector in vasp!",thisName()); else { VBuffer *buf = ref.Buffer(0); - I len = buf->Length(),chns = buf->Channels(); - if(frms > len) len = frms; + const I len = buf->Length(),chns = buf->Channels(); + + // size of memory reservation (at least frms samples) + const I rlen = frms > len?frms:len; - ImmBuf imm(len); + ImmBuf imm(rlen,false); S *dst = imm.Pointer(); const S *src = buf->Pointer(); + +// post("!copy: src: %p,%i,%i -> dst: %p,%i",src,len,chns,dst,rlen); + register int i; _DE_LOOP(i,len, ( dst[i] = *src,src += chns ) ) + if(zero && rlen > len) ZeroSamples(dst+len,rlen-len); + + Vasp::Ref vr(imm); + +// post("!vr: %s,%i",vr.Ok()?vr.Symbol().Name():"***",vr.Offset()); - Vasp ret(len,Vasp::Ref(imm)); + Vasp ret(len,vr); ToOutVasp(0,ret); } } @@ -96,11 +107,13 @@ public: protected: I frms; + BL zero; private: FLEXT_CALLBACK_I(m_frames) FLEXT_CALLSET_I(m_frames); FLEXT_ATTRGET_I(frms); + FLEXT_ATTRVAR_B(zero); }; FLEXT_LIB_V("vasp, vasp.imm vasp.!",vasp_imm) diff --git a/externals/grill/vasp/source/vbuffer.h b/externals/grill/vasp/source/vbuffer.h index e616ad1c..a87685c9 100644 --- a/externals/grill/vasp/source/vbuffer.h +++ b/externals/grill/vasp/source/vbuffer.h @@ -107,7 +107,7 @@ class ImmBuf: public VBuffer { public: - ImmBuf(I len); + ImmBuf(I len,BL zero = true); ImmBuf(BufEntry *e,I len = -1,I offs = 0); virtual BL Ok() const { return entry != NULL; } diff --git a/externals/grill/vasp/vasp.cw b/externals/grill/vasp/vasp.cw Binary files differindex 09a8875f..817ecfc5 100644 --- a/externals/grill/vasp/vasp.cw +++ b/externals/grill/vasp/vasp.cw diff --git a/externals/grill/xsample/source/main.cpp b/externals/grill/xsample/source/main.cpp index 2392bdb1..aa1f731e 100644 --- a/externals/grill/xsample/source/main.cpp +++ b/externals/grill/xsample/source/main.cpp @@ -12,7 +12,7 @@ WARRANTIES, see the file, "license.txt," in this distribution. // Initialization function for xsample library -V lib_setup() +static V xsample_main() { post("xsample objects, version " XSAMPLE_VERSION ", (C)2001-2003 Thomas Grill"); post("xsample: xrecord~, xplay~, xgroove~ - send objects a 'help' message to get assistance"); @@ -32,7 +32,7 @@ V lib_setup() } // setup the library -FLEXT_LIB_SETUP(xsample,lib_setup) +FLEXT_LIB_SETUP(xsample,xsample_main) // ------------------------------ |