[PD] Announcing "RRADical Pd"

Frank Barknecht fbar at footils.org
Sat Nov 29 13:22:06 CET 2003


Hallo,
B. Bogart hat gesagt: // B. Bogart wrote:

> I've added OSC names to my GOP abstractions as /v/[name]/[param] I did not
> put in another level to group the different abtractions
> /v/rotate/[name]/[param].
> (I just do that stuff with naming in the patch /r? for rotate etc..)
> 
> I have been using these OSC names interally as well, to control things
> programatically at the same time as through the GUI. These have the same
> names without the /v/ part (I was having feedback loop issues!)
> 
> It would be pretty cool if these Gem GOP controls could be compatible
> with the audio stuff... (over network or locally)...

I don't see why they couldn't be compatible. It's seems to be just a
matter of coordination.

> I've put my current version of gem abstractions on pure-data:
> 
> http://www.pure-data.org/Members/bbogart/v_abstractions2/view

I got a small error while unpacking it, but mostly it seems okay.
(Btw: could you give v_abstractions2 a name with a suffix like .tgz?
This will make it easier to find out what kind of file it is for
others.)

This are very cool patches and highly qualify to be called "RRADical" ;)

> Pay most attension to the abstractions named v_* I included some early
> examples. I'm also open to critisisms as it comes to my usage of OSC,
> since I have made it impossible to send OSC controls that go beyond the
> scale of the GUI objects... (because I want the GUI to update based on
> the OSC commands)

I'm not the one to critizise OSC yet, as I'm still learning it, but
I'm already very fond of it after seeing how you and Eric use it. 

I played a bit with your patches and it way dead simple to add
persistance with pool to it. I attached my quick-hack first version.
The example is a slightly modified v_color renamed to osctest.pd. I
moved the canvas a bit lower so that the patch args are visible, which
is something I prefer. Otherwise the only change inside was, that I
abstracted out the [pd OSC] subpatch to be a standalone abstraction
called pdOSC (bad name, but easy to use here). This way my beloved
Reusability is easier to achieve.

Interestingly pool persistance, saving and reloading was possible
without any further changes to your v_color patch. So there was not
even a need to put a second pool object into it. It highly seems as if
OSC and pool are an ideal couple and made for each other to be
married. I used prepend (from whichever lib) and glue (zexy) to make
things easier to read here. With both, arbitrary value lengths will be
possible. 

Reloading in my exploration still requires an "OSCroute /v", but that
could probably be cut out, too.

ciao
-- 
 Frank Barknecht                               _ ______footils.org__
