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

2006-09-27 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-27 Thread Mathieu Bouchard

On Tue, 26 Sep 2006, Tim Blechmann wrote:

On Tue, 2006-09-26 at 23:21 +0200, Frank Barknecht wrote:

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.


1. It's not that trivial in a script language

2. It's exactly as difficult in a script languages as in pd. (pd isn't 
as special as we may believe it is)



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).


in practice, a pd canvas may have all of those persistent states which are 
not part of the canvas' contents per se:


  (x,y) origin of the canvas window
  (x,y) size of the canvas window
  (x,y) size of the gop
  (x,y) margin for gop
  (x1,y1,x2,y2) range for graphing
  font size
  gop flag
  gop rectangle flag

and in practice, IEMGUI has been integrated to pd itself 5 years ago, 
everybody takes them for granted, and they're full of violations of 2.6.2; 
it could even be argued that the nature and the goal of IEMGUI is to 
violate 2.6.2.



for the second solution the creation time of the import object would be
crucial (which would also be a contrary to §2.6.2),


the creation time would be also important in the case of the first 
solution. (i don't see why it wouldn't.)


or objects will have to be reloaded when import objects are 
created/destroyed, which would increase the complexity of the 
implementation quite a bit...


this can be made in a semi-automatic way, e.g. an item in the Edit menu 
which would recreate all objects as if the patch had been reloaded from a 
file. This is roughly equivalent to Ctrl+A Ctrl+X Ctrl+V, but now the 
second solution is different in the sense that Ctrl+V would have to 
figure out namespaces in order to create its objects properly (!!).


 _ _ __ ___ _  _ _ ...
| 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] how does a loader get loaded?

2006-09-27 Thread Thomas Grill


Am 25.09.2006 um 00:32 schrieb Hans-Christoph Steiner:



Weee a tongue twister!  So I am working on making a loader for 
libdirs.  I get sys_register_loader(), which submits a pointer to 
classloader() (or whatever).  But what makes Pd load that loader 
first?


For example, something needs to load clr.dll, so that is calls 
sys_register_loader() to register its classloader() function.


yes, it's the good old -lib clr command line option!

greetings,
Thomas


___
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-27 Thread Tim Blechmann
On Wed, 2006-09-27 at 03:05 -0400, Mathieu Bouchard wrote:
 On Tue, 26 Sep 2006, Tim Blechmann wrote:
  On Tue, 2006-09-26 at 23:21 +0200, Frank Barknecht wrote:
  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.
 
 1. It's not that trivial in a script language
 
 2. It's exactly as difficult in a script languages as in pd. (pd isn't 
 as special as we may believe it is)

