Skip to content

Commit

Permalink
group trim
Browse files Browse the repository at this point in the history
  • Loading branch information
porres committed Feb 13, 2025
1 parent c57b329 commit 7a80ecc
Show file tree
Hide file tree
Showing 3 changed files with 55 additions and 109 deletions.
48 changes: 14 additions & 34 deletions Abstractions/Control/group.pd
Original file line number Diff line number Diff line change
Expand Up @@ -18,67 +18,48 @@
#X obj 111 236 r \$0-clear;
#X obj 195 271 route bang;
#X obj 259 295 list;
#N canvas 598 181 450 300 trim 0;
#X obj 149 41 inlet;
#X obj 155 193 outlet;
#X obj 189 81 r \$0-trim;
#X obj 187 142 list trim;
#X obj 152 111 else/router;
#X connect 0 0 4 0;
#X connect 2 0 4 1;
#X connect 3 0 1 0;
#X connect 4 0 1 0;
#X connect 4 1 3 0;
#X restore 252 320 pd trim;
#N canvas 762 23 484 357 set 0;
#N canvas 762 38 484 357 set 0;
#X obj 70 133 s \$0-clear;
#X obj 70 77 trigger bang float;
#X obj 193 321 outlet;
#X obj 70 24 inlet;
#X obj 193 143 max 0;
#X obj 287 275 s \$0-trim;
#X obj 291 184 route -trim float;
#X msg 215 114 0;
#X msg 287 249 1;
#X obj 224 72 else/lb 2;
#X obj 260 219 t a b;
#X obj 291 146 else/args -;
#X obj 291 184 route float;
#X obj 291 146 else/args;
#X connect 1 0 0 0;
#X connect 1 1 4 0;
#X connect 3 0 1 0;
#X connect 4 0 2 0;
#X connect 6 0 10 0;
#X connect 6 1 4 0;
#X connect 5 0 4 0;
#X connect 6 0 8 0;
#X connect 6 1 5 0;
#X connect 7 0 4 0;
#X connect 8 0 5 0;
#X connect 9 0 11 0;
#X connect 9 1 7 0;
#X connect 10 0 6 0;
#X connect 10 1 8 0;
#X connect 11 0 6 0;
#X connect 8 0 7 0;
#X restore 309 64 pd set;
#X text 401 173 Part of ELSE \; https://github.com/porres/pd-else;
#X text 403 154 Alexandre Torres Porres (2019);
#X obj 312 399 outlet;
#X obj 309 297 s \$0-stop;
#X obj 180 114 r \$0-stop;
#X connect 0 0 20 0;
#X connect 0 0 19 0;
#X connect 1 0 12 0;
#X connect 3 0 8 0;
#X connect 3 0 9 1;
#X connect 4 0 5 0;
#X connect 4 1 6 0;
#X connect 5 0 3 0;
#X connect 6 0 3 1;
#X connect 7 0 24 0;
#X connect 7 0 23 0;
#X connect 7 1 6 1;
#X connect 8 0 17 0;
#X connect 8 1 3 1;
#X connect 8 1 18 1;
#X connect 8 2 7 0;
#X connect 9 0 10 0;
#X connect 10 0 23 0;
#X connect 10 1 19 0;
#X connect 10 0 22 0;
#X connect 10 1 2 0;
#X connect 11 0 15 0;
#X connect 11 1 9 0;
#X connect 12 0 11 0;
Expand All @@ -87,8 +68,7 @@
#X connect 13 0 6 1;
#X connect 16 0 9 1;
#X connect 17 0 18 0;
#X connect 17 1 19 0;
#X connect 17 1 2 0;
#X connect 18 0 7 0;
#X connect 19 0 2 0;
#X connect 20 0 8 1;
#X connect 25 0 5 1;
#X connect 19 0 8 1;
#X connect 24 0 5 1;
2 changes: 1 addition & 1 deletion Abstractions/Merda/Modules/brane.m~-help.pd
Original file line number Diff line number Diff line change
Expand Up @@ -414,12 +414,12 @@
#X obj 119 469 outlet;
#X obj 302 56 cnv 15 45 18 empty empty (extra) 2 9 2 15 #9c9c9c #580000 0;
#X text 45 21 Messages can change every single GUI control of the abstraction. Some extra features are only possible via messages and are marked here as:, f 51;
#X text 44 83 Check bellow all message groups. The contrls will become clearer then..., f 51;
#X text 879 293 <-- Buffer time (min:sec | ms);
#X text 879 352 <-- Real Time (min:sec / ms);
#X text 879 379 <-- Player time (min:sec / ms);
#X text 879 330 <-- Target buffer in min.sec (relates to speed);
#X obj 352 190 else/brane.m~;
#X text 44 83 Check bellow all message groups. The controls will become clearer then..., f 51;
#X connect 0 0 7 0;
#X connect 1 0 7 0;
#X connect 2 0 7 0;
Expand Down
114 changes: 40 additions & 74 deletions Documentation/Help-files/group-help.pd
Original file line number Diff line number Diff line change
@@ -1,57 +1,37 @@
#N canvas 563 23 563 570 10;
#X obj 327 203 bng 15 250 50 0 empty empty empty 17 7 0 10 #dcdcdc
#000000 #000000;
#X obj 186 211 bng 20 250 50 0 empty empty empty 17 7 0 10 #dcdcdc
#000000 #000000;
#X obj 355 275 nbx 3 14 0 100 0 0 empty empty empty 0 -8 0 10 #dcdcdc
#000000 #000000 0 256;
#N canvas 563 38 563 546 10;
#X obj 327 203 bng 15 250 50 0 empty empty empty 17 7 0 10 #dcdcdc #000000 #000000;
#X obj 186 211 bng 20 250 50 0 empty empty empty 17 7 0 10 #dcdcdc #000000 #000000;
#X obj 355 275 nbx 3 14 0 100 0 0 empty empty empty 0 -8 0 10 #dcdcdc #000000 #000000 0 256;
#X text 395 273 group size;
#X floatatom 162 248 5 0 0 0 - - - 0;
#X text 122 214 remainder;
#X msg 217 201 list g h i j k;
#X msg 244 223 a b c d e f;
#X msg 114 248 clear;
#X obj 306 4 cnv 15 250 40 empty empty empty 12 13 0 18 #7c7c7c #e0e4dc
0;
#X obj 306 4 cnv 15 250 40 empty empty empty 12 13 0 18 #7c7c7c #e0e4dc 0;
#N canvas 382 141 749 319 (subpatch) 0;
#X coords 0 -1 1 1 252 42 2 100 100;
#X restore 305 3 pd;
#X obj 345 11 cnv 10 10 10 empty empty ELSE 0 15 2 30 #7c7c7c #e0e4dc
0;
#X obj 23 40 cnv 4 4 4 empty empty Group 0 28 2 18 #e0e0e0 #000000
0;
#X obj 458 11 cnv 10 10 10 empty empty EL 0 6 2 13 #7c7c7c #e0e4dc
0;
#X obj 478 11 cnv 10 10 10 empty empty Locus 0 6 2 13 #7c7c7c #e0e4dc
0;
#X obj 515 11 cnv 10 10 10 empty empty Solus' 0 6 2 13 #7c7c7c #e0e4dc
0;
#X obj 464 26 cnv 10 10 10 empty empty ELSE 0 6 2 13 #7c7c7c #e0e4dc
0;
#X obj 502 26 cnv 10 10 10 empty empty library 0 6 2 13 #7c7c7c #e0e4dc
0;
#X obj 77 40 cnv 4 4 4 empty empty messages 0 28 2 18 #e0e0e0 #000000
0;
#X obj 3 3 cnv 15 301 42 empty empty group 20 20 2 37 #e0e0e0 #000000
0;
#X obj 345 11 cnv 10 10 10 empty empty ELSE 0 15 2 30 #7c7c7c #e0e4dc 0;
#X obj 23 40 cnv 4 4 4 empty empty Group 0 28 2 18 #e0e0e0 #000000 0;
#X obj 458 11 cnv 10 10 10 empty empty EL 0 6 2 13 #7c7c7c #e0e4dc 0;
#X obj 478 11 cnv 10 10 10 empty empty Locus 0 6 2 13 #7c7c7c #e0e4dc 0;
#X obj 515 11 cnv 10 10 10 empty empty Solus' 0 6 2 13 #7c7c7c #e0e4dc 0;
#X obj 464 26 cnv 10 10 10 empty empty ELSE 0 6 2 13 #7c7c7c #e0e4dc 0;
#X obj 502 26 cnv 10 10 10 empty empty library 0 6 2 13 #7c7c7c #e0e4dc 0;
#X obj 77 40 cnv 4 4 4 empty empty messages 0 28 2 18 #e0e0e0 #000000 0;
#X obj 3 3 cnv 15 301 42 empty empty group 20 20 2 37 #e0e0e0 #000000 0;
#N canvas 0 22 450 278 (subpatch) 0;
#X coords 0 1 100 -1 302 42 1 0 0;
#X restore 3 3 graph;
#X obj 4 349 cnv 3 550 3 empty empty inlets 8 12 0 13 #dcdcdc #000000
0;
#X obj 4 432 cnv 3 550 3 empty empty outlets 8 12 0 13 #dcdcdc #000000
0;
#X obj 4 515 cnv 3 550 3 empty empty arguments 8 12 0 13 #dcdcdc #000000
0;
#X obj 117 441 cnv 17 3 17 empty empty 0 5 9 0 16 #dcdcdc #9c9c9c 0
;
#X obj 117 358 cnv 17 3 43 empty empty 0 5 9 0 16 #dcdcdc #9c9c9c 0
;
#X obj 4 543 cnv 15 552 21 empty empty empty 20 12 0 14 #e0e0e0 #202020
0;
#X obj 4 349 cnv 3 550 3 empty empty inlets 8 12 0 13 #dcdcdc #000000 0;
#X obj 4 432 cnv 3 550 3 empty empty outlets 8 12 0 13 #dcdcdc #000000 0;
#X obj 4 489 cnv 3 550 3 empty empty arguments 8 12 0 13 #dcdcdc #000000 0;
#X obj 117 441 cnv 17 3 17 empty empty 0 5 9 0 16 #dcdcdc #9c9c9c 0;
#X obj 117 358 cnv 17 3 43 empty empty 0 5 9 0 16 #dcdcdc #9c9c9c 0;
#X obj 4 517 cnv 15 552 21 empty empty empty 20 12 0 14 #e0e0e0 #202020 0;
#X text 171 371 bang;
#X obj 117 408 cnv 17 3 17 empty empty 1 5 9 0 16 #dcdcdc #9c9c9c 0
;
#X obj 117 408 cnv 17 3 17 empty empty 1 5 9 0 16 #dcdcdc #9c9c9c 0;
#X text 201 409 - calculate or output the last calculated value;
#X text 147 355 anything;
#X text 147 441 anything;
Expand All @@ -61,44 +41,30 @@
#X text 201 386 - clears the remainder, f 38;
#X text 165 409 float;
#X text 201 441 - the regrouped message;
#X text 167 524 1) float - group size (default 0);
#X obj 4 485 cnv 3 550 3 empty empty flags 8 12 0 13 #dcdcdc #000000
0;
#X text 147 494 -trim: trims selectors (list/symbol) on the output
;
#X text 167 498 1) float - group size (default 0);
#X obj 354 244 else/loop 13;
#X text 78 136 A bang message sends the remaining stored elements that
haven't reached the group size yet. So you can send a bang afterwards
to force an output. A group size of zero keeps regrouping indefinitely
until a bang is given., f 67;
#X text 78 136 A bang message sends the remaining stored elements that haven't reached the group size yet. So you can send a bang afterwards to force an output. A group size of zero keeps regrouping indefinitely until a bang is given., f 67;
#X obj 327 224 t b b;
#X obj 152 40 cnv 4 4 4 empty empty into 0 28 2 18 #e0e0e0 #000000
0;
#X obj 152 40 cnv 4 4 4 empty empty into 0 28 2 18 #e0e0e0 #000000 0;
#X obj 187 40 cnv 4 4 4 empty empty a 0 28 2 18 #e0e0e0 #000000 0;
#X obj 203 40 cnv 4 4 4 empty empty list 0 28 2 18 #e0e0e0 #000000
0;
#X text 78 87 [group] groups messages according to a group size. When
the input is smaller than the group size \, it needs to reach the group
size before it's sent out. If the input list is bigger than the group
size \, the remainder gets grouped in further lists., f 67;
#X obj 203 40 cnv 4 4 4 empty empty list 0 28 2 18 #e0e0e0 #000000 0;
#X text 78 87 [group] groups messages according to a group size. When the input is smaller than the group size \, it needs to reach the group size before it's sent out. If the input list is bigger than the group size \, the remainder gets grouped in further lists., f 67;
#X obj 244 298 else/group 2, f 19;
#X obj 244 323 print group;
#X obj 355 321 bng 17 250 50 0 empty empty empty 17 7 0 10 #dcdcdc
#000000 #000000;
#X obj 355 321 bng 17 250 50 0 empty empty empty 17 7 0 10 #dcdcdc #000000 #000000;
#X text 376 315 no remainder (group is empty), f 16;
#X obj 117 462 cnv 17 3 17 empty empty 1 5 9 0 16 #dcdcdc #9c9c9c 0
;
#X obj 117 462 cnv 17 3 17 empty empty 1 5 9 0 16 #dcdcdc #9c9c9c 0;
#X text 171 462 bang;
#X text 201 462 - when there's no remainder (group is empty);
#X connect 0 0 43 0;
#X connect 1 0 48 0;
#X connect 2 0 48 1;
#X connect 4 0 48 0;
#X connect 6 0 48 0;
#X connect 7 0 48 0;
#X connect 8 0 48 0;
#X connect 41 0 48 0;
#X connect 43 0 48 0;
#X connect 43 1 41 0;
#X connect 48 0 49 0;
#X connect 48 1 50 0;
#X connect 0 0 41 0;
#X connect 1 0 46 0;
#X connect 2 0 46 1;
#X connect 4 0 46 0;
#X connect 6 0 46 0;
#X connect 7 0 46 0;
#X connect 8 0 46 0;
#X connect 39 0 46 0;
#X connect 41 0 46 0;
#X connect 41 1 39 0;
#X connect 46 0 47 0;
#X connect 46 1 48 0;

0 comments on commit 7a80ecc

Please sign in to comment.