2016-04-08 16:11 GMT-03:00 Jonathan Wilkes <jancsika@yahoo.com>:
if the user isn't loading cyclone by default, and their patch does this: [declare -lib cyclone/Scope~]

Ok, but what would that do in the first place? I don't think I get [declare] yet, can you find a specific individual binary or object inside a library?

Then, cyclone does not come as a library for a long time, and "Scope~" is not part of a "-lib"
 
If by "traded" you mean you renamed the binary to scope~.pd_linux, this won't load anymore.

Nope, I changed stuff in the code as well

I might be wrong, but it seems possible to change it and maintain backwards compatibility and get rid of this annoying Capital letter, but I'm consulting you guys to be sure.
 
 
 you still need  "Append" to differentiate from the internal "append" class, so you can't change that one.

Things, to my surprise, things work in a new and weird way to me in Pd Vanilla. Any class you call that is not the internal one overwrites the internal library. I discussed this on a previous thread these days (Name conflicts "class overwritten; old one renamed 'x_aliased').

The way things are in cyclone nowadays, and I had given the example of "line~" is that it has the "Line~" official and legacy name version but also calls the objects as alias "line~" or "cyclone/line~"
 
Also-- why is there a class_addcreator to add "cyclone/*" for each class? That _should_ be superfluous...

It's not for every class, but these one with name clashing issues.

So, anyway. How things are now, if I call "Line~", internally it will find the alias "line~" and load it overwritting vanilla's line~. That sucks cause they're not compatible. And basically you had this Capital letter in the first place to avoid name clashing and it was clashing it anyway... (yeah, quite ironic).

It seems that this system would allow you to load cyclone/line~ in Pd Extended and Pd-L2ork, because in both of them, there is no internal overwritting going on. So latest version of extended (0.43) introduced this system with the alias. You can call [cyclone/uzi] and [cyclone/line~] for example, but the latter won't overwritte the internal vanilla's line~

By the "Uzi" is another example like "Scope~", some Capital letter for some reason that is not relevant anymore... and yeah, Uzi comes with the aliases "uzi" e "cyclone/uzi".

But back to "Line~"

if I remove the alias "cyclone/line~" I can now call [Line~] or [cyclone/line~] in Pd without overwritting the internal, and being able to differentiate between [line~] (internal) and [cyclone/line~] external. This is the same case as with Append. I think we should keep the weird animal "Line~" as an alias and an option over [cyclone/line~].

But Uzi and Scope~ are in another category, they don't overwrite internals. In Pd-L2ork you have an old version of Scope~ without the alias, so you won't be able to load it as "scope~" or "cyclone/scope~", but [Uzi] is updated, so you can call it as [uzi] or [cyclone/uzi]. I can only test this in Mac Os, but with the version you provided today, I can do it. Can you do it in linux and windows?

Anyway, I assume that if they did it in Pd Extended, it was for the reason that the trick worked for every system, or they wouldn't introduce this madness or massive inconsistency. And my thought is, if you can do it one way to the other, you can also do it the other way around... if I can call "uzi" as an alias, then I can call "Uzi" as an alias as well.

So, getting Uzi as an example, if I switch everything to the opposite like this:

void uzi_setup(voiduzi_class = class_new(gensym("uzi") (...) class_addcreator((t_newmethod)uzi_new, gensym("Uzi"), A_DEFFLOAT, 0);
class_addcreator((t_newmethod)uzi_new, gensym("cyclone/Uzi"), A_DEFFLOAT, 0) (...)

void Uzi_setup(void{  uzi_setup(); }

Plus the code to "uzi.c" and compiled the object as uzi.pd_darwin

Well, I can call it as [uzi], or as [Uzi] and [cyclone/Uzi]

If I don't have the "cyclone/Uzi" alias, then that doesn't work.

I'd actually be in favor of breaking that compatibility if there were a way to get rid of all those capital letters from cyclone.
 
And I'd actually second you on that, and we don't need those capital letters for "uzi" or "scope~", so, at least in these two cases, there's a pretty simple way to get rid of it.

But, as I'm saying, I think there is a way to change this and keep the alias for backwards compatibility.

Cheers