[PD] pdmtl abstractions questions and comments

Thomas O Fredericks tof at danslchamp.org
Mon Jul 2 19:57:07 CEST 2007

MB > Ok, but I don't think that the "_" character is so distinctive. I mean,
> it's enough to distinguish unambiguously, but it's still looks pretty
> close to a space, and it doesn't seem to have the kind of appeal to it[...]

We used "!" (an upside down "i" that stands for interface) before
instead of "_" but we had to continuously escape it in command lines
and scripts. So we settled on "_" instead. Of course, we would have
liked to use "#", but Gridflow's use of it is much better :)

MB > Ok, I don't particularly remember reading them back when they were posted.
> Now that I read them I'd like to say that the part about namespaces is
> quite bad: if I make a more descriptive name for a class that is really a
> lot like [poil], it would be something that ends in "_poil". However this
> means that a prefix is added to the name. The same section says that
> prefixes are to be turned into geiger namespaces, that is, folders. Let's
> say that the folder is named "patate". But then I cannot use the original
> [poil] anymore in that folder because pd picks up the locally defined
> [patate/poil] as being poil itself, hiding the prefixless [poil] that I
> need. Therefore a prefix is required. Then I might call it
> patate/patate_poil.pd, but that's redundant, so I remove the folder so
> that it's just called [patate_poil], and then we're back to prefixes.
> However if pd wasn't doing that and if there wasn't [import] then the
> slash wouldn't be anything more than a tilted underscore. So what are
> those guidelines good for?

I have been using the pmdtl folder namespaces for a year now and have
NEVER had a similar problem. I tried replicating the example in a
practical context, but I cannot. This issue is a theoretical problem
that never happens in a practical context.  Also, this issue can only
happen if you have abstractions that are not inside category folders
(and this goes against the pdmtl folder architecture: all pdmtl
abstractions require to be categorized). If you absolutely want to do
this for absolutely no functionnal reason, simply prepend a "../" to
the [poil] inside the [patate/poil].

You can even create an abstraction called [patate/counter] and
instantiate a [counter] object in there and it will work correctly.

> > All abnormal abstractions will be renamed (thanks a lot for the work Mat
> > :)

If you take a look at the pdmtl abstractions contents page (
http://wiki.dataflow.ws/PdMtlAbstractions/Contents ), you will see
that all the abstraction names that contain two words are now
separated by a "_".

MB > > The "synth" folder groups abstractions that are more like "complete"
> > "midi" instruments (or at least try to be). Think of the "generate"
> > category as the building blocks for the "synth" category. If this still
> > seems to confusing, please reply with an alternative.

All right then, I will probably move most of the stuff from [generate]
to the [synth] category. The distinction is not clear enough.

MB > Why not put stuff outside of categories? (Does everything have to be in a
> category?)

Yes, everything does have to be in a category. This constraint makes
for an environment that is especially useful for newbies and resolves
a lot of conflicts.

MB > I think that category names have to be figured out pretty quick if people
> are expected to start using the names in backwards-compatible ways. Else
> you get into what is called "bit rot" - a program is not just the contents
> of source files, it's also a set of relationships with its environment,
> and especially, its direct dependencies.

I agree. I think we are almost there. We simply have to solve a few glitches.

MB > I don't know. We could have a head-scratching party in my apartment, if
> you'd like some brainstorm about it. I didn't speak much when you made
> that presentation of pdmtl abstractions because that was my first exposure
> to it so I had to think about it a bit.

I would really appreciate that :)

> > T: You are obviously not using either of the official pdmtl
> > abstractions help browsers ( hbrowser.pd or hpopup.pd) as they
> > automatically exclude all files that they consider are not help files.
MB > I'm using /usr/bin/ls or the svn web interface. What's wrong with either?
> I'm obviously not asking this as a simple user.

For newbies, the folder categorizing system really comes to life when
using pdmtl's built in help browsers. See
I teach a lot of Max/Msp and the "new object" box is a godsend for
them ( http://www.makingthings.com/teleo/products/documentation/teleo_user_guide/images/max_tut_1_new.png
). Browsing and selecting the right abstraction for the job is a lot
simpler with this system.

By the way pdmtl's folder categorizing system is also compatible with
Pd 0.4's help browsing system.

MB > Uh, my question actually is "why is _index.pd called an index?".

You are right. I will find a more proper name.

MB > I'd rather raise the issue before the [mapping] is even created.

A mapping category will not be created :)

thomas ouellet fredericks, tof at danslchamp.org, montreal, canada

More information about the Pd-list mailing list