[PD] self-modifying and dynamic patching

Max abonnements at revolwear.com
Thu Mar 12 09:01:15 CET 2009


the midi controller example is a good one i believe.
here is what i did a while ago
http://www.netpd.org/Midilearn


Am 12.03.2009 um 03:27 schrieb Phil Stone:

> 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 [ctlin].
>
> (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
> www.pkstonemusic.com
>
>
>
> 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
>>
>
> #N canvas 676 96 394 341 10;
> #X obj 8 105 21;
> #X obj 34 105 22;
> #X obj 60 105 23;
> #X obj 86 105 24;
> #X obj 112 105 25;
> #X obj 138 105 26;
> #X obj 164 105 27;
> #X obj 189 105 28;
> #X obj 37 74 select 1 2 3 4 5 6 7 8;
> #X obj 37 51 f \$1;
> #X obj 37 6 loadbang;
> #X obj 103 304 outlet;
> #X text 8 149 Ozone mapping;
> #X msg 237 93 2;
> #X text 267 91 channel;
> #X obj 37 28 t b b;
> #X obj 102 158 pack f f;
> #X text 110 16 Use: [OzKnob n] where n is the knob #;
> #N canvas 0 22 210 111 \$0-oz_ctrlknob 0;
> #X obj 28 72 outlet;
> #X restore 103 272 pd \$0-oz_ctrlknob;
> #X obj 102 218 s pd-\$0-oz_ctrlknob;
> #X msg 102 187 obj 10 10 ctlin \$1 \$2 \, connect 1 0 0 0;
> #X connect 0 0 16 0;
> #X connect 1 0 16 0;
> #X connect 2 0 16 0;
> #X connect 3 0 16 0;
> #X connect 4 0 16 0;
> #X connect 5 0 16 0;
> #X connect 6 0 16 0;
> #X connect 7 0 16 0;
> #X connect 8 0 0 0;
> #X connect 8 1 1 0;
> #X connect 8 2 2 0;
> #X connect 8 3 3 0;
> #X connect 8 4 4 0;
> #X connect 8 5 5 0;
> #X connect 8 6 6 0;
> #X connect 8 7 7 0;
> #X connect 9 0 8 0;
> #X connect 10 0 15 0;
> #X connect 13 0 16 1;
> #X connect 15 0 9 0;
> #X connect 15 1 13 0;
> #X connect 16 0 20 0;
> #X connect 18 0 11 0;
> #X connect 20 0 19 0;
> _______________________________________________
> Pd-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list

-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 194 bytes
Desc: Signierter Teil der Nachricht
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20090312/3e1ce250/attachment.pgp>


More information about the Pd-list mailing list