[PD] Idiomatic Pd

Luigi Rensinghoff luigi.rensinghoff at freenet.de
Mon Jul 28 13:01:47 CEST 2008

Hi Luke..

I think that is very useful....

even better would it be to have that in a PD-Patch ;-)

so it is 100% clear what is meant and maybe easier to read...



Am 28.07.2008 um 03:34 schrieb Luke Iannini:

> There are some amazing sets of abstractions being released recently,
> which has served to highlight the many extant styles of patching.  I
> was wondering if there was interest in establishing a set of
> guidelines for patching in the vein of PEP 8 for Python; I've found
> that document to be very relaxing as it is a standardized approach to
> OCD.  More seriously, it greatly helps when reading other people's
> code or collaborating.
> http://www.python.org/dev/peps/pep-0008/
> The only one I have seen so far for Pd covers best practices for
> layout.  I'd want to include that, but also codify naming, arguments,
> common idioms, and so on.
> I've begun to collect some of my practices to start things off.  I was
> hoping we could all lazy-vote the document together in this thread and
> I'll then compile it into a PdPedia/Pd.info document.  So, feel free
> to object to or replace my propositions.
> Style:
> * If giving $0 as an argument to an abstraction, it is always first in
> the argument list [1]
> * * When possible, pass parent arguments in numeric order, like [child
> $0 $1 $2 other1 other2] etc.
> * Sends and Receives are written in camelCase, with "R" appended to
> complementary receives (e.g. in GUIs, $0mySlider for the send and
> $0mySliderR for the receive)
> * When prepending $0 to a symbol, only add a "-" to separate it from
> another number, like [r $0-1stSend].  Otherwise the symbol should
> immediately follow, like [r $0mySend].
> * When working with stereo, Left and Right pairs are written with Le
> and Ri appended (to distinguish them from an R denoting "receive",
> above)
> Programming recommendations
> * To invert a toggle, use [== 0]
> * Use the loadbang of the parent of both abstractions to initialize
> two or more interdependent abstractions
> [1] I think of this like emulating the "self" convention in Python
> And so on...
> Cheers
> Luke
> _______________________________________________
> Pd-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/ 
> listinfo/pd-list


Luigi Rensinghoff
luigi.rensinghoff at freenet.de

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20080728/673f1b9f/attachment.htm>

More information about the Pd-list mailing list