Personal tools
You are here: Home documentation Style Guide StyleGuideDraft2

Send/Receive Naming Conventions

Using $0+ & Spaces & Hierarchies

It is often useful to create a hierarchy of names when patching. The most common example of this is the use of $0 when creating localized send/receives: one writes [send $0-frequency]?, with "$0" as the "parent" and "frequency" as the "child". We separate hierarchical levels with a "-". For example, a "cutoff" parameter of a filter in the local namespace might be written [receive $0-filter-cutoff]?. This also applies if one is using a different argument than $0, such as passing in "foobar" for $1: one would write [receive $1-baz]? to get the full name of "foobar-baz".

Sometimes a parameter is made up of more than one word. For clarity, use "_" to separate words, like [receive $0-resonance_peak]?.

Global Variables

Due to the confusing bugs that can result from widespread usage of global variables, they are written in all caps, like [send SSSAD_ADMIN]?. Use "_" as above to separate words.

Argument passing

If passing the arguments of a parent abstraction to a child, place them such that they reside in the same $# slots as they do in the parent (when possible). E.g., if the parent was called like [parent a b c]?, and [child]? also needs "a b c" plus "x y z", design and call [child]? so it can be called as [child a b c x y z]?.

Channel naming

For the special case of [send~/receive~]? or [throw~/catch~]? pairs with multiple parallel channels, name your channels with numbers rather than "left" or "right". E.g., [throw~ $0-wavetable_osc-ch1]? and [throw~ $0-wavetable_osc-ch2]?. This makes it easier to later expand your patch for higher-than-2-channel audio.

Powered by IEM Powered by Plone Section 508 WCAG Valid XHTML Valid CSS Usable in any browser