Hey all,
Since Max has long since downcased all of their objects, I am thinking that it would be useful to add aliases to the cyclone objects for the downcased versions, like Line~ and line~, MouseState and mousestate, etc.
Any comments or objections?
.hc
----------------------------------------------------------------------------
Using ReBirth is like trying to play an 808 with a long stick. - David Zicarelli
Hallo, Hans-Christoph Steiner hat gesagt: // Hans-Christoph Steiner wrote:
Since Max has long since downcased all of their objects, I am thinking that it would be useful to add aliases to the cyclone objects for the downcased versions, like Line~ and line~, MouseState and mousestate, etc.
Any comments or objections?
Objection, judge! :)
Some of the uppercase objects in Cyclone are there so the don't clash with builtins. Line~ is different from line~.
Also why add aliases and cram even more stuff into the already filled namespace?
Ciao
Frank Barknecht wrote:
Any comments or objections?
Objection, judge! :)
Some of the uppercase objects in Cyclone are there so the don't clash with builtins. Line~ is different from line~.
and has been lengthily discussed on this list: aliasing will eventually override already existing classes (including internals). so you get cyclone's [Line~] when you really want [line~].
fgkasdr IOhannes
another detail: while creating objects, line~ is different from Line~. but while searching for help, it isn't. maybe than's a bug? try with append / Append.
Frank Barknecht wrote:
Any comments or objections?
Objection, judge! :)
Some of the uppercase objects in Cyclone are there so the don't clash with builtins. Line~ is different from line~.
and has been lengthily discussed on this list: aliasing will eventually override already existing classes (including internals). so you get cyclone's [Line~] when you really want [line~].
fgkasdr IOhannes
João Pais wrote:
another detail: while creating objects, line~ is different from Line~. but while searching for help, it isn't. maybe than's a bug? try with append / Append.
I think this is down to your operating system / file system not distinguishing between line / Line / lInE / LINE / ... so when Pd searches for a help file, the operating system returns the first match which might not be "sufficiently accurate". It's likely in that OS/filesystem that you cannot have line~-help.pd and Line~-help.pd in the same directory, because they have "too-similar" names.
Frank Barknecht wrote:
Any comments or objections?
Objection, judge! :)
Some of the uppercase objects in Cyclone are there so the don't clash with builtins. Line~ is different from line~.
and has been lengthily discussed on this list: aliasing will eventually override already existing classes (including internals). so you get cyclone's [Line~] when you really want [line~].
Yes, I second this - no more aliases, especially ones that don't add any value!
fgkasdr IOhannes
Claude
On Mar 11, 2009, at 7:25 AM, Claude Heiland-Allen wrote:
João Pais wrote:
another detail: while creating objects, line~ is different from Line~. but while searching for help, it isn't. maybe than's a bug? try with append / Append.
I think this is down to your operating system / file system not distinguishing between line / Line / lInE / LINE / ... so when Pd searches for a help file, the operating system returns the first match which might not be "sufficiently accurate". It's likely in that OS/filesystem that you cannot have line~-help.pd and Line~- help.pd in the same directory, because they have "too-similar" names.
Frank Barknecht wrote:
Any comments or objections?
Objection, judge! :)
Some of the uppercase objects in Cyclone are there so the don't clash with builtins. Line~ is different from line~.
and has been lengthily discussed on this list: aliasing will eventually override already existing classes (including internals). so you get cyclone's [Line~] when you really want [line~].
Yes, I second this - no more aliases, especially ones that don't add any value!
I also think that aliases are a bad idea in general, and I think we should always try to avoid them, but this is a special case where aliases seem to make sense.
The central and stated aim of cyclone is to provide Max/MSP compatibility. As of Max/MSP 4.5 or maybe 4.6, they downcased all of the objects. Therefore, in order for cyclone to remain compatible with recent versions of Max/MSP (we're talking like 5 years old), it should also work with the downcased names. If someone can come up with a better way to support this, I am all ears.
As for Line~ versus line~, you can load the cyclone line~ by using [cyclone/line~]. Really, this issue again highlights why we should have a single library format for all objects and a single method for handling library loading order, something like namespaces. Cyclone does have some method for overriding internals, but its some black magic that no active developer knows much about.
.hc
fgkasdr IOhannes
Claude
Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
----------------------------------------------------------------------------
As we enjoy great advantages from inventions of others, we should be glad of an opportunity to serve others by any invention of ours; and this we should do freely and generously. - Benjamin Franklin
Hallo, Hans-Christoph Steiner hat gesagt: // Hans-Christoph Steiner wrote:
The central and stated aim of cyclone is to provide Max/MSP compatibility. As of Max/MSP 4.5 or maybe 4.6, they downcased all of the objects. Therefore, in order for cyclone to remain compatible with recent versions of Max/MSP (we're talking like 5 years old), it should also work with the downcased names. If someone can come up with a better way to support this, I am all ears.
I think, it would be better to update Cyclone's maxmode then instead of making changes to the library in general. I don't know exactly how and where this is programmed, but it's activated when you load cyclone as a real library.
For example probably one could register [mousestate] as an object that Cyclone will replace with [MouseState] in maxmode in additional to [MouseState].
Ciao
On Mar 11, 2009, at 3:22 PM, Frank Barknecht wrote:
Hallo, Hans-Christoph Steiner hat gesagt: // Hans-Christoph Steiner wrote:
The central and stated aim of cyclone is to provide Max/MSP compatibility. As of Max/MSP 4.5 or maybe 4.6, they downcased all of the objects. Therefore, in order for cyclone to remain compatible with recent versions of Max/MSP (we're talking like 5 years old), it should also work with the downcased names. If someone can come up with a better way to support this, I am all ears.
I think, it would be better to update Cyclone's maxmode then instead of making changes to the library in general. I don't know exactly how and where this is programmed, but it's activated when you load cyclone as a real library.
I not sure what you mean by "real" library. I guess all these collections of code that I use all the time are not real... strange, they seem to really work. ;-P Or maybe its like real and imaginary numbers. I guess I prefer imaginary libraries. :D
FYI, you can now use [maxmode] in Pd-extended as a non-real library by typing [cyclone/maxmode].
For example probably one could register [mousestate] as an object that Cyclone will replace with [MouseState] in maxmode in additional to [MouseState].
Well, maxmode is that black magic that I was referencing. I don't really want to learn it in order to use these objects. I think that objects like [mousestate] are generally useful, so it would help in Pd to have them lowercase, then we could think of the uppercase versions as the Max/MSP compatibility mode.
.hc
Ciao
Frank
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
Hallo, Hans-Christoph Steiner hat gesagt: // Hans-Christoph Steiner wrote:
I not sure what you mean by "real" library.
With "real" I mean everything that is loaded with the -lib command line option. There was a time, when only that was called a library, collections of abstractions were called abstractions and externals were externals, sometimes collected into or preloaded as libraries. The confusion about terms is not my fault. Maybe I should call them library-libraries, in accordance with the usage of [sssad/sssad] or [list-abs/list-abs] :-P
Well, maxmode is that black magic that I was referencing. I don't really want to learn it in order to use these objects. I think that objects like [mousestate] are generally useful, so it would help in Pd to have them lowercase, then we could think of the uppercase versions as the Max/MSP compatibility mode.
_From what you wrote I assumed your motivation for suggesting aliases was Max 4.5/6 compatibility, not a problem with uppercase library names (which Python has plenty of btw.)
Ciao
On Wed, 11 Mar 2009, Frank Barknecht wrote: On Wed, 11 Mar 2009, Frank Barknecht wrote:
The confusion about terms is not my fault. Maybe I should call them library-libraries, in accordance with the usage of [sssad/sssad] or [list-abs/list-abs] :-P
So-so, if-if I-I want-want people-people to-to understand-understand me-me clearly-clearly, should-should I-I write-write like-like this-this ??
The confusion about terms is not my fault. Maybe I should call them library-libraries, in accordance with the usage of [sssad/sssad] or [list-abs/list-abs] :-P
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal, Québec _ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal, Québec
On Wed, 11 Mar 2009, Hans-Christoph Steiner wrote:
I also think that aliases are a bad idea in general, and I think we should always try to avoid them,
What have those aliases done to you!
So, is there any other reasons for shunning aliases than symbolic-links not being supported by one of the major OSes?... Because that's one of the arguments in favour of -lib.
I think that aliases can be quite useful, especially in combination with $1 in the classname of an objectbox, and though aliasing can also be done with putting a single objectbox in an abstraction (plus required [inlet] and [outlet]), it still can't be done with variable numbers of [inlet]s and [outlet]s.
recent versions of Max/MSP (we're talking like 5 years old), it should also work with the downcased names. If someone can come up with a better way to support this, I am all ears.
Use a loader_t (or t_loader) that makes the Pd system case-insensitive... although it's possible that some people already rely on case-sensitiveness.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801, Montréal, Québec
On Mar 11, 2009, at 4:23 AM, IOhannes m zmoelnig wrote:
Frank Barknecht wrote:
Any comments or objections?
Objection, judge! :) Some of the uppercase objects in Cyclone are there so the don't clash with builtins. Line~ is different from line~.
and has been lengthily discussed on this list: aliasing will eventually override already existing classes (including internals). so you get cyclone's [Line~] when you really want [line~].
Oops, I forgot to add in my last email, I think that the 0.42 overriding causes lots of problems, and I don't see much benefit, I think there was pretty broad agreement on that. We should instead finalize the design of a library format and means for supporting load order that is saved with the patch. Then we'll solve all of these problems. I think my opinion on how to do this is well known, but I'd like to hear other ideas that take into account the whole problem, and move beyond "this is what we have, deal with it".
.hc
fgkasdr IOhannes _______________________________________________ Pd-dev mailing list Pd-dev@iem.at http://lists.puredata.info/listinfo/pd-dev
----------------------------------------------------------------------------
"Free software means you control what your computer does. Non-free software means someone else controls that, and to some extent controls you." - Richard M. Stallman