well, it is in one term ... scripting languages are written in a text
file, that's parsed from the top to the bottom. _this_ is absolutely the
same as with pd ... the difference is, pd patches are not written in a
text editor (at least, this is the usual case, i know, it's possible)
and the parsing order is not transparent to the user ...

unlike other interpreted languages, changes to the patch are done
immediately, i.e. after changing something in the patch, there is no
need to reload the patch file (compared with python's 'reload' or
recompiling with a langugage like c/c++).

what makes you think, that this is similar in text-based languages? 

tim

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

Which is more musical, a truck passing by a factory or a truck passing
by a music school?
  John Cage


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-27 Thread IOhannes m zmoelnig

Tim Blechmann wrote:

what makes you think, that this is similar in text-based languages? 


i think script language here did not mean text-based language 
(ignoring the etymology of script), but rather interpreted language.


mfg.adsr
IOhannes

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


Re: [PD-dev] Re: [PD] Pd 0.40-0 test 08

2006-09-27 Thread Frank Barknecht
Hallo,
Ed Kelly hat gesagt: // Ed Kelly wrote:

 Just to let you know that the rmstopow~ and powtorms~ objects do not
 get created on 0.40test8 on OSX. 

I've never heard of these objects. Where did you get them from in the
past?

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-27 Thread Miller Puckette
It's probably all the same if there's one objectmaker that changes its
behavior or if there are several (just an inplementation question).

Perhaps the new declare object (designed to be visible :) could get
new flags to manipulate the way object names are mapped to creators.
Just an idea...

cheers
Miller

On Wed, Sep 27, 2006 at 01:52:52AM -0400, Mathieu Bouchard wrote:
 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


___
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-27 Thread Mathieu Bouchard

On Wed, 27 Sep 2006, Miller Puckette wrote:


It's probably all the same if there's one objectmaker that changes its
behavior or if there are several (just an inplementation question).


I'm talking about the implementation because implementations suggest 
certain interfaces just like interfaces suggest certain implementations.


I don't consider that interface design is something that strictly precedes 
implementation design; rather, both are interacting in a feedback loop, if 
the people involved are willing to make both the interface and 
implementation evolve. (that's like, the top principle of extreme 
programming, though not said like that)


If the implementation involves a network of objectmakers, this is an 
opportunity to later add more namespace features that are logical 
consequences of how that style of implementation.



Perhaps the new declare object (designed to be visible :)


How do you make Ctrl+V, [declare], namespaces and principle 2.6.2 work 
together?


could get new flags to manipulate the way object names are mapped to 
creators. Just an idea...


what do you mean?

 _ _ __ ___ _  _ _ ...
| 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-27 Thread Mathieu Bouchard

On Wed, 27 Sep 2006, Mathieu Bouchard wrote:

If the implementation involves a network of objectmakers, this is an 
opportunity to later add more namespace features that are logical 
consequences of how that style of implementation.


typo, remove the how.

what i mean by logical consequences is features that you get for free 
in the sense that the amount of code that you have to write to get them is 
nearly zero, and sometimes exactly zero.


 _ _ __ ___ _  _ _ ...
| 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-27 Thread Mathieu Bouchard

On Wed, 27 Sep 2006, Tim Blechmann wrote:

the difference is, pd patches are not written in a text editor (at 
least, this is the usual case, i know, it's possible) and the parsing 
order is not transparent to the user ...


Right, that's it. There are interactive interpreters/compilers, for most 
languages (except mainly C, C++, ObjC, Java, C#, VB). However those 
usually don't result in things that get dumped to files (with the notable 
exceptions of Smalltalk and SELF).


unlike other interpreted languages, changes to the patch are done 
immediately,


Smalltalk and SELF make changes effective immediately on a per-method 
basis. However, those languages don't really have a top-to-bottom parsing 
order unless you really insist to load the code from text files (which is 
not usual for Smalltalk and SELF).


i.e. after changing something in the patch, there is no need to reload 
the patch file (compared with python's 'reload' or recompiling with a 
langugage like c/c++).


What pd needs here is the decoupling of creators from the classname-table, 
in such a way that it is possible to know what is the t_class associated 
to a given name, so that pd can know whether an object needs to be 
recreated or not, depending on whether the t_class associated with a name 
has changed or not.



what makes you think, that this is similar in text-based languages?


What you just said clarifies the distinction that you wanted to make.

 _ _ __ ___ _  _ _ ...
| 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] Re: [PD] Pd 0.40-0 test 08

2006-09-27 Thread Mathieu Bouchard

On Wed, 27 Sep 2006, Ed Kelly wrote:

Just to let you know that the rmstopow~ and powtorms~ objects do not get 
created on 0.40test8 on OSX.


aren't those just [pow~ 2] and [pow~ 0.5] ?

 _ _ __ ___ _  _ _ ...
| 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] corelibs, build system

2006-09-27 Thread Hans-Christoph Steiner


On Sep 27, 2006, at 4:27 AM, IOhannes m zmoelnig wrote:


Hans-Christoph Steiner wrote:
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.


why don't you want to use ACLs if you want ACLs?


Because I thought I could trust the Pd developers to ask before the  
mess with anything that's not theirs.  So far, you are really the  
only violator.


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.


because corelibs IS broken, even without my changes (which tried to  
fix what was going on)


Check the build logs from the auto-build farm for the past 2 months.   
I had been building fine on every platform.  This is really, really  
inappropriate.  Now its time to do the right thing and reverse your  
changes.


.hc



___
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-27 Thread Hans-Christoph Steiner


On Sep 26, 2006, at 5:46 PM, Tim Blechmann wrote:


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


Yes, that is a good principle, but its already violated in a number  
of places, like properties panels on GUI objects.  Properties on a  
canvas probably makes sense for a namespace.


Loading from a file shouldn't be too hard, the file could be loaded  
into memory, reordered as necessary, then executed.  The hard part  
would be when inserting an [import] statement into a patch, if that  
is going to take effect immediately and reload objects based on that  
[import].


For the next step, it could just change the loading statement, only  
affecting the load.  Then we can test the idea out, and see whether  
its worth the effort of making it take effect immediately.


I guess realtime languages don't usually have namespaces.  Anyone  
know of some examples?


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


Re: [PD-dev] missing file in CVS: d_fft_mayer.c and problems building pd.app under osx (mac intel)

