[PD] Bidirectional Module Problem - dynamically changing delwrite?

Kim Taylor kimoni at gmail.com
Tue May 15 14:16:27 CEST 2007


Hello everyone again
Can anyone lend me their brain for 5 minutes so I can get a second
opinion of my problem?

Essentially what I'm trying to do is create a *generic* module that
links bi-directionally to other modules: send audio information and
also receive it with minimal time delay.

It is more easily understood by looking at this diagram:
http://www-users.york.ac.uk/~kt503/pd/ID-specific-buffers.JPG
(this example uses 'send'/'receive' but that's just so you get the
idea, they're not appropriate as  functions...)

Given a line of connected modules, audio can be transmitted DOWN the
signal chain easily, by simply connecting the modules. For audio going
up the signal chain though there is difficulty:I had planned to
implement a delread~ function in each module which is set to something
like [delread~ $1-buffer] so that function A for instance has its own
receive buffer (A-buffer), also make the blocksize 1 to minimize
delay.
However writing to these buffers is where I'm stuck- for a connected
object I cannot dynamically alter a delwrite~, even though I can
determine the name of the buffer (by receiving the name of the
previous object in sequence) 'set..' is not supported for that
function.

I also tried throw~/catch~ objects, and I posted about this a few days
ago. Throw will allow me to set it dynamically, however these
functions do weird things at blocksizes other than 64!

So I am stuck. Is there any way I can dynamically create/set a
delwrite~? It seems to be the only function that might work in this
case, and all that I need to do is change the destination.
Or can anyone see another way i could realise the structure shown in the image?

Alternatively, is this something that can be done with externals? I
had hoped I wouldn't have to resort to them and i have no experiece at
all in that department but this is crucial to my project.

Any help would be greatly appreciated
Regards,
Kim




More information about the Pd-list mailing list