Re: [PD-dev] missing file from pd-MAIN and fftw version

2006-09-26 Thread Mathieu Bouchard

On Tue, 26 Sep 2006, Hans-Christoph Steiner wrote:

I should add, the next key step is to remove as many classes as possible 
from the root namespace (i.e. compiled into Pd).


I should add, that it should be possible to achieve proper namespacing 
without moving anything out of the root namespace.


BTW, here's an idea that I consider interesting regarding namespaces. 
Currently, the objectmaker of pd holds all classnames of pd and maps them 
to creators using its methodtable. Now what if "the" objectmaker was just 
"an" objectmaker among others? Think: namespace = objectmaker.


For example, each patch gets its own objectmaker, and each objectmaker 
has a class_addanything which causes a fallback of any unknown classname 
to a parent namespace. Eventually, asking for creation of a [+] box 
crawls up a chain that leads back to the root namespace, if none of the 
objectmakers in the chain defines a + method.


That way, we avoid coding extra namespace-handling features and avoid 
creating a bunch of symbols with slashes in them and we reuse 
the features already in pd.


This idea should raise a few questions and a few eyebrows but I believe 
that it's an idea worth considering and which could pay off.


For many, it would be trivial to do, just compile them as individual 
objects in a libdir. I've already done this for x_list.c, x_net.c, and a 
couple others.  Things like x_arithmatic.c will be trickier, but this 
does not have to happen at once.  It can happen incrementally.


I can't think of why x_arithmetic.c would be trickier, maybe you can 
explain. What I believe will be really trickier are things that are even 
more elementary to the pd language: [pd] [inlet] [outlet] [objectmaker] 
[canvasmaker] [struct] [loadbang].


 _ _ __ ___ _  _ _ ...
| Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju
| Freelance Digital Arts Engineer, Montréal QC Canada___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] missing file from pd-MAIN and fftw version

2006-09-26 Thread Mathieu Bouchard

On Tue, 26 Sep 2006, Miller Puckette wrote:


Yes indeed.  I'm thinking of automatically having new classes shadow old ones,
so that anything in Pd could simpy be "externed" over.  Not sure of all the
long-term ramifications, but I like the idea.


How about having several objectmakers with different methods defined in 
them?


 _ _ __ ___ _  _ _ ...
| Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju
| Freelance Digital Arts Engineer, Montréal QC Canada___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] missing file from pd-MAIN and fftw version

2006-09-26 Thread Chris McCormick
On Wed, Sep 27, 2006 at 12:15:21AM +0200, Frank Barknecht wrote:
> Hallo,
> Tim Blechmann hat gesagt: // Tim Blechmann wrote:
> > i can think of two ways to implement a namespace:
> > - a property of the canvas
> > - a |using| or |import| object
> > 
> > the first solution would be a contrary to pd's design principle (as
> > written by miller in the pd docs, §2.6.2. persistence of data). 
> 
> If you refer to the "patches should be understandable in printed form"
> principle: It's already violated as you don't know, which [prepend],
> [urn], [scale] etc. is used in a patch when it's only printed. 

What about if [import] had to be banged to do it's work. Then you could
use IOhannes' [initbang] and a bunch of [t b b b b] to specify loading
order.

> But, yes: This would be worse, if you wouldn't even know, which [+ ]
> object is used, depending on which namespace is active. 
> 
> However I don't want to be forced to write patches like: 
> 
>  [pdcore/float]
>  |
>  [pdcore/mult 2]
>  |
>  [pdcore/osc~]
>  |\
>  [pdcore/dac~] 

In my opinion, pdcore should always be imported by default. Maybe have
this optional using a command line option.

Best,

Chris.

---
[EMAIL PROTECTED]
http://mccormick.cx

___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


[PD-dev] problems compiling pd-devel-0.39

2006-09-26 Thread davide
hi,
I'm trying to compile pd-devel-0.39 on a FC5+ccrma laptop but I get this
error:

