Re: [PD] slowly load a pd-patches/abs without dropouts

2007-01-28 Thread Enrique Erne


oups , i didn't care about $0 . this neads a special treatment. 
i will find time for that next month.

also i forgot to test gop - subpatches.

thanks for the report.

did you send me the orginal patch or the product of the wrong build patch?

cheerio




On Sat Jan 27 22:22 , Patco  sent:

Enrique Erne a écrit :

 On Fre Jan 26 10:49 , Patco  sent:



 llo, this look awsome, but anyway, none of the patches I've tested are 

 correctly built, any patch.

 





 could you send me one or two of these patches and maybe a short notice where
it got messed up ?

   

One more time I should have read more carefully the mail,

anyway you might be interested by this bug:



error: canvas: no method for 'struct'

... you might be able to track this down from the Find menu.

error: $2: argument number out of range

error: $3: argument number out of range

error: pd-1-: no such object

error: pd-2-1004-array_data: no such object

error: pd-3-1004-array_TMP: no such object

error: pd-4-1004-array_point_TMP: no such object

error: pd-5-1004-array_init: no such object

error: pd-6-poll: no such object

error: pd-7-initPoints: no such object

error: pd-8-serialize: no such object

error: pd-9-1004-listInput: no such object

error: pd-10-serialize: no such object

error: pd-1-: no such object

error: pd-2-1004-array_data: no such object

error: pd-3-1004-array_TMP: no such object

error: pd-4-1004-array_point_TMP: no such object

error: pd-5-1004-array_init: no such object

error: pd-6-poll: no such object

error: pd-7-initPoints: no such object

error: pd-8-serialize: no such object

error: pd-9-1004-listInput: no such object

error: pd-10-serialize: no such object



Althought I've encountered another bug first I couldn't reproduce, where 

any patch weren't correctly build, all I could say is that the y 

coordinate was replacing the object name, something like this

[47 namecanvas $0-gop one two three], for all objects, and they were all 

built several times,

I thought your patch weren't working at all, and my limited time didn't 

allow to throw an eye on the reason of the bug...

pc




___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] slowly load a pd-patches/abs without dropouts

2007-01-28 Thread Patco

Enrique Erne a écrit :

also i forgot to test gop - subpatches.

  

GOP are built quite well in here.

did you send me the orginal patch or the product of the wrong build patch?

  

This is the original patch, the wrong built one would have been blank.

[47 namecanvas $0-gop one two three], for all objects, and they were all



When I tried to reproduce the bug, I tried to use exactly the same 
patch, which worked like a charm.

Pc





___ 
Yahoo! Mail réinvente le mail ! Découvrez le nouveau Yahoo! Mail et son interface révolutionnaire.

http://fr.mail.yahoo.com


___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] slowly load a pd-patches/abs without dropouts

2007-01-27 Thread Patco

Enrique Erne a écrit :

On Fre Jan 26 10:49 , Patco  sent:

  


llo, this look awsome, but anyway, none of the patches I've tested are 
correctly built, any patch.




could you send me one or two of these patches and maybe a short notice where it 
got messed up ?
  

One more time I should have read more carefully the mail,
anyway you might be interested by this bug:

error: canvas: no method for 'struct'
... you might be able to track this down from the Find menu.
error: $2: argument number out of range
error: $3: argument number out of range
error: pd-1-: no such object
error: pd-2-1004-array_data: no such object
error: pd-3-1004-array_TMP: no such object
error: pd-4-1004-array_point_TMP: no such object
error: pd-5-1004-array_init: no such object
error: pd-6-poll: no such object
error: pd-7-initPoints: no such object
error: pd-8-serialize: no such object
error: pd-9-1004-listInput: no such object
error: pd-10-serialize: no such object
error: pd-1-: no such object
error: pd-2-1004-array_data: no such object
error: pd-3-1004-array_TMP: no such object
error: pd-4-1004-array_point_TMP: no such object
error: pd-5-1004-array_init: no such object
error: pd-6-poll: no such object
error: pd-7-initPoints: no such object
error: pd-8-serialize: no such object
error: pd-9-1004-listInput: no such object
error: pd-10-serialize: no such object

