[PD] t3_lineseg~ - and GiST [was: Fast line~s]

Frank Barknecht barknech at ph-cip.uni-koeln.de
Mon Mar 11 11:34:09 CET 2002


Frank Barknecht hat gesagt: // Frank Barknecht wrote:

> sme hat gesagt: // sme wrote:
> 
> > i think this is, because the delay-object cannot go below a vectorsize of
> > 64. the block~ 1 does not seem to change this...
> Yes, you're right. I tested this with attached patch. So I guess I'll have
> to find another approach for my lineseg~ patch...
> 
> [OTOH I think, ggee's envgen~ already works like lineseg~, I'd just rather
> like a pure abstraction solution.]

In my search for the perfect lineseg~ I found, that the 1-block message
delay problem can not be solved without special externals. Fortunatley
there are "fast line~" externals in IEMLIB, as I found out now. So the next
lineseg~ uses the time tagged trigger objects from IEMLIB, that give better
time resolution to messages. And with the t3 break point envelope, even the
need for a textfile object is gone. I also implemented the promised
"release on keyoff-sensor" on inlet value "0" and used iemlib's fade~ for
more possible line characteristics.

In researching the t3-objects, I found Gerhard Eckel's description of the
MAX granular synthesis toolkit GiST. Does anyone know, if these are
available for PD, too? Or where could one find GiST, or the included fog~,
to maybe port it to PD? Or are there "license issues"?  Except the document
"The development of GiST, a Granular Synthesis Toolkit Based on an
Extension of the FOF Generator" I could not find anything valuable (esp.
source code) about GiST.

Ciao,
-- 
                                                 __    __
 Frank Barknecht       ____ ______   ____ __ trip\ \  / /wire ______
                      / __// __  /__/ __// // __  \ \/ /  __ \\  ___\	
                     / /  / ____/  / /  / // ____// /\ \\  ___\\____ \	
                    /_/  /_____/  /_/  /_//_____// /  \ \\_____\\_____\
                                                /_/    \_\ 