[...]
gcc -O3 -mfpmath=sse -mmmx -msse -fprefetch-loop-arrays -DPD -DDL_OPEN
-DHAVE_LIBFFTW3F -DNEWHASH -DLOCKFREE -DPABLIO -DUNISTD -DUNIX
-DUSEAPI_OSS -DPA_LITTLE_ENDIAN -DINSTALL_PREFIX=\"/usr/local\"
-DPA_USE_ALSA -DPA_USE_JACK -DUSEAPI_ALSA -DUSEAPI_JACK
-DUSEAPI_PORTAUDIO -DPA19 -DNDEBUG -DHAVE_ALLOCA -D_LARGEFILE64_SOURCE
-DPD_INTERNAL -I/usr/include/tcl8.4 -Isrc -Iportaudio/src/os/unix
-Iportaudio/include -Iportaudio/src/common -c -o src/s_audio_pa.o
src/s_audio_pa.c
src/s_audio_pa.c:48: error: expected '=', ',', ';', 'asm' or
'__attribute__' before '*' token
src/s_audio_pa.c:51: error: expected ';', ',' or ')' before '*' token
src/s_audio_pa.c: In function 'pa_open_audio':
src/s_audio_pa.c:61: error: 'pa_callback' undeclared (first use in this
function)
src/s_audio_pa.c:61: error: (Each undeclared identifier is reported only
once
src/s_audio_pa.c:61: error: for each function it appears in.)
src/s_audio_pa.c:61: error: 'process' undeclared (first use in this
function)
src/s_audio_pa.c:142: error: 'PaStreamParameters' undeclared (first use
in this function)src/s_audio_pa.c:142: error: expected ';' before
'inputParameters'
src/s_audio_pa.c:145: error: 'inputParameters' undeclared (first use in
this function)
src/s_audio_pa.c:147: error: 'paNonInterleaved' undeclared (first use in
this function)
src/s_audio_pa.c:152: error: 'outputParameters' undeclared (first use in
this function)
src/s_audio_pa.c:165: warning: passing argument 5 of 'Pa_OpenStream'
makes pointer from integer without a cast
src/s_audio_pa.c:165: warning: passing argument 8 of 'Pa_OpenStream'
makes integer from pointer without a cast
src/s_audio_pa.c:165: error: too few arguments to function
'Pa_OpenStream'
src/s_audio_pa.c:169: error: expected '=', ',', ';', 'asm' or
'__attribute__' before '*' token
src/s_audio_pa.c:169: error: 'streaminfo' undeclared (first use in this
function)
src/s_audio_pa.c: At top level:
src/s_audio_pa.c:226: error: expected ';', ',' or ')' before '*' token
scons: *** [src/s_audio_pa.o] Error 1
scons: building terminated because of errors.


...any idea of what's wrong?


___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] missing file from pd-MAIN and fftw version

2006-09-26 Thread Frank Barknecht
Hallo,
Tim Blechmann hat gesagt: // Tim Blechmann wrote:
> i can think of two ways to implement a namespace:
> - a property of the canvas
> - a |using| or |import| object
> 
> the first solution would be a contrary to pd's design principle (as
> written by miller in the pd docs, §2.6.2. persistence of data). 

If you refer to the "patches should be understandable in printed form"
principle: It's already violated as you don't know, which [prepend],
[urn], [scale] etc. is used in a patch when it's only printed. 

But, yes: This would be worse, if you wouldn't even know, which [+ ]
object is used, depending on which namespace is active. 

However I don't want to be forced to write patches like: 

 [pdcore/float]
 |
 [pdcore/mult 2]
 |
 [pdcore/osc~]
 |\
 [pdcore/dac~] 

Ciao
-- 
 Frank Barknecht _ __footils.org_ __goto10.org__

___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] missing file from pd-MAIN and fftw version

2006-09-26 Thread Hans-Christoph Steiner


On Sep 26, 2006, at 5:21 PM, Frank Barknecht wrote:


Hallo,
Hans-Christoph Steiner hat gesagt: // Hans-Christoph Steiner wrote:


I should add, the next key step is to remove as many classes as
possible from the root namespace (i.e. compiled into Pd).


IMO this step should wait until we have the equivalent to Python's
"from pdcore import *" or C++'s "using namespace std"


