Skip to content

Commit 8a15b36

Browse files
committed
ls.circgroup added / v.0.2
1 parent 5cb9770 commit 8a15b36

8 files changed

+214
-5
lines changed

README.md

+3-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
`Planifolia` (from the second name of the orchid 'Vanilla planifolia') is a set of Pure Data abstractions designed to work without any compiled externals.
44

5-
The abstractions implement a series of useful operations like arbitrary unary and binary operations in lists and arrays, quicksort, logical operators to check equality of arbitrary datatypes, easy OSC formatting/routing, etc. It also comes with toggle-based matrix GUI (designed to work be compatible with `iemmatrix` objects) and a matrix based step sequencer with some non usual features (independent tempo, beat and duration patterns, col/row/colrow modes, nice colors, etc).
5+
The abstractions implement a series of useful operations like arbitrary unary and binary operations in lists and arrays, quicksort, logical operators to check equality of arbitrary datatypes, easy OSC formatting/routing, etc. It also comes with toggle-based matrix GUI (designed to work with `iemmatrix` objects) and a matrix based step sequencer with some non usual features (independent tempo, beat and duration patterns, col/row/colrow modes, nice colors, etc).
66

77
Some bugs may still be there... ;)
88

@@ -18,7 +18,8 @@ Some bugs may still be there... ;)
1818
| `[ls.butlast]` | list but the last element |
1919
| `[ls.choose]` | random choose an element of the list |
2020
| `[ls.getRotate]` | N rotated element of a list |
21-
| `[ls.group]` | groups elements into a list |
21+
`[ls.circgroup]` | groups elements into a circular list ||
22+
`[ls.group]` | groups elements into a list |
2223
| `[ls.iter]` | list iteration |
2324
| `[ls.last]` | last element of the list |
2425
| `[ls.max]` | greatest element of a list |

lastchange.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2021/sep/14
1+
2022/jul/11

ls.circgroup-help.pd

+56
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
#N canvas 947 23 806 639 12;
2+
#X obj 1 31 cnv 3 800 3 empty empty description 12 12 0 12 #7c7c7c
3+
#404040 0;
4+
#X obj 1 155 cnv 3 800 3 empty empty inlets 8 12 0 13 #dcdcdc #000000
5+
0;
6+
#X obj 83 161 cnv 18 3 17 empty empty 0 5 9 0 14 #dcdcdc #9c9c9c 0
7+
;
8+
#X obj 1 239 cnv 3 800 3 empty empty outlets 8 12 0 13 #dcdcdc #000000
9+
0;
10+
#X obj 83 245 cnv 18 3 17 empty empty 0 5 9 0 14 #dcdcdc #9c9c9c 0
11+
;
12+
#X obj 1 375 cnv 3 800 3 empty empty example 8 12 0 13 #dcdcdc #000000
13+
0;
14+
#X obj 1 325 cnv 3 800 3 empty empty arguments 8 12 0 13 #dcdcdc #000000
15+
0;
16+
#X obj 1 1 cnv 3 800 3 empty empty ls.circgroup 14 14 1 16 #7c7c7c
17+
#404040 0;
18+
#X obj 83 205 cnv 18 3 17 empty empty 1 5 9 0 14 #dcdcdc #9c9c9c 0
19+
;
20+
#X obj 26 427 until;
21+
#X msg 98 491 reset;
22+
#X obj 27 455 f;
23+
#X obj 56 455 + 1;
24+
#X msg 69 427 0;
25+
#X msg 26 405 30;
26+
#X floatatom 124 533 5 0 0 0 - - - 0;
27+
#X obj 27 586 print grouped;
28+
#X obj 27 558 ls.circgroup 7;
29+
#X text 104 205 float: new group size;
30+
#X text 105 245 list: list of grouped elements;
31+
#X text 90 457 generating some floats to group;
32+
#X text 85 341 \$1 float: group size;
33+
#X obj 621 40 plnf_version;
34+
#X text 32 52 groups incoming elements into lists as in a circular
35+
buffer;
36+
#X text 106 161 float: elements to group;
37+
#X text 106 181 reset: resets the object;
38+
#X text 167 533 change group size (reset if you need!);
39+
#X obj 83 270 cnv 18 3 17 empty empty 1 5 9 0 14 #dcdcdc #9c9c9c 0
40+
;
41+
#X text 104 270 1/0: 1 - current list length is smaller than max list
42+
length;
43+
#X text 139 285 0 - current list length reached the max list length
44+
(oldest elements will be discarded from the list tail);
45+
#X text 32 76 new elements are prepended to the output list \; when
46+
the list length is greater than the group argument \, the last (oldest)
47+
element is discarded from the list.;
48+
#X connect 9 0 11 0;
49+
#X connect 10 0 17 0;
50+
#X connect 11 0 12 0;
51+
#X connect 11 0 17 0;
52+
#X connect 12 0 11 1;
53+
#X connect 13 0 11 1;
54+
#X connect 14 0 9 0;
55+
#X connect 15 0 17 1;
56+
#X connect 17 0 16 0;

