home changes contents help options

Now that Pd has the beginnings of a fully functional namespace, its time to start thinking of Pd as a platform. The next big step is organizing the vast amount of code into coherent libraries with consistent interface paradigms. This page is a scratch pad to start working out ideas of how to organize the Pd platform libraries.

Library Structure

One key part is defining a standard library format. Libdir is close to working, but needs some additions to work for all libraries. One key thing to add to libdir is a shared library that is loaded first. Then when each objectclass is loaded from its individual file, the shared code will be available.

Library Hierarchy

Generally, i + IOhannes? think, that we should differentiate between different types of data on a high level rather than a low level. e.g. i would recommend '/math/+' and '/audio/math/+~', instead of '/math/audio/+~' (as shown below). The reasoning behind this is, that the disambiguation at a low level will quickly become unmaintainable (except for some very generic types like signals and floats; as soon as you would like to apply this schematics to library-defined types (like image-buffers in pdp & Gem or grids in GridFlow?), hell will break loose.

References

Pd-vanilla

For reference, here is the list of categories in Pd-vanilla 0.42-4 (notice some inconsistencies in the names, that could be corrected).

Suggestions for the new category structure

glue

Dumb question: why is this section called glue? Would it make more sense to be called control? Or is it a too obvious csound reference?

midi

object - objects for building objects

regexp - regular expressions

mapping - mapping data from inputs to outputs

audio

Should this category be called signal instead of audio? (or again another csound reference?)

buffer - buffer data streams

why not join this category with glue/time?

data templates

graphics / video

gui - classes for building GUIs

file - file operations

io - handle IO from files and ports

net - network primitives

databases - objects for using databases

misc

I suggest to deprecate this category from pd-van and divide the objects between other categories

subwindows

I suggest to deprecate this category from pd-van and divide the objects between other categories

obsolete


Documentation

After (or while) restructuring the new categories for pd-ext objects, an automatized solution for the documentation should be found. Here are some pointers:

subtopics: