[PD] [PD-announce] Pd 0.43-2 released (windows startup bug fix) + ftm
Hans-Christoph Steiner
hans at at.or.at
Mon Mar 26 17:36:16 CEST 2012
On Mar 26, 2012, at 11:15 AM, Jonathan Wilkes wrote:
>
>
>
>
> ----- Original Message -----
>> From: João Pais <jmmmpais at googlemail.com>
>> To: "pd-list at iem.at" <pd-list at iem.at>; "pd-announce at iem.at" <pd-announce at iem.at>; Jonathan Wilkes <jancsika at yahoo.com>
>> Cc:
>> Sent: Monday, March 26, 2012 5:05 AM
>> Subject: Re: [PD] [PD-announce] Pd 0.43-2 released (windows startup bug fix) + ftm
>>
>>> One approach is to make a public API for the process you're already
>> using for
>>> the "Put" menu array and [table] objects. Users don't have
>> to care (or even
>>> be aware of) the loading of the templates for _float and _float_array which
>> is
>>> a good thing. There should be a way to make your own library using only Pd
>>> patches, and have pd look for libname_setup.pd (or some such naming
>>> scheme) in the path when I do [declare -lib libname], and if it exists load
>> it
>>> un-vis'd. That would allow a safe way for a library to use data
>> structures
>>> without $0-, and be able save/recall state. Plus allow all kinds of other
>> things,
>>> like a library of abstractions which all rely on a table to read-- the
>> table can
>>> be in libname_setup.pd, and the user can create/destroy abstractions from
>>> that library while the common table stays safe in the unvis'd setup
>> patch.
>>>
>>> Of course there's still the problem of name clashes since [struct
>> libname] is a
>>> global variable and [table lib-whatever-table] is a global table, but a
>> unique
>>> libname shouldn't be too hard.
>>
>> I don't know if I understood all the consequences of what you wrote. Did you
>> say to let templates with the same name "repeat" themselves, to allow
>> for a better patching? Isn't it good for now that repeated templates do get
>> marked as bad programming, to avoid conflicts where they aren't supposed to
>> be?
>> If all name conflicts are ignored, some more interesting patching can be done.
>> If name conflicts remain, patching errors will be easier to detect. Is there a
>> good solution?
>> Or I was misreading the whole problem?
>
> When an external library is loaded, Pd looks for a setup routine and executes the
> code there. What I'm proposing is a similar functionality for abstractions, so that
> if you have a directory "fooberry" with a bunch of abstractions inside it, you can
> put a patch there named something like fooberry_setup.pd, and if you try to load
> the library "fooberry" Pd will find "fooberry_setup.pd" and load that patch un-vis'd
> so that whatever is inside it will be available to any abstraction in that same
> library. Thus if all the abstractions need to read from a table you can have the
> table inside fooberry_setup.pd. Likewise if all the abstractions are helping to
> manipulate/save/read a data structure, you have the [struct] inside fooberry.pd.
>
> Nothing about name conflicts needs to be changed-- there's still a warning if you
> try to create another struct named that. However, it'd be nice to be able to name
> a struct based on $dir + $filename-- that would avoid most name collisions.
That is one of the ideas behind the *-meta.pd file in libdirs. That part has never been implemented tho. I still think it makes sense to use the meta file for that, rather than having another file.
.hc
>
>>
>> Besides being interesting to add messages to data-s, it would also be very
>> productive if some easy operations could be done, that nowadays can only be
>> achieved through more intense patching around the data-s objects: choose a
>> particular scalar on a canvas by its index number like in an array (or without
>> having to detect it's values to see if it's the right one), [previous X(
>> message for [pointer], etc etc. I've sent once such a list to Mr. Puckette,
>> I think I still have it around.
>> This would make data structures patching less time consuming, and maybe also
>> more approachable to newcomers. When I did my data structures workshop last
>> Pd-Con in Weimar everyone was very happy to understand it, but also not very
>> happy that to make a more complex circuit many operations are necessary. I mean,
>> if [tabread] would only take bangs instead of indexes (which is the case with
>> [struct]), how many people would be taking the trouble to use it?
>>
>>
>> Another related question: I was looking at the ftm library, and it is quite
>> complete, not only for data management, but also for expressions using
>> data's variables with direct access, and also audio objects. In the
>> beginning the difference bweteen Pd and Max was that Pd had the
>> "unique" (although rudimentary) data structures (as said in
>> Puckette's Paper), but with ftm there isn't any exclusivity anymore.
>> Since ftm seems to be a much more mature concept - both in terms of features,
>> and integration with other dimensions of the environment -, would it make sense
>> to make a Pd port of ftm? Or maybe, even continue to develop ftm for Pd instead
>> of the current data structures?
>> Afaik, IOhannes has done some work porting the ftm lib to Pd, but the work with
>> the gui is missing. Does it make more sense to try to reinvent a wheel someone
>> already did, or just get that wheel and make it better? Also afaik, ftm
>> isn't developing much anymore (I might be wrong).
>> http://ftm.ircam.fr/index.php/Main_Page (including sourceforge link)
>>
>> João
>>
>
> _______________________________________________
> Pd-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
----------------------------------------------------------------------------
The arc of history bends towards justice. - Dr. Martin Luther King, Jr.
More information about the Pd-list
mailing list