2006-09-27 Thread Hans-Christoph Steiner


On Sep 27, 2006, at 5:55 PM, Kilian Koepsell wrote:


hi,

what is the recommended way to build pd.app under osx for mac intel?

i was happy to see that the binary on miller puckette's web site  
(http://crca.ucsd.edu/~msp/software.html) for the experimental  
version 0.40-0.test.08 runs just fine.
however, i didn't manage to compile it using the source code from  
the sam site.


i also tried to follow the instructions on the osx howto (http:// 
puredata.info/dev/darwin) using each of the three versions
   rsync -av --delete rsync://128.238.56.50/distros/pd-devel/ pd- 
devel/
   rsync -av --delete rsync://128.238.56.50/distros/pd-extended/ pd- 
extended/

   rsync -av --delete rsync://128.238.56.50/distros/pd-main/ pd-main/
i did make patch_pd inside the package directory
and then, inside the package/darwin_app directory, i did
  make darwin_app_wrapper
  make
with little success:
   pd-main fails compiling s_loader.c


That builds for me ok on a G5.  Perhaps try to update the source?

   pd-extended fails because it is missing the file pd/src/ 
d_fft_mayer.c needed by externals/corelibs/lib_d_fft.c


IOhannes reverted those changes, so that should work again (thank you  
IOhannes).  Try a new rsync.



   pd-devel failed for some of the patches


I haven't gotten that building myself...

i also tried to get the source directly from cvs but didn't succeed  
in compiling it. here again the problem was the missing file  
d_fft_mayer.c.


FYI: Those rsyncs are updated every night at midnight/ 0.00 Eastern  
Time, so they are quite current.


.hc



any help is highly appreciated,

k.


___
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-27 Thread Hans-Christoph Steiner


On Sep 27, 2006, at 3:53 AM, Frank Barknecht wrote:


Hallo,
Mathieu Bouchard hat gesagt: // Mathieu Bouchard wrote:


On Wed, 27 Sep 2006, Frank Barknecht wrote:


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


The decoupling of the name and the thing that the name refers to, is
called late binding.


I was referring only to the printed form of a patch: If the printout
doesn't include any information about active namespaces, it will
become very hard to read a patch.


The namespaces could be stored as a property of the canvas, while  
[import] objects or [;pd-patch.pd import( messages would be the way  
to manipulate those stored properties.


.hc



However I don't want to be forced to write patches like:
[pdcore/float]


If namespaces force you to write complete names all of the time, then
there is no difference between that and just considering slashes  
as part

of the name and not thinking about namespaces.


Exactly.

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

___
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] [once] default closed...

2006-09-27 Thread Hans-Christoph Steiner


On Sep 16, 2006, at 6:38 AM, Frank Barknecht wrote:


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


Arg... another example of the limitations of email, its so hard to
communicate anything where nuance is essential.  This discussion
would take 10 minutes in person and no one would be annoyed.


Ah, yes, that's so very true... ;)


- I do not care about strict adherence to backwards compatibility
- I do care about finding broad standards that make sense in the  
overall
- I did not know that [once] already exists elsewhere outside of  
purepd


A name - of an object or a funicton - always carries some meaning  
of its

own, which should be related to its behaviour.  That is my main point
against having [once] closed as default: A closed [once] to me more
seems like a [never].  Viewing it from this point was what made me
come up with [countdown].  Maybe [countdown] isn't the best name,
either.  Alternatives could be [manyshot], [someshot], [passmany],
[passcount] etc. What do you think?



I can say a [never] object makes no sense, while a [once] object that  
is default closed would be like When I tell you to, then let  
something past just once.  In Pd:


|   [bang(
|   |
[once 0]
|

The question of consistency is a tough one here.   Linguistic  
consistency is what you are outlining.  From what I know most  
programming languages are more likely to adhere consistency of  
function arguments.  But its tough to say what would work better in Pd.


Words can be very vague, especially when you consider that many  
programmers will be programming in a language that is not their  
native tongue.  So it seems quite difficult to be strictly adherent  
to the words.  Of course, it should be close as possible.  But words  
are how humans communicate with each other, so the meaning of the  
language should be given attention.


So the other kind of consistency in question here is consistency of  
usage.  All similar functions should have the same arguments, for  
example.  Which type of consistency trumps the other?  That's the  
question at hand.


I personally feel that its not more linguistically consistent to have  
[once] default open when it has no argument.  But this is  
inconsistent in usage with similar objects ([spigot]...).


.hc

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