ls.circgroup.pd

+96
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
#N canvas 0 0 940 674 12;
2+
#X obj 164 212 list;
3+
#X obj 294 260 list length;
4+
#X obj 164 235 t a a;
5+
#X obj 164 400 spigot;
6+
#X obj 162 433 t a a;
7+
#X obj 294 310 sel 0;
8+
#X obj 294 335 t b;
9+
#X obj 294 285 <= 8;
10+
#X obj 294 389 list split 7;
11+
#X obj 164 122 t f f;
12+
#X obj 280 113 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc
13+
#000000 #000000;
14+
#X obj 294 364 list, f 10;
15+
#X obj 294 537 list;
16+
#X obj 294 455 f;
17+
#X obj 294 415 t b a;
18+
#X obj 189 169 r \$0_l1_r;
19+
#X obj 191 458 s \$0_l1_r;
20+
#X obj 294 564 s \$0_l1_r;
21+
#X obj 280 133 s \$0_reset;
22+
#X obj 176 146 r \$0_reset;
23+
#X obj 361 334 r \$0_reset;
24+
#X obj 206 120 s \$0_f;
25+
#X obj 323 455 r \$0_f;
26+
#X obj 330 506 r \$0_reset;
27+
#X obj 372 364 r \$0_l1_r;
28+
#X obj 338 415 s \$0_l3_r;
29+
#X obj 319 484 r \$0_l3_r;
30+
#X obj 172 618 outlet;
31+
#X obj 164 48 inlet;
32+
#X obj 564 233 loadbang;
33+
#X obj 564 258 f \$1;
34+
#X obj 564 283 t f f;
35+
#X obj 546 338 > 0;
36+
#X obj 618 338 f;
37+
#X obj 546 363 sel 1 0;
38+
#X msg 569 387 10;
39+
#X obj 618 363 s \$0_size;
40+
#X obj 329 285 r \$0_size;
41+
#X obj 457 406 r \$0_size;
42+
#X obj 457 431 - 1;
43+
#X obj 618 54 inlet;
44+
#X obj 164 73 route float bang reset;
45+
#X obj 169 562 route bang;
46+
#X obj 372 618 outlet;
47+
#X connect 0 0 2 0;
48+
#X connect 1 0 7 0;
49+
#X connect 2 0 3 0;
50+
#X connect 2 1 1 0;
51+
#X connect 3 0 4 0;
52+
#X connect 4 0 42 0;
53+
#X connect 4 1 16 0;
54+
#X connect 5 0 6 0;
55+
#X connect 6 0 11 0;
56+
#X connect 7 0 3 1;
57+
#X connect 7 0 5 0;
58+
#X connect 7 0 43 0;
59+
#X connect 8 0 14 0;
60+
#X connect 9 0 0 0;
61+
#X connect 9 1 21 0;
62+
#X connect 10 0 18 0;
63+
#X connect 11 0 8 0;
64+
#X connect 12 0 17 0;
65+
#X connect 12 0 42 0;
66+
#X connect 13 0 12 0;
67+
#X connect 14 0 13 0;
68+
#X connect 14 1 25 0;
69+
#X connect 15 0 0 1;
70+
#X connect 19 0 0 1;
71+
#X connect 19 0 0 0;
72+
#X connect 20 0 11 1;
73+
#X connect 20 0 11 0;
74+
#X connect 22 0 13 1;
75+
#X connect 23 0 12 1;
76+
#X connect 23 0 12 0;
77+
#X connect 24 0 11 1;
78+
#X connect 26 0 12 1;
79+
#X connect 28 0 41 0;
80+
#X connect 29 0 30 0;
81+
#X connect 30 0 31 0;
82+
#X connect 31 0 32 0;
83+
#X connect 31 1 33 1;
84+
#X connect 32 0 34 0;
85+
#X connect 33 0 36 0;
86+
#X connect 34 0 33 0;
87+
#X connect 34 1 35 0;
88+
#X connect 35 0 33 0;
89+
#X connect 37 0 7 1;
90+
#X connect 38 0 39 0;
91+
#X connect 39 0 8 1;
92+
#X connect 40 0 33 0;
93+
#X connect 41 0 9 0;
94+
#X connect 41 1 10 0;
95+
#X connect 41 2 10 0;
96+
#X connect 42 1 27 0;

