Dbufwr and rd not reading from ugen / Demand help

Hi,
I cannot get Dbufwr nor Dbufrd to work as I’d expect.

Below, the variable rd is always 0.00145125, when I’d expect it to change.

~b2 = Buffer.alloc(s, 2);
{
	var new_block = Dust.kr(4);
	var data = Phasor.kr(new_block, ControlRate.ir().reciprocal, 0, inf); // counts
	var block = Dser([0, 1], inf);
	var wr = Demand.kr(new_block, 0, Dbufwr(data, ~b2, block));
	var rd = Demand.kr(new_block, 0, Dbufrd(~b2, 0));
	[data, rd].poll
}.play

If, however, I replace data with var data = Dwhite(); it works as expected.
I thought it was possible to use other ugen data inside a demand context? If not, is it possible to sample the control rate data? Or generator a timer using demand rate ugens?

I think your Phasor is retriggering every time DBufwr is writing :wink:

… ahhhh… It’s been a long day! Thanks!