NodeProxy/Ndef roles clarification

Hi, a couple questions:

  1. I don’t quite understand the difference between \pset and \set in NodeProxy roles. I tried diving into the source and it looks like one uses Pchain, whereas the other uses Pbindf underneath the hood. My current understanding is \set should ignore previous values. When I tried to take the doc examples for set and set them to a constant dur, and then add a new dur slot with the same dur, but much lower pitch, I got many instances where the lower pitch came through. I couldn’t hear much difference between the \set and \pset examples, although in the latter, it sounded like the default Synth was firing off.

  2. Ndef docs mention recursion:

Ndef(\sound, { SinOsc.ar([600, 635], Ndef.ar(\sound), LFNoise1.kr(2).max(0) * 0.2) });
Ndef(\sound).play;
Ndef.clear;

At first glance I would assume this would cause infinite recursion. Is this just taking the output of the Ndef delayed by the block size and then resending it to the phase argument?

1 Like