[PD-dev] snake_in~ tutorial?

Alexandre Torres Porres porres at gmail.com
Sun Sep 10 21:29:02 CEST 2023


Em dom., 10 de set. de 2023 às 16:27, Alexandre Torres Porres <
porres at gmail.com> escreveu:

> Em dom., 10 de set. de 2023 às 15:47, Alexandros Drymonitis <
> adrcki at gmail.com> escreveu:
>
>> I've installed else from deken, but I can't find the source files, plus I
>> don't know which objects are mc aware, there doesn't seem to be such a
>> prefix. What about the perform routine of [snake_in~], where is this
>> located?
>>
>
> it class this function
> https://github.com/pure-data/pure-data/blob/c0a7c16c63e86ccc8ce05c8273ccd8aec7ae044c/src/d_ugen.c#L1396
>

which calls this one next, which is a simple loop that copies the signal
vector...



>
>
>> On 9/10/23 21:41, Alexandre Torres Porres wrote:
>>
>> Check many of my mc aware objects in else. Snake uses a perform routine,
>> but a very simple one and you can also look for that copy function in the
>> code. There is no real difference and you just have to split the vector in
>> different chunks of block sizes to get different channels. Other vanilla
>> objects that are mc aware also do this
>>
>>
>>
>> On Sun, 10 Sep 2023 at 15:17 Alexandros Drymonitis <adrcki at gmail.com>
>> wrote:
>>
>>> I want to experiment with the new Pd feature of the
>>> [snake_in~]/[snake_out~] objects, specifically with [snake_in~]. In Pd's
>>> source files (in d_misc.c) I read the following in [snake_in~]'s dsp
>>> routine:
>>>
>>> ```
>>> static void snake_in_tilde_dsp(t_snake_in *x, t_signal **sp)
>>> {
>>>      int i;
>>>          /* create an n-channel output signal. sp has n+1 elements. */
>>>      signal_setmultiout(&sp[x->x_nchans], x->x_nchans);
>>>          /* add n copy operations to the DSP chain, one from each input
>>> */
>>>      for (i = 0; i < x->x_nchans; i++)
>>>           dsp_add_copy(sp[i]->s_vec,
>>>              sp[x->x_nchans]->s_vec + i * sp[0]->s_length,
>>> sp[0]->s_length);
>>> }
>>>
>>> ```
>>>
>>> There is no perform routine, so my question is, how do I deal with snake
>>> signals in a perform routine? How do I unpack them? Where is this
>>> happening in Pd's source code, so I can have a look?
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Pd-dev mailing list
>>> Pd-dev at lists.iem.at
>>> https://lists.puredata.info/listinfo/pd-dev
>>>
>> _______________________________________________
>> 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/20230910/d41d4059/attachment.htm>


More information about the Pd-dev mailing list