[PD] Checking for interest: Scheme interpreter external for PD

Iain Duncan iainduncanlists at gmail.com
Sat Oct 24 02:21:14 CEST 2020


Great, thanks for the help. I'm looking forward to learning how PD does it.
I'm sure I'll have questions for the dev list as I go!

iain

On Fri, Oct 23, 2020 at 5:05 PM Miller Puckette <msp at ucsd.edu> wrote:

> It's all done via clock_new(), clock_delay(), clock_getlogicaltime(),
> clock_gettimesince(), clock_gettimesincewithunits() and clock_free()
> calls - examples in the delay and timer objects, in x_time.c.
>
> When it's real time, stupider is better :)
>
> cheers
> Miller
>
> On Fri, Oct 23, 2020 at 04:58:09PM -0700, Iain Duncan wrote:
> > Oh sweeeet.  Yeah so far it's looking like this will be pretty
> > straightforward in comparison. :-)
> >
> > Can anyone point me at docs or resources on that part of PD? Or do I just
> > need to go to the code? I've read through the git repo on learning to
> write
> > an external but didn't see much on how to interact with the scheduler.
> (the
> > stuff that in max uses the clocks and time objects and so on)
> >
> > Thanks for the feedback everyone! I'm excited to make it happen.
> >
> > On Fri, Oct 23, 2020 at 4:44 PM Miller Puckette <msp at ucsd.edu> wrote:
> >
> > > Pd's a single thread - you'll have a much easier time adding stuff to
> > > Pd than to Max :)
> > >
> > > Miller
> > >
> > > On Fri, Oct 23, 2020 at 12:35:02PM -0700, Iain Duncan wrote:
> > > > Hi Andy, well I've ordered your book to learn PD, so I'm at least
> that
> > > > committed! :-)  My overarching goal is to make tools for composing,
> > > > improvising, and sequencing, so at this point, I'm punting on
> signals.
> > > > First I want to support everything in Rick Taubes's Notes From the
> > > > Metalevel book, along with a bunch of my own ideas, for algorithmic
> and
> > > > computer assisted composition/improvisation. But I am hoping to get
> > > signals
> > > > into play eventually. Which makes this a good time for a question...
> > > >
> > > > In Max, my understanding is that if Overdrive is on and Scheduler in
> > > > Interrupt is selected,  we actually get only two threads: low
> priority
> > > > thread running who knows when, and high priority thread alternating
> > > between
> > > > a pass of eating up the scheduler queue (up to the limit) and then a
> pass
> > > > of the audio vector render. So given that I'm forcing all messages
> to run
> > > > in the high priority thread (unless the user asks for danger-mode
> Any), I
> > > > *think* I should have no problem calling into S7 and sharing data
> from
> > > both
> > > > dsp perform routines and regular event scheduled messages. I have
> not,
> > > > however, actually done this yet. Can anyone tell me what the
> situation in
> > > > PD is there? Or point me at good docs/resources on how the threading
> and
> > > > scheduling works in PD?
> > > >
> > > > Thanks
> > > > iain
> > > >
> > > >
> > > > On Fri, Oct 23, 2020 at 12:23 PM Andy Farnell <
> > > padawan12 at obiwannabe.co.uk>
> > > > wrote:
> > > >
> > > > > My last love affair with parentheses was in Racket.
> > > > > Although my only ever somewhat successful musical adventures
> > > > > in this style were with Roger Dannenberg's CLM/Nyquist
> > > > >
> > > > > Lets see what happens if Iain brings S7 over.
> > > > >
> > > > > Iain, how are you thinking of handling signals
> > > > >  (or not)?
> > > > >
> > > > > andy
> > > > >
> > > > > On Fri, Oct 23, 2020 at 11:31:48AM +0200, Kjetil Matheussen wrote:
> > > > > > On Thu, Oct 22, 2020 at 10:26 AM Andy Farnell
> > > > > > <padawan12 at obiwannabe.co.uk> wrote:
> > > > > > >
> > > > > > > Would love to see Scheme come to Pd.
> > > > > > >
> > > > > > There's also k_guile from 2004, that still compiles:
> > > > > >
> > >
> https://urldefense.com/v3/__https://github.com/kmatheussen/k_guile__;!!Mih3wA!R6td8jy_IlJ5bOCoY02BZdcXbj7A38N3Ca1EA4vlqYbpelSmHtr_uAjQ6hgi$
> > > > > > Don't know if it still works though.
> > > > > >
> > > > > > Guess there are other alternatives as well, but they all probably
> > > > > > suffer a bit from gc non-rt performance. To fix this I later
> extended
> > > > > > the code from k_guile to run in a separate thread to avoid cpu
> > > spikes,
> > > > > > but this code was only added to the snd sound editor (when snd
> was
> > > > > > compiled as a pd external), and that code was probably removed
> from
> > > > > > snd when switching from guile to s7.
> > > > > _______________________________________________
> > > > > Pd-list at lists.iem.at mailing list
> > > > > UNSUBSCRIBE and account-management ->
> > > > >
> > >
> https://urldefense.com/v3/__https://lists.puredata.info/listinfo/pd-list__;!!Mih3wA!R6td8jy_IlJ5bOCoY02BZdcXbj7A38N3Ca1EA4vlqYbpelSmHtr_uP-Uh4ph$
> > > > >
> > >
> > > > _______________________________________________
> > > > Pd-list at lists.iem.at mailing list
> > > > UNSUBSCRIBE and account-management ->
> > >
> https://urldefense.com/v3/__https://lists.puredata.info/listinfo/pd-list__;!!Mih3wA!R6td8jy_IlJ5bOCoY02BZdcXbj7A38N3Ca1EA4vlqYbpelSmHtr_uP-Uh4ph$
> > >
> > >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20201023/31c76d2a/attachment-0001.html>


More information about the Pd-list mailing list