[PD] announcing PureMeasurement

Matthias Blau blau_m at web.de
Wed Sep 14 20:30:36 CEST 2005


OK OK OK, I shall give it a try.
Thanks, Matthias


Frank Barknecht schrieb:
> Hallo,
> Matthias Blau hat gesagt: // Matthias Blau wrote:
> 
> 
>>thanks for the criticism. I once thought about using $0. However, as I 
>>understand it, $0 creates a unique number in abstractions only, not in 
>>subpatches. In fact, when I use your modified pm_scope and copy it, then 
>> $0 gives the same number for both instances. Am I missing something here?
> 
> 
> You're not missing something: $0 is unique per abstraction, $0 is the
> same across subpatches in the same patch. Instead of just copying the
> subpatch, pm_scope with $0 is intended to be used as an abstraction
> now and you can just open two instances of it (or create two instances
> of it using [pm_scope] [pm_scope]. If you replace [r~ in1] with [r~
> $1] this can be made even more fancy and you can use: 
> 
> [pm_scope in1] 
> [pm_scope in2]
> [pm_scope $0-in3]
> ...
> 
> (Then make it "graph on parent" and you have reprogrammed Cyclone's
> [Scope~] as a graphical abstraction.)
> 
> 
>>Opting for subpatces instead of abstractions is a personal preference: I 
>>love it when everything is contained in just one file. Try to look at 
>>things you did 5 years ago on a completely different system, and you 
>>know what I mean.
> 
> 
> No, I don't. ;) 
> 
> Now, seriously: Abstractions are a very important thing to use and an
> immensely powerful concept offered by Pd. 
> 
> They play a totally different role compared to subpatches. For example
> abstractions encourage code reuse: You can use one abstraction to do
> different things depending on the caller arguments. Apart from the
> pm_scope example from above, you could just take a look at the
> list-math.pd patch I posted yesterday: This is only possible with
> abstractions and it would be totally tedious, error-prone and most of
> all very boring to do with four subpatches.
> 
> Subpatches are simply there to make things a bit clearer and cleaner,
> but not using abstractions severly limits the possibilities of what
> can be expressed in Pd. It's like trying to program C without
> functions or LISP without recursion.
> 
> That's why I like to encourage everyone to use the full potential of
> abstractions and it's why I try to explain abstractions very early on
> when doing Pd workshops. (Because IMO understanding how to use
> abstractions and how to use the trigger-object are *the* two most
> important things to get right when learning Pd.) 
> 
> Having to store abstractions in their own files generally is no
> problem if you organize things a bit. For example one could put all
> abstractions used in a patch in a subdirectory and then call them with
> the directory name. Then it also is possible to use descriptive
> namespaces, e.g. have one subdirectory for analysis abstractions, one
> for I/O abstractions etc. and then use objects like 
> 
> [analysis/fourier 64]
> [analysis/fourier 256]
> [IO/scope 400 300]
> [IO/voldac~ log]
> [IO/voldac~ lin]
> 
> and so on. This is quite clean and I don't see any disadvantage with
> organizing things this way compared to using subpatches. 
> 
> Well, this was long and I hope I didn't sound too much like a
> preacher, but I really believe in abstraction. ;)
> 
> Ciao





More information about the Pd-list mailing list