x->x_sr = 44100;
what happens to that when you run pd at different samplerates?
and also, nit-picky, but why is the vcf~ code in d_osc.c ???