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

Miller Puckette msp at ucsd.edu
Sat Oct 24 02:05:46 CEST 2020


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$
> >
> >





More information about the Pd-list mailing list