Heh, not exactly the kind of patching that people prefer to associate with Pd.
~Kyle
On 8/24/06, IOhannes m zmoelnig zmoelnig@iem.at wrote:
i moved this thread to pd-dev, in order to not bore people with patches too much...
IOhannes m zmoelnig wrote:
IOhannes m zmoelnig wrote:
attached is the fix for the crash when audio is turned on and no dsp objects are present.
who has changed "*ip" to "ip" in the d_ugen:dsp_tick() loop?
i see: it was miller and for good reasons.
while my patch prevented Pd from crashing when no dsp objects were present, it crashed Pd when there were dsp object.
so this new patch should really fix it.
i discovered that the same problem also happens with the new "block_bang" feature.
the attached patch fixes this too (for convenience it also includes the former patch.
btw, i noticed that when blockbanging a subpatch with [bang~] and you turn audio off (with my patch applied), i get this error message: "error: bang to block~ or on-state switch~ has no effect"
mfg.asd.r IOhannes
PS: i hope i can stop this patching soon...:-)
--- d_ugen.c.org 2006-08-24 15:05:04.000000000 +0200 +++ d_ugen.c 2006-08-24 15:30:10.000000000 +0200 @@ -219,11 +219,11 @@
static void block_bang(t_block *x) {
- if (x->x_switched && !x->x_switchon)
- if (dsp_chain && x->x_switched && !x->x_switchon) { t_int *ip; x->x_return = 1;
for (ip = dsp_chain + x->x_chainonset; ip; )
}for (ip = dsp_chain + x->x_chainonset; ip&&*ip; ) ip = (*(t_perfroutine)(*ip))(ip); x->x_return = 0;
@@ -333,7 +333,7 @@ if (dsp_chain) { t_int *ip;
for (ip = dsp_chain; ip; ) ip = (*(t_perfroutine)(*ip))(ip);
}for (ip = dsp_chain; ip&&*ip; ) ip = (*(t_perfroutine)(*ip))(ip); dsp_phase++;
}
PD-dev mailing list PD-dev@iem.at http://lists.puredata.info/listinfo/pd-dev