[PD] [PD-announce] Pd 0.43-2 released (windows startup bug fix) + ftm
Jonathan Wilkes
jancsika at yahoo.com
Mon Mar 26 17:15:43 CEST 2012
----- 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.
>
> 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
>
More information about the Pd-list
mailing list