-------------- next part --------------
#N canvas 247 134 672 492 10;
#X obj 288 199 r OSC-out;
#X obj 288 224 route send;
#X msg 270 116 getall;
#X obj 285 309 glue;
#X obj 268 412 print pool;
#X obj 270 41 bng 32 250 50 0 empty empty reload 0 -6 0 8 -24198 -1
-1;
#X msg 423 116 save foo.dat;
#X msg 326 117 load foo.dat;
#X obj 292 368 s OSC-in;
#X obj 35 81 osctest /r2;
#X msg 378 250 clrall;
#X obj 288 277 pool poolname;
#X obj 292 338 OSCroute /v;
#X obj 288 247 prepend set;
#X obj 270 85 t b b;
#X obj 423 37 bng 32 250 50 0 empty empty save 0 -6 0 8 -258699 -1
-1;
#X obj 197 247 r \$0-pool-in;
#X obj 270 140 s \$0-pool-in;
#X obj 423 142 s \$0-pool-in;
#X text 388 338 <== this isn't quite correct I guess;
#X connect 0 0 1 0;
#X connect 1 0 13 0;
#X connect 2 0 17 0;
#X connect 3 0 4 0;
#X connect 3 0 12 0;
#X connect 5 0 14 0;
#X connect 6 0 18 0;
#X connect 7 0 17 0;
#X connect 10 0 11 0;
#X connect 11 0 3 1;
#X connect 11 1 3 0;
#X connect 12 0 8 0;
#X connect 13 0 11 0;
#X connect 14 0 2 0;
#X connect 14 1 7 0;
#X connect 15 0 6 0;
#X connect 16 0 11 0;
-------------- next part --------------
#N canvas 0 0 676 449 10;
#X obj 19 321 outlet;
#X obj 81 321 outlet;
#X obj 143 321 outlet;
#X obj 206 321 outlet;
#X obj 37 237 r OSC-in;
#X obj 16 18 inlet;
#X obj 159 17 inlet;
#X obj 302 16 inlet;
#X obj 444 15 inlet;
#X obj 230 195 s OSC-out;
#X obj 37 263 OSCroute \$1;
#X obj 16 90 pack f s;
#X obj 75 41 symbol \$1;
#X obj 75 18 loadbang;
#X obj 159 89 pack f s;
#X obj 218 40 symbol \$1;
#X obj 218 17 loadbang;
#X obj 302 88 pack f s;
#X obj 361 39 symbol \$1;
#X obj 361 16 loadbang;
#X obj 444 87 pack f s;
#X obj 503 38 symbol \$1;
#X obj 503 15 loadbang;
#X msg 16 113 send \$2 \$1;
#X msg 158 112 send \$2 \$1;
#X msg 302 111 send \$2 \$1;
#X msg 444 110 send \$2 \$1;
#X obj 37 289 OSCroute /r /g /b /a /alpha;
#X obj 263 319 outlet;
#X obj 75 64 makesymbol /v%s/r;
#X obj 218 63 makesymbol /v%s/g;
#X obj 361 62 makesymbol /v%s/b;
#X obj 503 61 makesymbol /v%s/a;
#X obj 594 19 inlet;
#X obj 594 91 pack f s;
#X obj 653 42 symbol \$1;
#X obj 653 19 loadbang;
#X msg 594 114 send \$2 \$1;
#X obj 653 65 makesymbol /v%s/alpha;
#X connect 4 0 10 0;
#X connect 5 0 11 0;
#X connect 6 0 14 0;
#X connect 7 0 17 0;
#X connect 8 0 20 0;
#X connect 10 0 27 0;
#X connect 11 0 23 0;
#X connect 12 0 29 0;
#X connect 13 0 12 0;
#X connect 14 0 24 0;
#X connect 15 0 30 0;
#X connect 16 0 15 0;
#X connect 17 0 25 0;
#X connect 18 0 31 0;
#X connect 19 0 18 0;
#X connect 20 0 26 0;
#X connect 21 0 32 0;
#X connect 22 0 21 0;
#X connect 23 0 9 0;
#X connect 24 0 9 0;
#X connect 25 0 9 0;
#X connect 26 0 9 0;
#X connect 27 0 0 0;
#X connect 27 1 1 0;
#X connect 27 2 2 0;
#X connect 27 3 3 0;
#X connect 27 4 28 0;
#X connect 29 0 11 1;
#X connect 30 0 14 1;
#X connect 31 0 17 1;
#X connect 32 0 20 1;
#X connect 33 0 34 0;
#X connect 34 0 37 0;
#X connect 35 0 38 0;
#X connect 36 0 35 0;
#X connect 37 0 9 0;
#X connect 38 0 34 1;
-------------- next part --------------
#N canvas 387 554 499 189 12;
#X obj 4 19 cnv 5 128 150 empty empty \$1-Colour 5 8 145409 10 -233017
-128992 0;
#X obj 24 51 hsl 112 15 0 1 0 0 \$0-r \$0-s empty -2 -6 1728 8 -258699
-1 -1 11100 1;
#X obj 24 71 hsl 112 15 0 1 0 0 \$0-g \$0-s empty -2 -6 1728 8 -24198
-1 -1 11100 1;
#X obj 24 91 hsl 112 15 0 1 0 0 \$0-b \$0-s empty -2 -6 1728 8 -62784
-1 -1 11100 1;
#X obj 16 42 cnv 1 120 1 empty empty empty 20 12 0 14 -99865 -66577
0;
#X obj 16 134 cnv 1 120 1 empty empty empty 20 12 0 14 -99865 -66577
0;
#X obj 24 111 hsl 112 15 0 1 0 0 \$0-a \$0-s empty -2 -6 1728 8 -225280
-1 -1 11100 1;
#X obj 21 143 tgl 15 0 \$0-alpha \$0- Alpha_Blend 25 8 1729 8 -262144
-1 -33289 0 1;
#X obj 288 63 inlet;
#X obj 275 202 outlet;
#X obj 288 149 colorRGB;
#X obj 275 177 alpha;
#X obj 202 149 r \$0-alpha;
#N canvas 298 172 460 310 interp 0;
#X obj 18 136 outlet;
#X obj 130 135 outlet;
#X obj 241 134 outlet;
#X obj 18 102 smooth 0.8 10;
#X obj 220 22 r v_inter_spd;
#X obj 108 22 r v_inter_crv;
#X obj 130 102 smooth 0.8 10;
#X obj 241 102 smooth 0.8 10;
#X obj 18 72 r \$0-r;
#X obj 130 71 r \$0-g;
#X obj 241 69 r \$0-b;
#X obj 353 135 outlet;
#X obj 353 103 smooth 0.8 10;
#X obj 353 70 r \$0-a;
#X msg 17 206 1;
#X obj 17 229 s \$0-s;
#X obj 17 184 loadbang;
#X connect 3 0 0 0;
#X connect 4 0 3 2;
#X connect 4 0 6 2;
#X connect 4 0 7 2;
#X connect 4 0 12 2;
#X connect 5 0 3 1;
#X connect 5 0 6 1;
#X connect 5 0 7 1;
#X connect 5 0 12 1;
#X connect 6 0 1 0;
#X connect 7 0 2 0;
#X connect 8 0 3 0;
#X connect 9 0 6 0;
#X connect 10 0 7 0;
#X connect 12 0 11 0;
#X connect 13 0 12 0;
#X connect 14 0 15 0;
#X connect 16 0 14 0;
#X restore 302 100 pd interp;
#X obj 153 19 pdOSC \$1 poolname;
#X connect 1 0 14 0;
#X connect 2 0 14 1;
#X connect 3 0 14 2;
#X connect 6 0 14 3;
#X connect 7 0 14 4;
#X connect 8 0 10 0;
#X connect 10 0 11 0;
#X connect 11 0 9 0;
#X connect 12 0 11 0;
#X connect 13 0 10 1;
#X connect 13 1 10 2;
#X connect 13 2 10 3;
#X connect 13 3 10 4;
#X connect 14 0 1 0;
#X connect 14 1 2 0;
#X connect 14 2 3 0;
#X connect 14 3 6 0;
#X connect 14 4 7 0;
#X coords 0 0 1 1 131 174 1;
-------------- next part --------------
 , /v/r2/b , 0.72973
 , /v/r2/alpha , 1
 , /v/r2/g , 0.351351
 , /v/r2/r , 0.234234
 , /v/r2/a , 0.225225


More information about the Pd-list mailing list