In Pd-extended ("standard" is just an example name):

* "-lib standard" works

* [import standard] as long as its the first object in the patch.

Both are far from perfect, but both are quite functional right now  
and could easily be included in pd-MAIN.  Plus I am almost done  
writing a libdir loader to work with Pd 0.40, which is a cleaner  
implementation.


.hc




  http://at.or.at/hans/



___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] missing file from pd-MAIN and fftw version

2006-09-26 Thread Tim Blechmann
On Tue, 2006-09-26 at 23:21 +0200, Frank Barknecht wrote:
> > I should add, the next key step is to remove as many classes as  
> > possible from the root namespace (i.e. compiled into Pd).
> 
> IMO this step should wait until we have the equivalent to Python's
> "from pdcore import *" or C++'s "using namespace std" 

sorry for some 'implementation details', but this is not as trivial as
it would be in a script language.

i can think of two ways to implement a namespace:
- a property of the canvas
- a |using| or |import| object

the first solution would be a contrary to pd's design principle (as
written by miller in the pd docs, §2.6.2. persistence of data). 
for the second solution the creation time of the import object would be
crucial (which would also be a contrary to §2.6.2), or objects will have
to be reloaded when import objects are created/destroyed, which would
increase the complexity of the implementation quite a bit...

just my 1.95 ¢

cheers ... tim

--
[EMAIL PROTECTED]ICQ: 96771783
http://www.mokabar.tk

A paranoid is a man who knows a little of what's going on.
  William S. Burroughs


signature.asc
Description: This is a digitally signed message part
___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] missing file from pd-MAIN and fftw version

2006-09-26 Thread Frank Barknecht
Hallo,
Hans-Christoph Steiner hat gesagt: // Hans-Christoph Steiner wrote:

> I should add, the next key step is to remove as many classes as  
> possible from the root namespace (i.e. compiled into Pd).

IMO this step should wait until we have the equivalent to Python's
"from pdcore import *" or C++'s "using namespace std"

Ciao
-- 
 Frank Barknecht _ __footils.org_ __goto10.org__

___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] corelibs, build system

2006-09-26 Thread Hans-Christoph Steiner


IOhannes, PLEASE PLEASE PLEASE PLEASE PLEASE!  ASK BEFORE YOU  
MESS WITH SOMEONE ELSE'S STUFF!!!  This is one of the most basic  
and fundamental rules of working together, and you are violating this  
rule again and again, though we ask you not to!  That is why we have  
this list.  I am getting really tired of you breaking the stuff that  
I spent a lot of time setting up.  I really don't want to have to use  
ACLs in CVS, but you are leaving me no other choice.


corelibs is a section that I set up and only I have worked on so  
far.  You
did not ask at all.  d_mayer_fft.c is the name of the file in  
0.39.2.  You have broken compilation for Pd-extended.


- please revert all changes to the docs/developer section

- please revert all changes to externals/corelibs

Let's start over and do this right.

.hc

On Sep 26, 2006, at 5:02 AM, IOhannes m zmoelnig wrote:

corelibs is currently broken due to a renaming of pd/src/ 
d_mayer_fft.c to pd/src/d_fft_mayer.c