Althought I've encountered another bug first I couldn't reproduce, where 
any patch weren't correctly build, all I could say is that the y 
coordinate was replacing the object name, something like this
[47 namecanvas $0-gop one two three], for all objects, and they were all 
built several times,
I thought your patch weren't working at all, and my limited time didn't 
allow to throw an eye on the reason of the bug...

pc
#N struct 1004-array1 float x float y float pointx float pointy array
1004-array 1004-point;
#N struct 1004-point float x float y;
#N canvas 259 167 1121 410 12;
#X obj 46 45 cnv 15 253 99 empty empty empty 20 12 0 14 -233017 -66577
0;
#N canvas 0 0 534 324 1004-array_data 0;
#X scalar 1004-array1 0 0 0 0 \; 0 0 \; 1.275 100 \; 6.375 50 \; 15.9375
25 \; 63.75 0 \; \;;
#X coords 0 140 255 0 255 140 1;
#X restore 45 4 pd \$0-array_data;
#N canvas 173 618 591 190 1004-array_TMP 0;
#X obj 6 16 struct \$0-array1 float x float y float pointx float pointy
array \$0-array \$0-point;
#X obj 6 80 plot \$0-array 555 1 x y;
#X restore 45 147 pd \$0-array_TMP;
#N canvas 252 542 514 364 1004-array_point_TMP 0;
#X obj 10 80 drawpolygon 0 3 -1 -1 -1 1 1 1 1 -1;
#X obj 6 9 struct \$0-point float x float y;
#X restore 45 169 pd \$0-array_point_TMP;
#X obj 439 22 inlet;
#X obj 650 66 symbol;
#N canvas 713 434 460 246 1004-array_init 0;
#X obj 78 172 append \$0-array1 x y;
#X obj 233 149 pointer;
#X msg 277 89 \; \$1 clear;
#X obj 233 67 makefilename pd-%d-array_data;
#X obj 233 89 t a a;
#X obj 233 45 \$0;
#X obj 53 3 inlet;
#X msg 233 127 traverse \$1 \, bang;
#X msg 78 150 0 0;
#X obj 53 25 t b b b;
#X obj 53 194 s \$0-initPoints;
#X connect 1 0 0 2;
#X connect 3 0 4 0;
#X connect 4 0 7 0;
#X connect 4 1 2 0;
#X connect 5 0 3 0;
#X connect 6 0 9 0;
#X connect 7 0 1 0;
#X connect 8 0 0 0;
#X connect 9 0 10 0;
#X connect 9 1 8 0;
#X connect 9 2 5 0;
#X restore 708 155 pd \$0-array_init;
#X obj 491 243 s \$0-poll;
#N canvas 136 6 691 930 poll 0;
#X obj 127 16 r \$0-poll;
#X obj 127 129 metro 100;
#X obj 143 294 until 1;
#X obj 162 250 r \$0-points;
#X obj 143 272 i;
#X obj 152 193 0;
#X obj 143 316 0;
#X obj 171 316 + 1;
#X obj 178 360 element \$0-array1 \$0-array;
#X obj 381 338 pointer;
#X msg 381 316 traverse \$1 \, next;
#X obj 381 294 makefilename pd-%d-array_data;
#X obj 381 272 \$0;
#X obj 95 471 list append;
#X obj 213 405 unpack 0 0;
#X obj 42 382 set \$0-point x y;
#X obj 91 510 list append;
#X obj 346 109 r \$0-update;
#X msg 42 510 \$2 \$3;
#X obj 178 382 get \$0-point x y;
#X obj 178 427 max 0;
#X obj 301 404 max 0;
#X obj 301 426 min 100;
#X obj 178 449 min 255;
#X obj 275 129 select 1;
#X obj 127 98 t f f;
#X obj 143 338 t f f;
#X obj 155 616 r \$0-nSizeMsOut;
#X obj 33 795 select;
#X obj 76 773 - 1;
#X obj 76 751 r \$0-points;
#X obj 91 532 unpack 0 0 0;
#X obj 136 638 *;
#X obj 279 616 * 0.01;
#X obj 136 660 t f f;
#X obj 168 773 list prepend;
#X obj 168 751 list append;
#X obj 136 594 / 255;
#X obj 140 707 0;
#X obj 168 707 -;
#X obj 136 682 t f b f;
#X obj 168 729 abs;
#X obj 199 198 0;
#X obj 168 817 t a a;
#X obj 85 839 list append;
#X obj 168 795 list prepend;
#X obj 85 861 outlet;
#X obj 127 38 t f f;
#X obj 127 60  0;
#X obj 194 58 max 1;
#X obj 127 171 t b b b;
#X obj 346 131 t b b;
#X obj 274 867 outlet;
#X obj 274 845 list append;
#X obj 274 819 r \$0-getpat;
#X connect 0 0 47 0;
#X connect 1 0 50 0;
#X connect 2 0 6 0;
#X connect 3 0 4 1;
#X connect 4 0 2 0;
#X connect 5 0 6 1;
#X connect 6 0 7 0;
#X connect 6 0 26 0;
#X connect 7 0 6 1;
#X connect 8 0 15 2;
#X connect 8 0 19 0;
#X connect 9 0 8 1;
#X connect 10 0 9 0;
#X connect 11 0 10 0;
#X 