ls.sum.pd

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
#N canvas 0 23 1170 780 12;
2+
#X obj 136 171 list length;
3+
#X obj 135 298 list store;
4+
#X obj 136 224 until;
5+
#X obj 136 248 f;
6+
#X obj 166 248 + 1;
7+
#X msg 212 223 0;
8+
#X msg 135 275 get \$1 1;
9+
#X obj 116 373 f;
10+
#X obj 117 144 t b l l b;
11+
#X obj 135 324 + 0;
12+
#X obj 135 348 t f f;
13+
#X obj 32 21 inlet;
14+
#X obj 32 45 route list bang;
15+
#X obj 32 68 t b l;
16+
#X obj 117 121 list store;
17+
#X obj 244 50 pdcontrol;
18+
#X msg 184 50 args 0;
19+
#X obj 184 28 loadbang;
20+
#X obj 184 72 t l l;
21+
#X obj 226 72 list length;
22+
#X obj 236 96 > 0;
23+
#X obj 184 95 spigot;
24+
#X obj 116 420 outlet;
25+
#X connect 0 0 2 0;
26+
#X connect 1 0 9 0;
27+
#X connect 2 0 3 0;
28+
#X connect 3 0 4 0;
29+
#X connect 3 0 6 0;
30+
#X connect 4 0 3 1;
31+
#X connect 5 0 3 1;
32+
#X connect 5 0 9 1;
33+
#X connect 6 0 1 0;
34+
#X connect 7 0 22 0;
35+
#X connect 8 0 7 0;
36+
#X connect 8 1 0 0;
37+
#X connect 8 2 1 1;
38+
#X connect 8 3 5 0;
39+
#X connect 9 0 10 0;
40+
#X connect 10 0 9 1;
41+
#X connect 10 1 7 1;
42+
#X connect 11 0 12 0;
43+
#X connect 12 0 13 0;
44+
#X connect 12 1 14 0;
45+
#X connect 13 0 14 0;
46+
#X connect 13 1 14 1;
47+
#X connect 14 0 8 0;
48+
#X connect 15 0 18 0;
49+
#X connect 16 0 15 0;
50+
#X connect 17 0 16 0;
51+
#X connect 18 0 21 0;
52+
#X connect 18 1 19 0;
53+
#X connect 19 0 20 0;
54+
#X connect 20 0 21 1;
55+
#X connect 21 0 14 1;

objlist.txt

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ ls.binop binary operations in list
66
ls.butlast list but the last element
77
ls.choose random choose an element of the list
88
ls.getRotate N rotated element of a list
9+
ls.circgroup groups elements into a circular list
910
ls.group groups elements into a list
1011
ls.iter list iteration
1112
ls.last last element of the list

pdversion.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.51-4
1+
0.52.2

planifoliaversion.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.1
1+
0.2

0 commit comments

Comments
 (0)