while i updated the corelibs/generate.sh script to handle this, it  
still does not really work with the autobuild-system.
the reason for this is (imo) the very complicated stacking of  
Makefiles (externals/Makefile vs. externals/corelibs/Makefile)  
which makes it impossible for a make-noob like me, to generate  
the .c files in the makefile while calling make in /externals (it  
does work fine when i do just "make" in externals/corelibs.


the reason is, that CORELIBS_OBJECTS is evaluated before the files  
are generated (which would result in NO objects, since there should  
be no .c files before generation)


a simple solution would be, to call "make -c corelibs/ generate"  
and then "make -C corelibs/" from the externals/Makefile.
obviously this does not work, since externals/corelibs/Makefile has  
no logic and instead uses externals/Makefile with the "corelibs"  
target (which would make my idea quite recursive).


then again there is the horror of touching externals/Makefile at  
all: this huge file makes it quite hard/impossible to work on / fix  
several targets at the same time.
e.g. yesterday i first worked on corelibs, then noticed that zexy  
won't build as it should, so i had to revert all the changes i had  
done to the Makefile (since it didn't yet work properly) so i could  
start fixing the zexy-build (which i understand better, and which i  
was pretty sure to be able to fix).


so i ask this again: would it not be better to have the build-logic  
for each directory in a separate Makefile (which could be edited  
separately)?
these Makefile could make use of a generic(!) Makefile which (e.g.)  
lives in externals/
this generic Makefile MUST NOT have any intelligence about the  
separate destination targets (e.g. no different logic for building  
"corelibs" or "hid"; just a generic "build" target); if such  
intelligence is needed, it should live in the projects subdirectory  
(externals/corelibs/Makefile)


i would also like to know the exact reason for the pwd-magic (i  
just never ever needed such thing in any makefile i wrote, so i'm  
curious)


mfg.asdr
IOhannes

___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev





If nature has made any one thing less susceptible than all others of  
exclusive property, it is the action of the thinking power called an  
idea, which an individual may exclusively possess as long as he keeps  
it to himself; but the moment it is divulged, it forces itself into  
the possession of everyone, and the receiver cannot dispossess  
himself of it.- Thomas Jefferson




___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] missing file from pd-MAIN and fftw version

2006-09-26 Thread Hans-Christoph Steiner


Using loading order will have similar problems whether you use the  
first loaded or the last loaded.  And changing the order of  
precedence will have lots of unintended consequences.


Modern programming languages use namespaces (C++, Python, Java,  
SmallTalk, etc).  Namespaces are a much more appropriate and proven  
way to deal with this issue.  Its already working in Pd on a basic  
level, and most of what's needed for a full-fledged namespace system  
is already implemented.


.hc

On Sep 26, 2006, at 9:41 AM, Miller Puckette wrote:

Yes indeed.  I'm thinking of automatically having new classes  
shadow old ones,
so that anything in Pd could simpy be "externed" over.  Not sure of  
all the

long-term ramifications, but I like the idea.

cheers
Miller

On Tue, Sep 26, 2006 at 08:30:44AM +, carmen wrote:
and that is the question: why do we necessarily need the fftw  
based fft-objects in plain pd and cannot use externals?


so the only drawback is see is: the objects are called [fftw~]  
instead of [fft~]; but lo and behold, i vaguely remembered  
krzysztof magic in cyclone, where a newly
loaded class raises itself over an already existing class. while  
he is using it to overwrite objects from other externals (e.g.  
iemmatrix's [matrix~]), i don't see any

reason why this should not work with internals.





et voila, does this not sound good?


sounds good. maybe there should be some official policy on the  
overloading of internals?




mfg.adsr
IOhannes

___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev



___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev





News is what people want to keep hidden and everything else is  
publicity.  - Bill Moyers




___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] missing file from pd-MAIN and fftw version

2006-09-26 Thread Hans-Christoph Steiner


I should add, the next key step is to remove as many classes as  
possible from the root namespace (i.e. compiled into Pd).  For many,  
it would be trivial to do, just compile them as individual objects in  
a libdir. I've already done this for x_list.c, x_net.c, and a couple  
others.  Things like x_arithmatic.c will be trickier, but this does  
not have to happen at once.  It can happen incrementally.


.hc

On Sep 26, 2006, at 9:41 AM, Miller Puckette wrote:

Yes indeed.  I'm thinking of automatically having new classes  
shadow old ones,
so that anything in Pd could simpy be "externed" over.  Not sure of  
all the

long-term ramifications, but I like the idea.

cheers
Miller

On Tue, Sep 26, 2006 at 08:30:44AM +, carmen wrote:
and that is the question: why do we necessarily need the fftw  
based fft-objects in plain pd and cannot use externals?


so the only drawback is see is: the objects are called [fftw~]  
instead of [fft~]; but lo and behold, i vaguely remembered  
krzysztof magic in cyclone, where a newly
loaded class raises itself over an already existing class. while  
he is using it to overwrite objects from other externals (e.g.  
iemmatrix's [matrix~]), i don't see any

reason why this should not work with internals.





et voila, does this not sound good?


sounds good. maybe there should be some official policy on the  
overloading of internals?




mfg.adsr
IOhannes

___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev



___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev





If nature has made any one thing less susceptible than all others of  
exclusive property, it is the action of the thinking power called an  
idea, which an individual may exclusively possess as long as he keeps  
it to himself; but the moment it is divulged, it forces itself into  
the possession of everyone, and the receiver cannot dispossess  
himself of it.- Thomas Jefferson




___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] missing file from pd-MAIN and fftw version

2006-09-26 Thread Mathieu Bouchard

On Tue, 26 Sep 2006, IOhannes m zmoelnig wrote:

and that is the question: why do we necessarily need the fftw based 
fft-objects in plain pd and cannot use externals?


The main reason for not doing so is that it doesn't allow you to override 
the uses of FFT that are made in other Pd externals as C calls to the Pd 
API directly (pd_fft, mayer_fft, etc) instead of as using [fft~].


 _ _ __ ___ _  _ _ ...
| Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju
| Freelance Digital Arts Engineer, Montréal QC Canada___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] missing file from pd-MAIN and fftw version