Re: [PD] slowly load a pd-patches/abs without dropouts

2007-01-27 Thread Tim Blechmann
On Fri, 2007-01-26 at 11:38 +0100, Roman Haefeli wrote:
 
  i guess if i can do it in userspace, it is possible in pd itself.
 
 possible is almost everything with software, but how much effort does
 it need? rewriting pd? 
 though i am not too much a techie myself, i hear voices saying, that
 despite the upcoming multicore-processor, pd won't be able to do
 threading in the near future (which would be necessary in order to
 make
 use of the additional calculating power). from my understanding of
 things, i'd say, that in order to avoid drop-outs on patch-load (or
 file/audiosample-load), pd would require threading (please someone
 correct me, if i am totally mistaken). afaik, pd-dev does already some
 of it (e.g. when reading a soundfile into an array). 

all threaded implementations of the soundfiler/sndfiler have the
problem, that the dsp chain needs to be resorted after loading a file to
a table ... so, an audio dropout will occur, when the dsp chain is
resorted.

tim

--
[EMAIL PROTECTED]ICQ: 96771783
http://www.mokabar.tk

I must say I find television very educational. The minute somebody
turns it on, I go to the library and read a good book.
  Groucho Marx


signature.asc
Description: This is a digitally signed message part
___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] slowly load a pd-patches/abs without dropouts

2007-01-27 Thread Damian Stewart

Tim Blechmann wrote:

all threaded implementations of the soundfiler/sndfiler have the
problem, that the dsp chain needs to be resorted after loading a file to
a table ... so, an audio dropout will occur, when the dsp chain is
resorted.


This would be easy to prevent, assuming the output device is 
sufficiently decoupled from the DSP chain. When the DSP chain has to be 
resorted, render out an extra couple of blocks of audio using the 
unsorted chain into a larger-than-normal output buffer, resort the 
chain, then pick up where the old chain left off. So long as the 
resort-DSP-chain code is vaguely aware of what's going on in the 
stuff-buffer-into-DAC code, this should work.


How does one get dev access to the PD source? I'd love to get my hands 
dirty..


--
Damian Stewart
+64 27 305 4107

f r e y
live music with machines
http://www.frey.co.nz
http://www.myspace.com/freyed


___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] slowly load a pd-patches/abs without dropouts

