list-sort.pd 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. #N canvas 422 43 782 540 10;
  2. #X obj 129 310 list split 1;
  3. #X obj 57 266 list-len;
  4. #X obj 163 331 list split 1;
  5. #X obj 129 373 list append;
  6. #X obj 57 347 list;
  7. #X obj 57 287 > 0;
  8. #X obj 150 472 outlet;
  9. #X obj 57 308 sel 1 0;
  10. #X obj 163 49 inlet;
  11. #X text 55 513 2008 Michal Seta;
  12. #X obj 233 393 list prepend;
  13. #X obj 150 450 list append;
  14. #X obj 452 140 loadbang;
  15. #X obj 387 52 inlet;
  16. #N canvas 0 0 552 424 mux 0;
  17. #X obj 40 52 inlet;
  18. #X obj 153 52 inlet;
  19. #X obj 255 49 inlet;
  20. #X obj 40 266 spigot 1;
  21. #X obj 153 266 spigot;
  22. #X obj 255 223 unpack 0 0;
  23. #X msg 255 177 1 0;
  24. #X msg 306 195 0 1;
  25. #X obj 357 92 select 0;
  26. #X obj 255 70 select asc desc;
  27. #X obj 40 317 outlet;
  28. #X connect 0 0 3 0;
  29. #X connect 1 0 4 0;
  30. #X connect 2 0 9 0;
  31. #X connect 3 0 10 0;
  32. #X connect 4 0 10 0;
  33. #X connect 5 0 3 1;
  34. #X connect 5 1 4 1;
  35. #X connect 6 0 5 0;
  36. #X connect 7 0 5 0;
  37. #X connect 8 0 6 0;
  38. #X connect 8 1 7 0;
  39. #X connect 9 0 6 0;
  40. #X connect 9 1 7 0;
  41. #X connect 9 2 8 0;
  42. #X restore 200 252 pd mux;
  43. #X obj 387 201 list append \$1;
  44. #X obj 387 171 t b a;
  45. #X obj 330 392 t a;
  46. #X obj 163 163 t a a a a b;
  47. #X obj 163 120 t a b;
  48. #X text 292 283 [list-sort] sort an incoming list of numerical values
  49. in an ascending or descending order;
  50. #N canvas 294 34 842 735 minmaxpos 0;
  51. #X obj 128 97 list-drip;
  52. #X obj 128 120 route float;
  53. #X obj 159 256 f;
  54. #X obj 106 664 outlet;
  55. #X obj 165 639 f;
  56. #X obj 165 666 outlet;
  57. #X obj 106 575 t b b;
  58. #X obj 106 10 inlet;
  59. #X obj 106 636 f;
  60. #N canvas 0 0 450 300 once 0;
  61. #X obj 110 75 inlet;
  62. #X obj 105 187 spigot 1;
  63. #X obj 110 104 t b f;
  64. #X msg 125 151 0;
  65. #X msg 165 99 1;
  66. #X obj 165 63 inlet;
  67. #X obj 102 219 outlet;
  68. #X connect 0 0 2 0;
  69. #X connect 1 0 6 0;
  70. #X connect 2 0 3 0;
  71. #X connect 2 1 1 0;
  72. #X connect 3 0 1 1;
  73. #X connect 4 0 1 1;
  74. #X connect 5 0 4 0;
  75. #X restore 262 183 pd once;
  76. #X obj 275 258 f;
  77. #X obj 244 257 max;
  78. #X obj 128 256 min;
  79. #X text 323 183 prime [min] and [max] with first item once;
  80. #N canvas 0 0 450 300 count 0;
  81. #X obj 120 148 f 0;
  82. #X obj 148 149 + 1;
  83. #X obj 163 100 0;
  84. #X obj 117 24 inlet;
  85. #X obj 119 176 outlet;
  86. #X obj 181 25 inlet;
  87. #X obj 114 47 b;
  88. #X connect 0 0 1 0;
  89. #X connect 0 0 4 0;
  90. #X connect 1 0 0 1;
  91. #X connect 2 0 0 1;
  92. #X connect 3 0 6 0;
  93. #X connect 5 0 2 0;
  94. #X connect 6 0 0 0;
  95. #X restore 168 371 pd count;
  96. #X obj 128 470 change;
  97. #X obj 244 472 change;
  98. #X obj 128 527 f;
  99. #X obj 244 525 f;
  100. #X obj 128 495 b;
  101. #X obj 244 496 b;
  102. #X msg 429 356 set \$1;
  103. #X msg 601 357 0;
  104. #X obj 106 30 t b a b b;
  105. #X obj 128 150 t a a b a;
  106. #X text 637 358 reset positions;
  107. #X text 483 356 set change;
  108. #X text 302 475 if min or max changes \, store the new positions.;
  109. #X text 227 24 output positions of min and max float in a list (zero-based)
  110. ;
  111. #X connect 0 0 1 0;
  112. #X connect 1 0 24 0;
  113. #X connect 2 0 12 1;
  114. #X connect 4 0 5 0;
  115. #X connect 6 0 8 0;
  116. #X connect 6 1 4 0;
  117. #X connect 7 0 23 0;
  118. #X connect 8 0 3 0;
  119. #X connect 9 0 11 1;
  120. #X connect 9 0 12 1;
  121. #X connect 9 0 21 0;
  122. #X connect 9 0 22 0;
  123. #X connect 10 0 11 1;
  124. #X connect 11 0 10 0;
  125. #X connect 11 0 16 0;
  126. #X connect 12 0 2 0;
  127. #X connect 12 0 15 0;
  128. #X connect 14 0 18 1;
  129. #X connect 14 0 17 1;
  130. #X connect 15 0 19 0;
  131. #X connect 16 0 20 0;
  132. #X connect 17 0 8 1;
  133. #X connect 18 0 4 1;
  134. #X connect 19 0 17 0;
  135. #X connect 20 0 18 0;
  136. #X connect 21 0 16 0;
  137. #X connect 21 0 15 0;
  138. #X connect 22 0 4 1;
  139. #X connect 22 0 8 1;
  140. #X connect 23 0 6 0;
  141. #X connect 23 1 0 0;
  142. #X connect 23 2 14 1;
  143. #X connect 23 3 9 1;
  144. #X connect 24 0 12 0;
  145. #X connect 24 1 11 0;
  146. #X connect 24 2 14 0;
  147. #X connect 24 3 9 0;
  148. #X restore 200 215 pd minmaxpos;
  149. #X obj 163 86 list-filter;
  150. #N canvas 0 0 677 293 checknum 0;
  151. #X obj 131 95 route float;
  152. #X msg 131 116 1;
  153. #X obj 205 149 print;
  154. #X msg 205 119 list-sort: Warning: dropped a non-number from list;
  155. #X obj 131 70 inlet;
  156. #X obj 131 149 outlet;
  157. #X connect 0 0 1 0;
  158. #X connect 0 1 3 0;
  159. #X connect 1 0 5 0;
  160. #X connect 3 0 2 0;
  161. #X connect 4 0 0 0;
  162. #X restore 252 86 pd checknum;
  163. #X connect 0 0 3 0;
  164. #X connect 0 1 2 0;
  165. #X connect 1 0 5 0;
  166. #X connect 2 0 10 0;
  167. #X connect 2 1 3 1;
  168. #X connect 3 0 4 1;
  169. #X connect 4 0 18 0;
  170. #X connect 5 0 7 0;
  171. #X connect 7 0 4 0;
  172. #X connect 7 1 11 0;
  173. #X connect 8 0 22 0;
  174. #X connect 10 0 11 1;
  175. #X connect 10 0 17 0;
  176. #X connect 11 0 6 0;
  177. #X connect 12 0 15 0;
  178. #X connect 13 0 16 0;
  179. #X connect 14 0 0 1;
  180. #X connect 15 0 14 2;
  181. #X connect 16 0 15 0;
  182. #X connect 16 1 15 1;
  183. #X connect 17 0 10 1;
  184. #X connect 18 0 1 0;
  185. #X connect 18 1 0 0;
  186. #X connect 18 2 21 0;
  187. #X connect 19 0 18 0;
  188. #X connect 19 1 10 1;
  189. #X connect 21 0 14 0;
  190. #X connect 21 1 14 1;
  191. #X connect 22 0 19 0;
  192. #X connect 22 1 23 0;
  193. #X connect 23 0 22 1;