2006-09-26 Thread Miller Puckette
Yes indeed.  I'm thinking of automatically having new classes shadow old ones,
so that anything in Pd could simpy be "externed" over.  Not sure of all the
long-term ramifications, but I like the idea.

cheers
Miller

On Tue, Sep 26, 2006 at 08:30:44AM +, carmen wrote:
> > and that is the question: why do we necessarily need the fftw based 
> > fft-objects in plain pd and cannot use externals?
> 
> > so the only drawback is see is: the objects are called [fftw~] instead of 
> > [fft~]; but lo and behold, i vaguely remembered krzysztof magic in cyclone, 
> > where a newly 
> > loaded class raises itself over an already existing class. while he is 
> > using it to overwrite objects from other externals (e.g. iemmatrix's 
> > [matrix~]), i don't see any 
> > reason why this should not work with internals.
> 
> 
> > 
> > et voila, does this not sound good?
> 
> sounds good. maybe there should be some official policy on the overloading of 
> internals?
> 
> > 
> > mfg.adsr
> > IOhannes
> > 
> > ___
> > PD-dev mailing list
> > PD-dev@iem.at
> > http://lists.puredata.info/listinfo/pd-dev
> > 
> 
> ___
> PD-dev mailing list
> PD-dev@iem.at
> http://lists.puredata.info/listinfo/pd-dev

___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] missing file from pd-MAIN and fftw version

2006-09-26 Thread Frank Barknecht
Hallo,
Miller Puckette hat gesagt: // Miller Puckette wrote:

> Yes indeed.  I'm thinking of automatically having new classes shadow old ones,
> so that anything in Pd could simpy be "externed" over.  Not sure of all the
> long-term ramifications, but I like the idea.

Namespaces, anyone? ;) 

I think, "externing over" should be a feature on patch level. I'm
thinking of something like the Python syntax for importing modules
which basically has three forms:

import zexy 
# builtin fft:
fft()
# zexy's fft has to be called with prefix:
zexy.fft()

from zexy import fftw
# now fft() also calls zexy's fft:
fft()

from zexy import *
# again zexy's fft shadows the builtin fft:
fft()

Ciao
-- 
 Frank Barknecht _ __footils.org_ __goto10.org__

___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


[PD-dev] corelibs, build system

2006-09-26 Thread IOhannes m zmoelnig
corelibs is currently broken due to a renaming of pd/src/d_mayer_fft.c 
to pd/src/d_fft_mayer.c