2007-01-26 Thread Enrique Erne
hi all 

thanks for you thoughts and concerns. 

dyn~ is nice for specific problems... maybe if one needs 
dynamic amount of voices of a synth. if it should work
with every patch / abs i would need to write a translator
since the syntax is quite different from a pd-file 
(please, correct me if i'm wrong)

i hoped threadlib (by georg holzmann?) would solve all my problems :-)
tried it with
[; pd open patch-name.pd path( and [; pd-subpatchname obj 10 10
abstraction-name args(
one didn't work (i think pd open) and the other one gave me weird 
sounding dropouts. 

attached my newest version which should also work with DS.
except 11.array.controls.pd crashes pd when i load it via slowlyopen.pd

an other problem is if a tabread~ was created before its [table]
so for a short while it can't find it and gives errors.
but besides that arrays should now work fine.


 the dsp chain
 needs to be rebuild whenever the dsp graph is changed, which causes
 audio dropouts if your patch has a certain complexity...

tim: i'm not sure about the dsp-chain problem and how to test
it.

when i dynamically create abs like this:
[; pd-subpatchname obj 10 10 abstraction-name args(
dsp seems not to be updated unless i create a ~ obj in an other
subpatch and clear it afterwards. (again workaroundism :)

but when i dynamically create objects i never had dsp-chain problems so far. 






On Sam Jan 20 15:25 , Roman Haefeli  sent:

hello 

personally, i think it is not worth that much effort. unfortunately
creating a patch dynamically is NOT the same as 'executing' each line of
the pd-file.

you are totally right, but i guess you didn't check the patch at all.
basically it creates the patch line by line, but if a subpatch
starts #N canvas, it will search for its restore line #X restore.
there are important infos like subpatch position and the full name.

it checks the level of the subpatch so i don't have problems 
to create subpatches in subpatches.

 this makes slow dynamic creation much more complicated than
necessary. also, in order to follow your rule to do EVERYTHIN slowly,
you would have to turn every instance of an abstraction into an subpatch
and therefore you would need to parse all dollararguments and convert
them to their appropriate values.

actually my focus is mainly on abstractions. replace dollar-arguments 
(only in objects, not in msgs) is implemented in the attached patch.

recursively turning every instance of an abstraction into a subpatch
would be possible if we knew the abstraction names. that could be 
done with [pd abslist] but that's too netpd specific for the moment.

 probably there are many problems more,
which don't come to mind right now.

i have some:

usually i ignore the first line of a patch #N canvas.
i think these values stands for window position and size 
and maybe fontsize.

in 4.data.structures patches begin with 1 or more #N struct lines
before the first #N canvas. but i don't get it what these #N struct 
lines do. the docs seems to work fine when i ignore these lines 
(like i do it with the first #N canvas). 
but i don't know DS very well. does someone have more information about
#N struct lines at the beginning?




this approach is like netpd started in the beginning, but it turned out,
that this adds too much complexity. 

anyway, i think that these kind of problems shouldn't be solved in the
userspace, but in pd itself, since that is a general problem. it would
be interesting, if there is ever a chance, that pd loads patches without
dropouts or if this is impossible by design. 

yeah would be nice if pd could do that, but for the moment i have this need
and i can't really do anything else than search for a userspace-solution,
which i'm quite close (i think).

i guess if i can do it in userspace, it is possible in pd itself.


there are other similar
problems, that cause dropouts, which might be easier to solve like
dropouts on full network buffer or writing and reading files. 


yes indeed. can we hire somebody to fix maxlib/netclient (+server)
maybe we should begin with collection money? 

cheers enrique



On Sat, 2007-01-20 at 11:56 +0100, Enrique Erne wrote:

 hi list
 
 i'd like to open patches or dynamically create abstractions during a 
 performance
 without having dropouts. that's why i'm trying to build a system that slowly
 loads a patch.
 
 instead [; pd open patch-name.pd path( or [; pd-subpatchname obj 10 10
 abstraction-name args( it reads the patch with [textfile] and creates the 
 objects
 slowly line by line.
 
 a problem was to rebuild the exact order of the subpatches. as far as i 
 tested it
 works now. if a patch doesn't load correctly please let me know and send it 
 to me.
 
 to identify subpatches and place the objects in the right place it adds a 
 number
 in front of the sub-patch name like this: [pd *id*-subpatchname].
 -- just found out there is a msg [; pd-subpatchname rename newname(, after
 renaming the sub-patch to it's original names the is no visual update, 
 

Re: [PD] slowly load a pd-patches/abs without dropouts

2007-01-26 Thread Patco

Enrique Erne a écrit :
hi all 

thanks for you thoughts and concerns. 
  
Hello, this look awsome, but anyway, none of the patches I've tested are 
correctly built, any patch.






___ 
Yahoo! Mail réinvente le mail ! Découvrez le nouveau Yahoo! Mail et son interface révolutionnaire.

http://fr.mail.yahoo.com


___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] slowly load a pd-patches/abs without dropouts

2007-01-26 Thread Georg Holzmann

Hallo!


i hoped threadlib (by georg holzmann?) would solve all my problems :-)
tried it with
[; pd open patch-name.pd path( and [; pd-subpatchname obj 10 10
abstraction-name args(
one didn't work (i think pd open) and the other one gave me weird 
sounding dropouts. 
You could try to make all your stuff after a [detach], but I guess it 
won't work ... and if it will work, you can expect crashes, because PD 
is not threadsafe ...


LG
Georg

___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] slowly load a pd-patches/abs without dropouts

2007-01-26 Thread Tim Blechmann
On Fri, 2007-01-26 at 09:40 +0100, Enrique Erne wrote:
 
  the dsp chain
  needs to be rebuild whenever the dsp graph is changed, which causes
  audio dropouts if your patch has a certain complexity...
 
 tim: i'm not sure about the dsp-chain problem and how to test
 it.
 
 when i dynamically create abs like this:
 [; pd-subpatchname obj 10 10 abstraction-name args(
 dsp seems not to be updated unless i create a ~ obj in an other
 subpatch and clear it afterwards. (again workaroundism :)
 
 but when i dynamically create objects i never had dsp-chain problems
 so far.  

it depends on how complicated your patch is dsp-wise (number of objects
and number of connections) ... in my own performance patch, it's not
possible to connect/disconnect dsp objects without an audio dropout.

it's a problem, that doesn't occur with trivial patches, though ...

tim

--
[EMAIL PROTECTED]ICQ: 96771783
http://www.mokabar.tk

Cheat your landlord if you can and must, but do not try to shortchange
the Muse. It cannot be done. You can't fake quality any more than you
can fake a good meal.
  William S. Burroughs


signature.asc
Description: This is a digitally signed message part
___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


[PD] slowly load a pd-patches/abs without dropouts

2007-01-20 Thread Enrique Erne



hi list

i'd like to open patches or dynamically create abstractions during a performance
without having dropouts. that's why i'm trying to build a system that slowly
loads a patch.

instead [; pd open patch-name.pd path( or [; pd-subpatchname obj 10 10
abstraction-name args( it reads the patch with [textfile] and creates the 
objects
slowly line by line.

a problem was to rebuild the exact order of the subpatches. as far as i tested 
it
works now. if a patch doesn't load correctly please let me know and send it to 
me.

to identify subpatches and place the objects in the right place it adds a number
in front of the sub-patch name like this: [pd *id*-subpatchname].
-- just found out there is a msg [; pd-subpatchname rename newname(, after
renaming the sub-patch to it's original names the is no visual update, besides
that it works fine.

an other problem was with the array from Menu / Put / Array. it loads now even
with content.

any comments are welcome.

eni


slowlyopen.pd
Description: Binary data
___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] slowly load a pd-patches/abs without dropouts

2007-01-20 Thread sven
At 11:56 20.01.2007, Enrique Erne wrote:



hi list

i'd like to open patches or dynamically create abstractions during a 
performance
without having dropouts. that's why i'm trying to build a system that slowly
loads a patch.

instead [; pd open patch-name.pd path( or [; pd-subpatchname obj 10 10
abstraction-name args( it reads the patch with [textfile] and creates the 
objects
slowly line by line.

urg. really?
that's what i call WORKAROUNDISM.
A DANGEROUS IDEOLOGY.

scnr ;-) 


___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] slowly load a pd-patches/abs without dropouts

2007-01-20 Thread Roman Haefeli
hello 

personally, i think it is not worth that much effort. unfortunately
creating a patch dynamically is NOT the same as 'executing' each line of
the pd-file. this makes slow dynamic creation much more complicated than
necessary. also, in order to follow your rule to do EVERYTHIN slowly,
you would have to turn every instance of an abstraction into an subpatch
and therefore you would need to parse all dollararguments and convert
them to their appropriate values. probably there are many problems more,
which don't come to mind right now.

this approach is like netpd started in the beginning, but it turned out,
that this adds too much complexity. 

anyway, i think that these kind of problems shouldn't be solved in the
userspace, but in pd itself, since that is a general problem. it would
be interesting, if there is ever a chance, that pd loads patches without
dropouts or if this is impossible by design. there are other similar
problems, that cause dropouts, which might be easier to solve like
dropouts on full network buffer or writing and reading files. 

roman

On Sat, 2007-01-20 at 11:56 +0100, Enrique Erne wrote:

 hi list
 
 i'd like to open patches or dynamically create abstractions during a 
 performance
 without having dropouts. that's why i'm trying to build a system that slowly
 loads a patch.
 
 instead [; pd open patch-name.pd path( or [; pd-subpatchname obj 10 10
 abstraction-name args( it reads the patch with [textfile] and creates the 
 objects
 slowly line by line.
 
 a problem was to rebuild the exact order of the subpatches. as far as i 
 tested it
 works now. if a patch doesn't load correctly please let me know and send it 
 to me.
 
 to identify subpatches and place the objects in the right place it adds a 
 number
 in front of the sub-patch name like this: [pd *id*-subpatchname].
 -- just found out there is a msg [; pd-subpatchname rename newname(, after
 renaming the sub-patch to it's original names the is no visual update, besides
 that it works fine.
 
 an other problem was with the array from Menu / Put / Array. it loads now even
 with content.
 
 any comments are welcome.
 
 eni







___ 
Der frühe Vogel fängt den Wurm. Hier gelangen Sie zum neuen Yahoo! Mail: 
http://mail.yahoo.de


___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] slowly load a pd-patches/abs without dropouts

2007-01-20 Thread Thomas Grill


Am 20.01.2007 um 13:33 schrieb Tim Blechmann:


i'd like to open patches or dynamically create abstractions during a
performance
without having dropouts. that's why i'm trying to build a system that
slowly
loads a patch.

instead [; pd open patch-name.pd path( or [; pd-subpatchname obj  
10 10

abstraction-name args( it reads the patch with [textfile] and creates
the objects
slowly line by line.


thomas grill's dyn~ external is supposed to load objects similarly
(actually, i'm not up to date, if he only had the idea, or if he
actually implemented this ...


i had the idea, but you know that it's actually impossible without  
changing the pd core.
dyn~ currently uses pd functions which means that it can't avoid  
clicks when loading.
Parsing and loading a pd patcher file line by line won't really help  
when there are large abstractions in it... you will have to  
recursively parse these too, otherwise pd will load them as large  
single chunks.


greetings,
Thomas

--
Thomas Grill
http://g.org



___
PD-list@iem.at mailing list
UNSUBSCRIBE and account-management - 
http://lists.puredata.info/listinfo/pd-list