From 67cb498b618d98fbd13f46491ba4059ba395ad85 Mon Sep 17 00:00:00 2001 From: Ivica Ico Bukvic <ico@vt.edu> Date: Sun, 9 Dec 2012 12:22:26 -0500 Subject: [PATCH] reworked how default hub and node now are given context via null global symbol s_ to make things more streamlined. --- pd/doc/5.reference/preset_hub-help.pd | 103 +++++++++++++------------ pd/doc/5.reference/preset_node-help.pd | 86 +++++++++++---------- pd/src/x_preset.c | 9 ++- 3 files changed, 106 insertions(+), 92 deletions(-) diff --git a/pd/doc/5.reference/preset_hub-help.pd b/pd/doc/5.reference/preset_hub-help.pd index 2d2fcf854..eab69bced 100644 --- a/pd/doc/5.reference/preset_hub-help.pd +++ b/pd/doc/5.reference/preset_hub-help.pd @@ -1,5 +1,7 @@ #N canvas 138 24 555 517 10; -#X obj 183 295 cnv 15 44 27 empty empty empty 20 12 0 14 -204280 -66577 +#X obj 109 282 cnv 15 60 39 empty empty empty 20 12 0 14 -261234 -66577 +0; +#X obj 183 294 cnv 15 44 27 empty empty empty 20 12 0 14 -204280 -66577 0; #X obj 0 595 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0 14 -228856 -66577 0; @@ -40,21 +42,16 @@ to conform to the PDDP template for Pd version 0.42.; 0 15 %node% 1 10 %preset% 1 2.24 nlah 1 %preset% 0 a b c 4 3 2 1 %node% 3 13 0 0 %preset% 1 1.02 %preset% 0 0.01 %node% 2 20 0 %preset% 1 two %preset% 0 zero %node% 1 25 %node% 2 44 0 %node% 1 48 %node% 3 73 0 -0 %node% 2 54 0 %node% 1 20 %preset% 1 99 %preset% 2 23 %preset% 3 -1001 %preset% 0 3 %node% 2 36 1 %preset% 1 problems %preset% 2 skidoo -%preset% 3 nights %preset% 0 stooges %node% 1 39 %node% 2 45 0; +0 %node% 2 54 0 %node% 1 21 %preset% 1 99 %preset% 2 23 %preset% 3 +1001 %preset% 0 3 %node% 2 31 1 %preset% 1 problems %preset% 2 skidoo +%preset% 3 nights %preset% 0 stooges %node% 1 33 %node% 2 39 0 %node% +1 65; #X msg 80 125 store \$1; #X msg 80 74 recall \$1; #X msg 30 73 purge; #X msg 20 51 reset; #X msg 80 174 clear \$1; #X obj 20 231 print hub_test_says; -#X obj 188 271 preset_node test; -#X floatatom 188 300 5 0 0 0 - - -; -#X msg 197 238 purge; -#X msg 188 216 reset; -#X msg 248 237 clearall \$1; -#X floatatom 248 216 5 0 0 0 - - -; #X obj 376 50 cnv 15 159 290 empty empty empty 20 12 0 14 -228856 -66577 0; #X msg 447 139 store \$1; @@ -68,11 +65,10 @@ to conform to the PDDP template for Pd version 0.42.; 24 0 %node% 1 26 %node% 3 14 0 3 %preset% 0 -17 %preset% 1 382 %preset% 2 1234 %node% 1 25 %preset% 0 -4 %preset% 1 54 %preset% 2 -999 %node% 3 2 0 3 %node% 1 6 %node% 3 1 0 3 %node% 1 5 %node% 1 23 %node% 1 45 -%node% 3 73 0 3 %node% 2 54 2 %node% 1 37 %node% 2 45 2; +%node% 3 73 0 3 %node% 2 54 2 %node% 1 32 %node% 2 39 2; #X obj 386 244 print hub_another_says; #X obj 20 268 hub_node_abs; #X obj 386 270 preset_node another; -#X obj 237 300 print middle_node; #X obj 188 51 preset_node test; #X obj 188 135 list; #X msg 226 71 aaa 32 1; @@ -89,11 +85,10 @@ to conform to the PDDP template for Pd version 0.42.; #X connect 1 0 0 0; #X connect 2 0 3 0; #X connect 3 0 2 0; -#X restore 119 268 pd sub; +#X restore 119 292 pd sub; #X text 98 418 reset; #X text 99 472 anything; -#X obj 474 3 preset_hub default %hidden% %node% 2 9 1; -#X obj 430 21 pddp/pddplink http://wiki.puredata.info/en/preset_hub +#X obj 425 21 pddp/pddplink http://wiki.puredata.info/en/preset_hub -text pdpedia: preset_hub; #X text 99 376 purge; #X text 98 397 recall; @@ -141,36 +136,48 @@ same canvas as the abstraction:; #X text 168 356 - clears preset n for all nodes; #X text 171 515 - OPTIONAL context for this preset (defaults to "default") ; -#X connect 13 0 19 0; -#X connect 14 0 13 0; -#X connect 15 0 13 0; -#X connect 16 0 13 0; -#X connect 17 0 13 0; -#X connect 18 0 13 0; -#X connect 20 0 21 0; -#X connect 20 0 38 0; -#X connect 21 0 20 0; -#X connect 22 0 20 0; -#X connect 23 0 20 0; -#X connect 24 0 20 0; -#X connect 25 0 24 0; -#X connect 27 0 34 0; -#X connect 28 0 34 0; -#X connect 29 0 27 0; -#X connect 30 0 34 0; -#X connect 31 0 34 0; -#X connect 32 0 34 0; -#X connect 33 0 32 0; -#X connect 34 0 35 0; -#X connect 37 0 55 0; -#X connect 39 0 40 0; -#X connect 40 0 39 0; -#X connect 40 0 43 0; -#X connect 41 0 40 0; -#X connect 42 0 40 0; -#X connect 44 0 40 0; -#X connect 55 0 37 0; -#X connect 56 0 15 0; -#X connect 57 0 14 0; -#X connect 58 0 18 0; -#X connect 59 0 28 0; +#X obj 479 3 preset_hub %hidden% %hidden%; +#X obj 189 271 preset_node test; +#X floatatom 189 299 5 0 0 0 - - -; +#X msg 198 211 purge; +#X msg 189 189 reset; +#X msg 249 210 clearall \$1; +#X floatatom 249 189 5 0 0 0 - - -; +#X obj 233 300 print middle_node; +#X msg 232 244 set another; +#X msg 311 244 set test; +#X connect 14 0 20 0; +#X connect 15 0 14 0; +#X connect 16 0 14 0; +#X connect 17 0 14 0; +#X connect 18 0 14 0; +#X connect 19 0 14 0; +#X connect 22 0 29 0; +#X connect 23 0 29 0; +#X connect 24 0 22 0; +#X connect 25 0 29 0; +#X connect 26 0 29 0; +#X connect 27 0 29 0; +#X connect 28 0 27 0; +#X connect 29 0 30 0; +#X connect 32 0 48 0; +#X connect 33 0 34 0; +#X connect 34 0 33 0; +#X connect 34 0 37 0; +#X connect 35 0 34 0; +#X connect 36 0 34 0; +#X connect 38 0 34 0; +#X connect 48 0 32 0; +#X connect 49 0 16 0; +#X connect 50 0 15 0; +#X connect 51 0 19 0; +#X connect 52 0 23 0; +#X connect 65 0 66 0; +#X connect 65 0 71 0; +#X connect 66 0 65 0; +#X connect 67 0 65 0; +#X connect 68 0 65 0; +#X connect 69 0 65 0; +#X connect 70 0 69 0; +#X connect 72 0 65 0; +#X connect 73 0 65 0; diff --git a/pd/doc/5.reference/preset_node-help.pd b/pd/doc/5.reference/preset_node-help.pd index 6fc792e50..937589d9d 100644 --- a/pd/doc/5.reference/preset_node-help.pd +++ b/pd/doc/5.reference/preset_node-help.pd @@ -1,5 +1,7 @@ #N canvas 438 24 555 517 10; -#X obj 113 279 cnv 15 60 39 empty empty empty 20 12 0 14 -261234 -66577 +#X obj 180 291 cnv 15 44 27 empty empty empty 20 12 0 14 -204280 -66577 +0; +#X obj 107 279 cnv 15 60 39 empty empty empty 20 12 0 14 -261234 -66577 0; #X obj 0 655 cnv 15 552 21 empty \$0-pddp.cnv.footer empty 20 12 0 14 -228856 -66577 0; @@ -43,7 +45,7 @@ to conform to the PDDP template for Pd version 0.42.; 0 15 %node% 1 10 %preset% 1 2.24 nlah 1 %preset% 0 a b c 4 3 2 1 %node% 3 13 0 0 %preset% 1 1.02 %preset% 0 0.01 %node% 2 20 0 %preset% 1 two %preset% 0 zero %node% 1 27 %node% 2 46 0 %node% 1 48 %node% 3 73 0 -0 %node% 2 54 0 %node% 2 44 1 %node% 1 25 %node% 2 42 1 %node% 1 46 +0 %node% 2 54 0 %node% 2 44 1 %node% 1 26 %node% 2 43 1 %node% 1 46 %node% 2 52 0; #X msg 80 74 store \$1; #X msg 80 124 recall \$1; @@ -54,12 +56,12 @@ to conform to the PDDP template for Pd version 0.42.; #X msg 81 174 clear \$1; #X floatatom 81 150 5 0 0 0 - - -; #X obj 20 231 print hub_test_says; -#X obj 188 279 preset_node test; -#X floatatom 188 302 5 0 0 0 - - -; -#X msg 197 213 purge; -#X msg 188 191 reset; -#X msg 248 212 clearall \$1; -#X floatatom 248 191 5 0 0 0 - - -; +#X obj 186 267 preset_node test; +#X floatatom 186 295 5 0 0 0 - - -; +#X msg 195 213 purge; +#X msg 186 191 reset; +#X msg 246 212 clearall \$1; +#X floatatom 246 191 5 0 0 0 - - -; #X obj 376 50 cnv 15 156 279 empty empty empty 20 12 0 14 -233017 -66577 0; #X msg 447 83 store \$1; @@ -74,12 +76,11 @@ to conform to the PDDP template for Pd version 0.42.; 24 0 %node% 1 26 %node% 3 14 0 3 %preset% 0 -17 %preset% 1 382 %preset% 2 1234 %node% 1 25 %preset% 0 -4 %preset% 1 54 %preset% 2 -999 %node% 3 2 0 3 %node% 1 6 %node% 3 1 0 3 %node% 1 5 %node% 1 23 %node% 1 45 -%node% 3 73 0 3 %node% 2 54 2 %node% 1 43 %node% 2 52 2; +%node% 3 73 0 3 %node% 2 54 2 %node% 1 44 %node% 2 52 2; #X obj 386 244 print hub_another_says; #X obj 20 263 hub_node_abs; -#X obj 386 276 preset_node another; -#X floatatom 386 298 5 0 0 0 - - -; -#X obj 227 302 print middle_node; +#X obj 386 270 preset_node another; +#X obj 231 295 print middle_node; #X obj 185 55 preset_node test; #X obj 185 139 list; #X msg 223 75 aaa 32 1; @@ -96,7 +97,7 @@ to conform to the PDDP template for Pd version 0.42.; #X connect 1 0 0 0; #X connect 2 0 3 0; #X connect 3 0 2 0; -#X restore 123 289 pd sub; +#X restore 117 289 pd sub; #X text 98 366 clearall; #X text 99 386 purge; #X text 99 502 anything; @@ -147,40 +148,43 @@ hub); ; #X text 98 447 set; #X text 168 447 - change context (hub) node is paired with; -#X msg 231 246 set another; -#X msg 310 246 set test; -#X connect 15 0 24 0; -#X connect 16 0 15 0; -#X connect 17 0 15 0; +#X msg 229 242 set another; +#X msg 308 242 set test; +#X obj 380 293 cnv 15 44 27 empty empty empty 20 12 0 14 -204280 -66577 +0; +#X floatatom 386 298 5 0 0 0 - - -; +#X connect 16 0 25 0; +#X connect 17 0 16 0; #X connect 18 0 16 0; #X connect 19 0 17 0; -#X connect 20 0 15 0; -#X connect 21 0 15 0; -#X connect 22 0 15 0; -#X connect 23 0 22 0; -#X connect 25 0 26 0; -#X connect 25 0 45 0; -#X connect 26 0 25 0; -#X connect 27 0 25 0; -#X connect 28 0 25 0; -#X connect 29 0 25 0; -#X connect 30 0 29 0; -#X connect 32 0 40 0; -#X connect 33 0 40 0; -#X connect 34 0 32 0; +#X connect 20 0 18 0; +#X connect 21 0 16 0; +#X connect 22 0 16 0; +#X connect 23 0 16 0; +#X connect 24 0 23 0; +#X connect 26 0 27 0; +#X connect 26 0 45 0; +#X connect 27 0 26 0; +#X connect 28 0 26 0; +#X connect 29 0 26 0; +#X connect 30 0 26 0; +#X connect 31 0 30 0; +#X connect 33 0 41 0; +#X connect 34 0 41 0; #X connect 35 0 33 0; -#X connect 36 0 40 0; -#X connect 37 0 40 0; -#X connect 38 0 40 0; -#X connect 39 0 38 0; -#X connect 40 0 41 0; -#X connect 43 0 44 0; -#X connect 44 0 43 0; +#X connect 36 0 34 0; +#X connect 37 0 41 0; +#X connect 38 0 41 0; +#X connect 39 0 41 0; +#X connect 40 0 39 0; +#X connect 41 0 42 0; +#X connect 44 0 77 0; #X connect 46 0 47 0; #X connect 47 0 46 0; #X connect 47 0 50 0; #X connect 48 0 47 0; #X connect 49 0 47 0; #X connect 51 0 47 0; -#X connect 74 0 25 0; -#X connect 75 0 25 0; +#X connect 74 0 26 0; +#X connect 75 0 26 0; +#X connect 77 0 44 0; diff --git a/pd/src/x_preset.c b/pd/src/x_preset.c index 3564b96bf..23a48183c 100644 --- a/pd/src/x_preset.c +++ b/pd/src/x_preset.c @@ -547,7 +547,10 @@ static void preset_node_set(t_preset_node *x, t_symbol *s) { if(PH_DEBUG) fprintf(stderr,"preset_node_set %s\n", s->s_name); - x->pn_hub_name = s; + if (!strcmp(s->s_name, "default")) + x->pn_hub_name = &s_; + else + x->pn_hub_name = s; if (x->pn_hub) { preset_hub_delete_a_node(x->pn_hub, x); @@ -573,7 +576,7 @@ static void *preset_node_new(t_symbol *s, int argc, t_atom *argv) // read creation arguments and substitute "default" for objects without optional arguments if (!(argc > 0 && argv[0].a_type == A_SYMBOL)) - x->pn_hub_name = gensym("default"); + x->pn_hub_name = &s_; else x->pn_hub_name = (t_symbol *)atom_getsymbol(&argv[0]); @@ -1165,7 +1168,7 @@ static void *preset_hub_new(t_symbol *s, int argc, t_atom *argv) // read creation arguments and substitute "default" for objects without optional arguments if (!(argc > 0 && argv[0].a_type == A_SYMBOL)) - name = gensym("default"); + name = &s_; else name = (t_symbol *)atom_getsymbol(&argv[0]); -- GitLab