while i updated the corelibs/generate.sh script to handle this, it still 
does not really work with the autobuild-system.
the reason for this is (imo) the very complicated stacking of Makefiles 
(externals/Makefile vs. externals/corelibs/Makefile) which makes it 
impossible for a make-noob like me, to generate the .c files in the 
makefile while calling make in /externals (it does work fine when i do 
just "make" in externals/corelibs.


the reason is, that CORELIBS_OBJECTS is evaluated before the files are 
generated (which would result in NO objects, since there should be no .c 
files before generation)


a simple solution would be, to call "make -c corelibs/ generate" and 
then "make -C corelibs/" from the externals/Makefile.
obviously this does not work, since externals/corelibs/Makefile has no 
logic and instead uses externals/Makefile with the "corelibs" target 
(which would make my idea quite recursive).


then again there is the horror of touching externals/Makefile at all: 
this huge file makes it quite hard/impossible to work on / fix several 
targets at the same time.
e.g. yesterday i first worked on corelibs, then noticed that zexy won't 
build as it should, so i had to revert all the changes i had done to the 
Makefile (since it didn't yet work properly) so i could start fixing the 
zexy-build (which i understand better, and which i was pretty sure to be 
able to fix).


so i ask this again: would it not be better to have the build-logic for 
each directory in a separate Makefile (which could be edited separately)?
these Makefile could make use of a generic(!) Makefile which (e.g.) 
lives in externals/
this generic Makefile MUST NOT have any intelligence about the separate 
destination targets (e.g. no different logic for building "corelibs" or 
"hid"; just a generic "build" target); if such intelligence is needed, 
it should live in the projects subdirectory (externals/corelibs/Makefile)


i would also like to know the exact reason for the pwd-magic (i just 
never ever needed such thing in any makefile i wrote, so i'm curious)


mfg.asdr
IOhannes

___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] missing file from pd-MAIN and fftw version

2006-09-26 Thread carmen
> and that is the question: why do we necessarily need the fftw based 
> fft-objects in plain pd and cannot use externals?

> so the only drawback is see is: the objects are called [fftw~] instead of 
> [fft~]; but lo and behold, i vaguely remembered krzysztof magic in cyclone, 
> where a newly 
> loaded class raises itself over an already existing class. while he is using 
> it to overwrite objects from other externals (e.g. iemmatrix's [matrix~]), i 
> don't see any 
> reason why this should not work with internals.


> 
> et voila, does this not sound good?

sounds good. maybe there should be some official policy on the overloading of 
internals?

> 
> mfg.adsr
> IOhannes
> 
> ___
> PD-dev mailing list
> PD-dev@iem.at
> http://lists.puredata.info/listinfo/pd-dev
> 

___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] missing file from pd-MAIN and fftw version

2006-09-26 Thread IOhannes m zmoelnig

Hans-Christoph Steiner wrote:


It would be very nice to have FFTW in Pd, its really much much faster.

.hc

On Sep 25, 2006, at 10:38 PM, Miller Puckette wrote:


Well, I started coding for fftw-2, then found out it had already been
replaced with fft-3, then decided that perhaps I should just wait for
fftw-4 or 5.

I didn't like the way it was done in devel (with lots of fftw-specific
stuff in d_fft.c).


last week frank and me were invited to a radio show (tech talk) about 
pd: we finally came to a point where the moderators got very confused, 
why fftw was NOT used in pd. so after a little generic explanation, 
frank and me looked at each other, and answered:
"well, pd is very flexible: you could write an external that does fft's 
using fftwwait...hmmm...why has nobody done this yet?"


and that is the question: why do we necessarily need the fftw based 
fft-objects in plain pd and cannot use externals?


so i ripped the fftw-code out of tim's patch and checked it into the cvs 
as /externals/fftw/.

the objects are called [fftw~], [ifftw~], [rfftw~] and [rifftw~]

currently it seems like the code  it is not really working, the only 
object that produced any reasonable result was [rfftw~];
i guess this can be easily fixed, but i don't have the time right now to 
investigate this any further.


so the only drawback is see is: the objects are called [fftw~] instead 
of [fft~]; but lo and behold, i vaguely remembered krzysztof magic in 
cyclone, where a newly loaded class raises itself over an already 
existing class. while he is using it to overwrite objects from other 
externals (e.g. iemmatrix's [matrix~]), i don't see any reason why this 
should not work with internals.


et voila, does this not sound good?

mfg.adsr
IOhannes

___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev