adc~ inside a poly~

Nicolas Deflache's icon

Hello,

It is possible to specify logical channels received by adc~ by sending it a list.
Though, used inside a poly~, it won't work correctly & causes crashes for various reasons (Max 6.0.8 on OSX.6.8).

Since these problems are not mentionned in the reference, can we consider that as a bug ?

Below are the poly~ and the patch for your tests.

Max Patch
Copy patch and select New From Clipboard in Max.
Max Patch
Copy patch and select New From Clipboard in Max.

Nicolas

Nicolas Deflache's icon

Anyone would like to try this ?

Emmanuel Jourdan's icon

Yes, you have to put your adc~/dac~ out of the poly~. Using in~/out~ to communicate with the main patch is the way to go.

Nicolas Deflache's icon

Thank you.
Is there anywhere a set of recommendations about specific programming rules inside poly~ ?
N.

Peter McCulloch's icon

E.J. is there a particular reason for this? Bit of a bummer on that one.

Emmanuel Jourdan's icon

Poly~ has many options to do something like up sampling/downsampling, vector size that can be different from the main patcher, threading. All those things are handled by the poly~ object itself.

FWIW, the patch doesn't crash here.

Emmanuel Jourdan's icon

@Nicolas, yes just use in~/out~ ;-) The use of send~/receive~ fromto poly~ (within it's fine) is not supported either for the same reasons.

Peter McCulloch's icon

Not supported as in "parallel optimizations don't work" or not support as in "will not be allowed in the future"? I strongly hope it's the former and not the latter.

There are situations that don't justify a full matrix mixer, but having the ability to add dynamic sends/receives with effects is helpful, and poly~ fits that bill perfectly. I've also been doing some stuff with running poly~ as a serial process (vox 1's output into vox 2's input and so forth), which makes a great testing rig for developing things like allpass spring reverbs and cascading feedback delays.

Emmanuel Jourdan's icon

From as long as I can remember, send~/receive was not fully supported in/out of poly~. You might have some unexpected latency. Multi-threading just make things even trickier.