[PD] self-modifying and dynamic patching

Phil Stone pkstone at ucdavis.edu
Wed Mar 11 20:27:24 CET 2009

Hi Derek,

Maybe a very simple example would be good.  I have an Ozone 
MIDI-controller, and it has eight knobs, which send out continuous 
controller data on 8 different MIDI CC numbers.  Now, [ctlin] (MIDI 
control input) doesn't have settable arguments -- only creation args., 
so I racked my brains trying to figure out how to make an object that 
would take a knob number argument, 1-8, convert that number to the 
corresponding controller number, and watch that controller number with 

(Admittedly, it would have been easy to create [Ozknob1]...[Ozknob8] 
objects, but this reeked of kludge to my sensibilities; neither did I 
consider it elegant to use a [ctlin] for each knob that watched *all* 
controller data, then [route]d the data from the desired control number 
-- I wanted the pre-filtering to be done by [ctlin], if possible).

The more generalized problem is this: take a creation argument of an 
abstraction, *do something with it*, then get it into the creation 
argument of a contained abstraction.

Nothing I tried worked, until I took the attached dynamic approach.

Phil Stone

Derek Holzer wrote:
> Would like to show some examples of dynamic and self-modifying Pd 
> patches during a workshop here in Berlin. I know there are some in the 
> archives (and maybe on people's HDs) somewhere, but damned if I can 
> find them. Links to previkous posts or new examples welcome!
> best!
> Derek

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: OzKnob.pd
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20090311/27f11c4d/attachment.asc>

More information about the Pd-list mailing list