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
[email protected]
http://lists.puredata.info/listinfo/pd-dev