[PD-dev] More info about dsp_phase in d_ugen.c

Pierre Guillot guillotpierre6 at gmail.com
Fri Nov 18 14:32:36 CET 2016


Perhaps Miller would have a better answer but I try:
When the graph is compiled, the dsp_phase value is used to set up the
x_phase value of the block. Thereafter, this x_phase value is used to
determine if the block should be performed or not. So I didn't test it but
perhaps should try to use it with several subpatches with their own block
sizes. For example, if the block size of a subpatch is 128 samples, then
perhaps you'll stop the dsp in the main process at 64 samples before this
subpatch was performed and when you'll restart the dsp, the block will wait
only 64 samples (instead of 128) to execute its chain because dsp_phase%128
would be 64.

2016-11-18 14:12 GMT+01:00 Nicolas Danet <nicolas.danet at free.fr>:

>
> Hi,
>
> Ah Ah, you are right... but that is precisely the part i understand ;-)
>
> In all the tests i did, at the time it initializes the block value phase,
> the (dsp_phase % block_size) result is always zero (ditto for inlet
> prolog). The only code where it is not zero is in the outlet epilog at <
> https://sourceforge.net/p/pure-data/pure-data/ci/master/
> tree/src/g_io.c#l518 >. But the result seems weird.
>
> a/ i did a mistake in my modified code.
> b/ it is used only by the one shot dsp-chain feature (that i removed in my
> code).
> c/ it doesn't do anything.
> d/ ...
>
> Anyway, thanks for your reply.
>
> e/ I will try to remove that stuff and wait for an hypothetical crash!
>
> ----- Mail d'origine -----
> De: Pierre Guillot <guillotpierre6 at gmail.com>
> À: Nicolas Danet <nicolas.danet at free.fr>
> Cc: pd-dev at lists.iem.at
> Envoyé: Fri, 18 Nov 2016 13:37:20 +0100 (CET)
> Objet: Re: [PD-dev] More info about dsp_phase in d_ugen.c
>
> Hi Nicolas,
> I'm not sure but I think it's the total amount of dsp ticks since the
> opening of PD and it's mostly used by the block objects to know when to run
> their DSP blocks (something like if dsp_phase%block_size==0 then perform).
>
> 2016-11-18 7:55 GMT+01:00 Nicolas Danet <nicolas.danet at free.fr>:
>
> > Hello,
> >
> > I really have hard time to understand what's the dsp_phase variable
> > (d_ugen.c) is supposed to do.
> > I obtain always zero or weird values in the prolog / epilog calls.
> > Is it related to the one shot tick feature provided by the block object?
> > Thanks for clues or links to any information/discussion.
> >
> > < https://sourceforge.net/p/pure-data/pure-data/ci/master/
> > tree/src/d_ugen.c#l101 >
> > < https://sourceforge.net/p/pure-data/pure-data/ci/master/
> > tree/src/g_io.c#l518 >
> >
> > _______________________________________________
> > Pd-dev mailing list
> > Pd-dev at lists.iem.at
> > https://lists.puredata.info/listinfo/pd-dev
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-dev/attachments/20161118/500d4910/attachment.html>


More information about the Pd-dev mailing list