[PD-dev] Creating an external / sinewave equation example

Rick T ratulloch at gmail.com
Sat Sep 10 08:19:42 CEST 2011


On Fri, Sep 9, 2011 at 4:37 PM, Patrice Colet <colet.patrice at free.fr> wrote:

>
> ----- "Rick T" <ratulloch at gmail.com> a écrit :
>
> > On Fri, Sep 9, 2011 at 2:46 PM, Patrice Colet < colet.patrice at free.fr
> > > wrote:
> >
> >
> > Hello, I'm not a C expert but I see errors in your code
> >
> > ----- "Rick T" < ratulloch at gmail.com > a écrit :
> >
> >
> > > Greetings All
> > >
> > >
> > > I'm having trouble getting my external to work, It compiles with 5
> > > warnings
> > > sineq.c:48: warning: unused variable ‘x’
> > > sineq.c:49: warning: unused variable ‘in1’
> > > sineq.c:50: warning: unused variable ‘in2’
> > > sineq.c:51: warning: unused variable ‘in3’
> > > sineq.c:52: warning: unused variable ‘in4’
> > >
> >
> > in http://iem.at/pd/externals-HOWTO/node6.html it's not a t_float but
> > a t_sample for using those variables
> >
> >
> >
> > True but the variables in my external are floats not samples like in
> > the example pan~ which takes in 2 different signals. I'm taking in 4
> > different floats (numbers)
> >
>
>  Allright, maybe you should directly name your variables amp freq phase and
> vertoff
> instead of in1 in2 in3 and in4


Changing these just caused more errors I think the *in and *out are a pd
reserved class to create inputs and outputs


>


> >
> >
> > >
> > > It does a "make" successfully but I get this warning message
> > > /usr/bin/ld: warning: cannot find entry symbol xport_dynamic;
> > > defaulting to 00000000000007f0
> > >
> >
> > it's certainly caused by your makefile during linking, it's rather
> > export_dynamic, you've certainly made a typo ^^
> >
> >
> >
> > I thought so to but when I take a look at the make file it looks fine
> > here's a link to the code in (pastebin)
> >
>
>  Okay, in fact you should write:
>
>  -Wl,-export-dynamic to pass it with gcc


This caused compilation to fail so I had to take it out


>


>
> > >
> > > but when I try and add it in PD it says "couldn't create". I've
> > looked
> > > at the pan~ tutorial and the d_osc.c file as recommended, which did
> > > help. I tried to take pieces from the two which I thought were
> > > applicable to my situation but I'm still having some issues.
> > >
> >
> > maybe a little look into bassmu~ source code could also be interesting
>

I looked into it but this seems more complex than the d_osc.c file I need
easier at the moment not more complex


> >
> >
> >
> > Do you know the name for the source file or know where I can find it?
> > I typed in bassmu~
> > in PD and nothing came back.
> >
>
> ah sorry I've made a typo :D
> it's bassemu~
>
> you can get it in pd-extended externals sources
>
> >
> >
> >
> >
> >
> >
> > >
> > > Here's a link to the workflow (dropbox)
> > > http://dl.dropbox.com/u/6576402/questions/pd/Sine_EQ_Diagram.jpg
> > >
> > >
> > > Here's a link to the C code online (pastebin)
> > > http://pastebin.com/9rK3szUE
> > >
> > >
> > >
> > >
> > > My external is a reproduction of the sinewave equation with 4 inputs
> > > and one output my logic is to have 4 inlets one for the
> > > frequency,amplitude,phase and vertical offset and an output for the
> > > created signal. Granted this isn't the final equation but this will
> > > help me understand how to create the full equation once done. If you
> > > want to see the full equation I'll be using here's a link to it
> > below.
> > > Basically it's a 1 second periodic signal with the sample rate at
> > > 44100 which the equation gives me control over the
> > > frequency,amplitude,phase and vertical offset, which will be
> > > controlled by a usb midi controller.
> > >
> > >
> > > Another question I have is what do I use for the t (time) for my
> > final
> > > equation is that the t_sample object in PD? or do I need to create a
> > > for loop counting from 1-44100 for a 1 second 44100 sampled
> > equation?
> > >
> > >
> > > http://dl.dropbox.com/u/6576402/questions/eq1.txt
> > >
> > >
> > >
> > >
> > > PS: I'm compiling on ubuntu 10.04 using gcc
> > >
> > > On Sun, Sep 4, 2011 at 12:13 PM, Martin Peach <
> > > martin.peach at sympatico.ca > wrote:
> > >
> > >
> > > On 2011-09-04 16:52, Rick T wrote:
> > > ...
> > >
> > >
> > >
> > >
> > > I've been able to find instructions on how to create a hello world
> > > C-external but not one that creates a simple sine wave from a
> > sinewave
> > > equation like A*sin(w*t+p)
> > > ( https://secure.wikimedia.org/ wikipedia/en/wiki/Sine_wave ) Does
> > > anyone
> > > have one or know where to find one.
> > >
> > > The canonical reference is here:
> > > http://iem.at/pd/externals- HOWTO/node6.html
> > > You just need to plug your equation into the perform routine.
> > > Also check the source for osc~ in d_osc.c of the Pd source, which
> > uses
> > > a fancy 32-bit float cosine table scanning method that was useful
> > when
> > > it mattered but is getting obsolete as a call to sin() is probably
> > > just as fast nowadays.
> > >
> > > Martin
> > >
> > >
> > >
> > >
> > >
> > >
> > > _______________________________________________
> > > Pd-dev mailing list
> > > Pd-dev at iem.at
> > > http://lists.puredata.info/listinfo/pd-dev
> >
> > --
> > Patrice Colet
> >
> >
> >
> > Aloha
> > and thanks for the help every bit helps --
>
> --
> Patrice Colet
>



aloha
Rick
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-dev/attachments/20110909/8e0b4d2e/attachment.htm>


More information about the Pd-dev mailing list