-------------- next part --------------
#N canvas 431 39 633 538 10;
#X obj 191 425 outlet~;
#X obj 191 237 t3_bpe;
#X obj 191 138 t b b;
#X obj 191 294 t3_line~ 0;
#X obj 191 375 fade~ lin;
#X msg 342 344 set _lin;
#X msg 342 365 set _linsqrt;
#X msg 342 386 set _sqrt;
#X msg 342 407 set _sin;
#X msg 342 428 set _sinhann;
#X msg 342 449 set _hann;
#X obj 303 42 inlet;
#X msg 303 219 0 0;
#X obj 140 42 inlet;
#X msg 342 323 set \$1;
#X obj 343 131 symbol;
#X msg 466 190 add2 \$1;
#X msg 303 100 set 0 0;
#X obj 384 159 symbol stop;
#X obj 303 63 route clear set stop rel;
#X msg 140 198 0 0;
#X obj 140 138 t b b;
#X obj 425 105 s \$0-release;
#X obj 34 73 r \$0-release;
#X obj 140 105 select 0;
#X obj 140 63 route float bang;
#X msg 34 152 set 0 \$1;
#X obj 191 198 f 0;
#X connect 1 0 3 0;
#X connect 1 1 3 1;
#X connect 2 0 27 0;
#X connect 2 1 12 0;
#X connect 3 0 4 0;
#X connect 4 0 0 0;
#X connect 5 0 4 0;
#X connect 6 0 4 0;
#X connect 7 0 4 0;
#X connect 8 0 4 0;
#X connect 9 0 4 0;
#X connect 10 0 4 0;
#X connect 11 0 19 0;
#X connect 12 0 1 0;
#X connect 13 0 25 0;
#X connect 13 0 24 0;
#X connect 14 0 4 0;
#X connect 15 0 14 0;
#X connect 16 0 12 0;
#X connect 17 0 12 0;
#X connect 17 0 20 0;
#X connect 18 0 1 0;
#X connect 19 0 17 0;
#X connect 19 1 15 0;
#X connect 19 2 18 0;
#X connect 19 3 22 0;
#X connect 19 4 16 0;
#X connect 20 0 1 0;
#X connect 21 0 20 0;
#X connect 21 1 27 0;
#X connect 23 0 26 0;
#X connect 24 0 21 0;
#X connect 24 1 2 0;
#X connect 26 0 20 0;
#X connect 27 0 1 0;
-------------- next part --------------
#N canvas 75 127 940 601 10;
#X obj 238 321 vu 15 120 empty empty 35 8 0 8 -66577 -1 1 0;
#X obj 242 274 env~;
#X obj 237 295 - 96;
#X obj 103 83 bng 30 250 50 0 empty empty empty 20 8 0 8 -241291 -258699
-1;
#X obj 103 274 tabwrite~ lineout;
#N canvas 0 0 450 300 graph1 0;
#X array lineout 750 float 0;
#X coords 0 1.2 750 -0.2 200 140 1;
#X restore 689 210 graph;
#X obj 242 227 t3_lineseg~;
#X msg 552 37 set _lin;
#X msg 552 61 set _linsqrt;
#X msg 552 85 set _sqrt;
#X msg 552 109 set _sin;
#X msg 552 133 set _sinhann;
#X msg 552 157 set _hann;
#X obj 698 37 loadbang;
#X text 444 350 t3_lineseg~ inlets;
#X msg 314 122 clear;
#X text 465 434 clear: reset lineseg to "0 0";
#X msg 325 148 stop;
#X obj 147 177 1;
#X obj 178 177 0;
#X floatatom 178 129 5 0 0;
#X obj 35 233 t b;
#X obj 35 203 tgl 24 0 empty empty empty 20 8 2 8 -260818 -1 -1 0 1
;
#X text 444 371 1: trigger float \, trigger=0: release;
#X msg 170 37 clear \, 1 \, 0.3 \, 1 \, 1.1 \, 0.5 \, 2 \, 0.8 \, 3
\, rel 2.5;
#X text 10 180 Atck/Release;
#X msg 218 81 clear \, 1 \, 0.3 \, 1 \, 1.1 \, 0.5 \, 1 \, 0 \, 6;
#X obj 178 153 del 10;
#X msg 698 61 \; pd dsp 1 \; lineout resize 750 \; lineout bounds 0
1.2 750 -0.2 \; lineout xticks 0 64 2 \; lineout yticks 0 0.1 5 \;
lineout xlabel -0.3 0 128 256 \; lineout ylabel -20 0 0.5 1;
#X text 444 392 2: add amp \, time \, amp \, time \, ... as single
floats;
#X text 465 455 set symbol: characteristics;
#X text 465 413 rel float: time to zero;
#X text 465 476 stop: stop lineseg~;
#X text 218 59 no extra release;
#X text 170 15 with release on 0;
#X connect 1 0 2 0;
#X connect 2 0 0 0;
#X connect 3 0 4 0;
#X connect 3 0 18 0;
#X connect 3 0 27 0;
#X connect 6 0 1 0;
#X connect 6 0 4 0;
#X connect 7 0 6 1;
#X connect 8 0 6 1;
#X connect 9 0 6 1;
#X connect 10 0 6 1;
#X connect 11 0 6 1;
#X connect 12 0 6 1;
#X connect 13 0 28 0;
#X connect 15 0 6 1;
#X connect 17 0 6 1;
#X connect 18 0 6 0;
#X connect 19 0 6 0;
#X connect 20 0 27 1;
#X connect 21 0 4 0;
#X connect 22 0 21 0;
#X connect 22 0 6 0;
#X connect 24 0 6 1;
#X connect 26 0 6 1;
#X connect 27 0 19 0;


More information about the Pd-list mailing list