[PD-dev] pow~ in Cyclone [was: Re: stripping down Pd-extended's default libs]
Hans-Christoph Steiner
hans at eds.org
Tue Feb 17 06:03:34 CET 2009
On Feb 16, 2009, at 5:52 PM, Roman Haefeli wrote:
> On Mon, 2009-02-16 at 22:58 +0100, Frank Barknecht wrote:
>> Hallo,
>> Matt Barber hat gesagt: // Matt Barber wrote:
>>
>>> At least we know it was an intentional difference:
>>>
>>> http://lists.puredata.info/pipermail/pd-list/2008-04/061603.html
>>>
>>> For extended would it be possible to exclude cyclone pow~ from the
>>> library, or less drastically patch both cyclone and vanilla pow~ to
>>> throw a warning, as was discussed last april?
>>
>> This is not related to Pd-extended which AFAIK doesn't include
>> cyclone
>> as a library (a "-lib" loadable one), but when loaded as a lib,
>> Cyclone
>> does some magic to even overwrite Pd internals. I made a little check
>> now and actually Cyclone then is very smart and aliasses the
>> builtins to
>> different names.
>>
>> Running "pd-0.42 -lib cyclone" gives this:
>>
>> ...
>> warning: class 'pow~' overwritten; old one renamed 'pow~_aliased'
>> ...
>>
>> and now the [pow~] behaves like in Max, while [pow~_aliased] is the
>> new
>> pow~ from 0.42. That's pretty cool, actually.
>
> from what i have understood, it is not cyclone's ability to replace
> built-ins, but it is a so called new feature of pd 0.42. the same
> happens also with zexy's [pack] and [unpack] and many others.
>
> why is that so cool? i personally find it _very much_ confusing, that
> you cannot be sure anymore to use only pd-vanilla classes, when
> libraries are loaded. this new feature makes it impossible to stick
> with
> only-vanilla classes in one patch, where another one in the same
> instance of pd loads some libs. for me, the vanilla classes were some
> last 'safe' ressort, which is now polluted and messy, and i have to
> rely
> on thirdparty authors, and i need to trust them, that they write their
> externals compatible to the internals, so that my patches don't break.
> shouldn't the core library considered to be holy and untouchable, at
> least this one?
>
> then again, as you say, this new features introduces _another_
> difference between pd-extended and vanilla: overriding internal
> classes
> works only with libs and not with single-class-per-file collections.
>
> why keeping backwards compabitility (which is the mentioned reason,
> why
> this new feature was introduced) on _any_ cost, even on cost of
> breaking
> patches and introducing new incompatibilities?
>
> i am confused / confused / confused.....
>
> roman
I think Roman is illustrating the dangers of this overriding approach
very well. I think that this also highlights the advantages of making
the vanilla internals into a distinct library and having the library
configuration as part of the patch. Then you can specify [import
vanilla] and you will be sure that your [pow~] will be the vanilla
pow~ regardless of the user's local setup. That means that your patch
is much more likely to run on many more machines.
.hc
----------------------------------------------------------------------------
'You people have such restrictive dress for women,’ she said, hobbling
away in three inch heels and panty hose to finish out another pink-
collar temp pool day. - “Hijab Scene #2", by Mohja Kahf
More information about the Pd-dev
mailing list